Irgendwie bekomme ich es nicht zum Laufen! Nachdem ich eine Zahl eingeben soll, blinkt kurz ein schwarzes Fenster auf und das war's.
Gruß,
UEZ
Irgendwie bekomme ich es nicht zum Laufen! Nachdem ich eine Zahl eingeben soll, blinkt kurz ein schwarzes Fenster auf und das war's.
Gruß,
UEZ
Probiere es mal damit:
[autoit]
#include <Array.au3>
$file = FileRead(@ScriptDir & "\test.txt")
$aTemp = StringRegExp($file, ".*>(\d+)<.*", 3)
_ArrayDisplay($aTemp)
Gruß,
UEZ
Ich musste einige AD Tools für die Firma skripten und dachte mir, dass sie auch für andere von Nutzen sein könnten:
Hier eine Beschreibung der Tools, allerdings in Englisch. Wenn ich Zeit finde, werde ich den Text ins Deutsche übersetzen.
Short information about the AD tools
The delimiter character within the text file of all tools listed below is always the pipe char '|'.
OUs are usually in distinguished name format, User IDs in sAM account name format.
Each tool creates its own log file where you can read more detail about it.
If log file exceeds the 10MB size limit a new log file created and the old log file will be renamed to
YYYYMMDDHHMMSS_.au3 whereas the YYYYMMDDHHMMSS is the last modified
date stamp of the file.
1. AD Computer Account Creator.au3
creates computer accounts in AD.
You have to load a text file with following content: : |
Example:
Computer4|OU=Computers,OU=VM,DC=UEZ,DC=local
Computer5|OU=Computers,OU=VM,DC=UEZ,DC=local
Computer6|OU=Computers,OU=VM,DC=UEZ,DC=local
Computer7|OU=Computers,OU=VM,DC=UEZ,DC=local
Computer8|OU=Computers,OU=VM,DC=UEZ,DC=local
Computer9|OU=Computers,OU=VM,DC=UEZ,DC=local
Computer10|OU=Computers,OU=VM,DC=UEZ,DC=local
2. AD Object Mover.au3
move an object from source OU to a destination OU.
You have to load a text file with following content: |
Example:
Computer10$|OU=Computers,OU=Win7,DC=UEZ,DC=local
Test1|OU=Users,OU=Win7,DC=UEZ,DC=local
Remark: if you want to move a computer account don't forget the $ at the end of the computer name!
3. AD User Account Creator.au3
creates user id accounts in AD at specified OU.
You have to load a text file with following content: ||||||||||
The tokens marked in red are mandatory. Also you must enter a default password with minimum of 8 characters length to proceed!
The flag "User must change password..." will be set automatically.
Example:
uez|OU=Users,OU=Win7,DC=UEZ,DC=local|First Name|Last Name|+49123456789|City|Street
4. AD User ID Attribute Remover.au3
removes attributes from the user id in AD.
You have to load a text file with following content:
Example:
User1
User2
User3
User4
Just select the attributes which should be removed from user's id.
5. AD User-Computer to Group
adds the user id or the computer account to a group.
You have to load a text file with following content: |
The groups are separated by a comma!
Example:
Computer10$|Group1,Group3
User1|Group2,Group4
Remark: computer names must have the $ suffix
Für die Skripte wird die Active Directory UDF von Water benötigt! Vielen Dank dafür
!
Kompilierte Versionen: 4shared.com / MediaFire.com
Bei Bugs bitte hier melden!
Gruß,
UEZ
Hier noch eine Variante:
[autoit]
#include <Array.au3>
#Include <File.au3>
Global $aAlt, $aNeu
_FileReadToArray("alt.txt", $aAlt)
_FileReadToArray("neu.txt", $aNeu)
_ArrayDelete($aAlt, 0)
_ArrayDelete($aNeu, 0)
_ArrayConcatenate($aAlt, $aNeu)
$aAlt = _ArrayUnique($aAlt)
_ArraySort($aAlt)
_ArrayDelete($aAlt, 0)
_ArrayDisplay($aAlt)
Gruß,
UEZ
Danke für euer Feedback!
eukalyptus: schön vom GDI+ Meister das zu hören ![]()
@progandy: "good catch" - ansonsten muss die CPU mehr unnötig rechnen bei kleinem r
Bei großem r ist das leider kontra produktiv, also Min(r, 128 ).
Die Varianten sind so eine Art Historie, wie sich das Ganze entwickelt hat...
Gruß,
UEZ
Dann nimm für Bilder GdipSetInterpolationMode.
Gruß,
UEZ
Kann man nicht Funktionen aus den DLLs mit einbinden, so dass du keine DLLs mitgeben brauchst? Die erste AutoIt (AutoIt v3.3.7.0) Beta war nämlich genauso, dass er die DLLs benötigt hatte.
Genau, SetSmoothingMode() einbauen, damit die Kugel schöner aussieht.
Gruß,
UEZ
Um das Spiel zu starten, benötige ich 2 DLLs -> msvcp100d.dll und msvcr100d.dll. Kann man diese nicht mit einbinden?
Nachdem ich map10x10.txt geschafft habe und das Programm beenden wollte, habe ich folgende FM bekommen:
Kannst du noch ein Antialiasing einbauen?
Gruß,
UEZ
Den Code hatte ich schon seit Monaten in der Schublade und nun ist es Zeit ihn zu veröffentlichen (hatte ich glatt vergessen). Vielleicht entwickelt sich daraus ja noch weitere Ideen...
Danke an Ximorro für die ursprüngliche Idee ![]()
Variante1 / 2 / 3
GDI+ Perfect Illusion Variante 1:
;coded by UEZ 2011 Build 2011-06-02
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_UPX_Parameters=--ultra-brute --crp-ms=999999 --all-methods --all-filters
#AutoIt3Wrapper_Run_After=del /f /q "%scriptdir%\%scriptfile%_Obfuscated.au3"
#include <GUIConstantsEx.au3>
#include <GDIplus.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global Const $width = 800
Global Const $width2 = $width / 2 - 50
Global Const $height = 600
Global Const $height2 = $height / 2 - 50
Global Const $bs = 20
Global Const $bs2 = $bs / 2
Global Const $max_r = $height * 0.8
Global $hGUI = GUICreate("GDI+ Perfect Illusion by UEZ 2011", $width, $height);, -1, -1, Default, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetState()
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global Const $screens = 8
Global $screen_bitmap[$screens]
Global $screen_context[$screens]
Global Const $hBrush = _GDIPlus_BrushCreateSolid(0xFF404040)
Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global $i, $j, $m, $r, $dir
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To $screens - 1
$screen_bitmap[$i] = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic)
$screen_context[$i] = _GDIPlus_ImageGetGraphicsContext($screen_bitmap[$i])
_GDIPlus_GraphicsFillRect($screen_context[$i], 0, 0, $width, $height, $hBrush)
_GDIPlus_GraphicsSetSmoothingMode($screen_context[$i], 2)
Next
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
[/autoit] [autoit][/autoit] [autoit]$dir = 1
$i = 0
$j = 0.05
$m = 0
$r = 1
_GDIPlus_BrushSetSolidColor($hBrush, 0xC00000FF)
Do
_GDIPlus_GraphicsFillEllipse($screen_context[$m], ($width2 - $bs2) - Cos(-$i) * $r, ($height2 - $bs2) - Sin(-$i) * $r, $r / 2, $r / 2, $hBrush)
_GDIPlus_GraphicsDrawEllipse($screen_context[$m], ($width2 - $bs2) - Cos(-$i) * $r, ($height2 - $bs2) - Sin(-$i) * $r, $r / 2, $r / 2)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $screen_bitmap[$m], 0, 0, $width, $height)
$m = Mod($m + 1, $screens)
$i += $j
If $r > $max_r Or $r < 1 Then $dir *= -1
$r += (0.075 + Sin($i / 3.5) ) * $dir
Until Not Sleep(30)
Func _Exit()
_GDIPlus_BrushDispose($hBrush)
For $i = 0 To $screens - 1
_GDIPlus_BitmapDispose($screen_bitmap[$i])
_GDIPlus_GraphicsDispose($screen_context[$i])
Next
_GDIPlus_GraphicsDispose($hGraphic)
GUIDelete($hGUI)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_Exit
GDI+ Perfect Illusion Variante 2:
;coded by UEZ 2011 Build 2011-06-02
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_UPX_Parameters=--ultra-brute --crp-ms=999999 --all-methods --all-filters
#AutoIt3Wrapper_Run_After=del /f /q "%scriptdir%\%scriptfile%_Obfuscated.au3"
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <Memory.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global Const $width = 800
Global Const $width2 = $width / 2 - 50
Global Const $height = 600
Global Const $height2 = $height / 2 - 50
Global Const $bs = 20
Global Const $bs2 = $bs / 2
Global Const $max_r = $height * 0.8
Global $hGUI = GUICreate("GDI+ Perfect Illusion by UEZ 2011", $width, $height)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global Const $screens = 6
Global $screen_bitmap[$screens]
Global $screen_context[$screens]
Global Const $hBrush = _GDIPlus_BrushCreateSolid(0xFF202050)
Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global Const $iInterpolationMode = 7
Global $i, $j, $m, $r, $dir
For $i = 0 To $screens - 1
$screen_bitmap[$i] = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic)
$screen_context[$i] = _GDIPlus_ImageGetGraphicsContext($screen_bitmap[$i])
_GDIPlus_GraphicsFillRect($screen_context[$i], 0, 0, $width, $height, $hBrush)
DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "handle", $screen_context[$i], "int", $iInterpolationMode)
Next
GUISetState()
$dir = 1
$i = 0
$j = 0.05
$m = 0
$r = 1
Global Const $hImage = Load_BMP_From_Mem(BinaryStringImage())
Global Const $iW = _GDIPlus_ImageGetWidth($hImage)
Global Const $iH = _GDIPlus_ImageGetHeight($hImage)
Global Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hCtx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
Global Const $hTextureBrush = _GDIPlus_TextureCreate2($hImage, 0, 0, $iW, $iH, 0)
_GDIPlus_GraphicsFillEllipse($hCtx, 0, 0, $iW, $iH, $hTextureBrush)
_GDIPlus_BrushDispose($hTextureBrush)
_GDIPlus_GraphicsDispose($hCtx)
_GDIPlus_ImageDispose($hImage)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
[/autoit] [autoit][/autoit] [autoit]Do
_GDIPlus_GraphicsDrawImageRect($screen_context[$m], $hBitmap, ($width2 - $bs2) - Cos($i) * $r, ($height2 - $bs2) - Sin($i) * $r, $r / 2, $r / 2)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $screen_bitmap[$m], 0, 0, $width, $height)
$m = Mod($m + 1, $screens)
$i += $j
If $r > $max_r Or $r < 1 Then $dir *= -1
$r += (0.2 + Sin($i / 3.5)) * $dir
Until Not Sleep(20)
[/autoit] [autoit][/autoit] [autoit]Func _Exit()
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_BitmapDispose($hBitmap)
For $i = 0 To $screens - 1
_GDIPlus_BitmapDispose($screen_bitmap[$i])
_GDIPlus_GraphicsDispose($screen_context[$i])
Next
_GDIPlus_GraphicsDispose($hGraphic)
GUIDelete($hGUI)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_Exit
Func Load_BMP_From_Mem($mem_image) ;coded by UEZ - thanks to progandy for the MemGlobalAlloc and tVARIANT lines
Local $memBitmap, $len, $tMem, $hData, $pData, $aBitmap, $aStream, $tVARIANT, $aCall
$memBitmap = Binary($mem_image) ;load image saved in variable (memory) and convert it to binary
$len = BinaryLen($memBitmap) ;get length of image
$hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
$pData = _MemGlobalLock($hData) ;translate the handle into a pointer
$tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
_MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE
$aStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0)
If @error Then Return SetError(@error, @extended, 0)
$aBitmap = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $aStream[3], "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
If @error Then Return SetError(@error, @extended, 0)
$tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
$aCall = DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $aStream[3], "dword", 8 + 8 * @AutoItX64, _
"dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
If @error Then Return SetError(@error, @extended, 0)
$tMem = 0
$tVARIANT = 0
Return $aBitmap[2]
EndFunc ;==>Load_BMP_From_Mem
Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iStride = 0, $iPixelFormat = 0x0026200A, $pScan0 = 0)
Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "int*", 0)
If @error Then Return SetError(@error, @extended, 0)
Return $aResult[6]
EndFunc ;==>_GDIPlus_BitmapCreateFromScan0
Func _GDIPlus_TextureCreate2($hImage, $nX, $nY, $nWidth, $nHeight, $iWrapMode = 0)
Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateTexture2", "hwnd", $hImage, "int", $iWrapMode, "float", $nX, "float", $nY, "float", $nWidth, "float", $nHeight, "int*", 0)
If @error Then Return SetError(@error, @extended, 0)
Return SetError($aResult[0], 0, $aResult[7])
EndFunc ;==>_GDIPlus_TextureCreate2
Func BinaryStringImage()
Local _
$BinaryString = '0x89504E470D0A1A0A0000000D49484452000001000000010008060000005C72A866000000097048597300000B1200000B1201D2DD7EFC000020004944415478DAED7D69902CD955DE5D32B3B2B6EEAEEED7EF753FADF366D768341A2D335A91D03212884080060511206C1988B009F02E23908C65106014326083ED70B0D93206041204186459129602A175642121248D469A190981E62DF3967EBDD49299F7FAC754BEB873E79C7BCFCDCAEAAEEE9737A2A2ABAAB3F63CDFF9CE77CE3D87B16635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB590BB378F3155C75BF3747EED7D3EBDAB8DEAC06009AB5F03F22E711E7BC25848885102D21C48A94724908D11542F4A5945D21442A84E870CE53C698E0FCD13FBDD69A33C60AADF54829B5A7941A1545B1AB94DA514A6D1745B1AD94BAA4941A2BA572ADF5486B9D37DF7E0300CDDA3F434F84101D2965378AA29349926CC6717C328EE313711C1F4F92E47814456B711C2F4B293B52CA4408914A2913CEB91442449C73A1B5E6FC1104D0060030CEB9D65A2BA554A1B5CE8BA2984C81605C14C55E966597F33C3F3F994CCE66597636CBB23359967D6332993C94E7F937A680B1A7B59E34'
$BinaryString &= 'BF560300CD9A6D4552CA5E14454B49929C6AB55AA75AADD6A9344DAF69B55A4F68B55AC7E2385E8EE3B81745515B4A190921B81082092118E7FC519729809860623380C75CD75A3FEAA2942A2FBA288A22CFF3BD2CCB76B22CDB1A8FC7E7C7E3F1DF8C46A307C7E3F103E3F1F8C1C964F2409EE75B4551EC30C61AB6D00040B31C4B4829FB711C6FB45AAD1BDBEDF6CD9D4EE7E6344D6F48D3743D4DD3B5A9B1C7524A26A5BC62E8B6C19BB74D63AF0200261028A51E0308E5DFA2285851142CCFF33CCBB29DD168F4F068343A371A8DEEDBDBDBFBE27038FCE2783CFE529665678AA2B8CC1853CD4FDE00C0D54EE95B51142DA7697A4BBBDDBEBDD7EB3DADD3E9DCD26EB74FB65AAD419224ED288A9869F0A687370DDDE7F52110801664FC181B8080A0BC1880C02693C9683C1E9F1F0E870FEDEDED7D7E6767E7AF86C3E1A747A3D1E7F33CDFD65A8F9AB3A10180ABC3CD0BD18EE3F858BBDDBEBDDBEDDED1EBF59EDDED764FB5DBED8D24497A711C5F31F8D2E8216FEF33FE7903800B044C5660824151142CCB3236994C7686C3E1E9DDDDDD07767676EED9DDDDFDE47038FC4C9665E79452C3E62C6900E0C88977711CAFB4DBED3BFBFDFEF3FAFDFEF37ABDDE35ED76FB44922489E9E5216F0F797D1700D806EFA2FE180098468F01810F00EC8B0904063B980C87C3333B3B3B5FDDDEDEFEC8F6F6F64787C3E127B22CBB'
$BinaryString &= 'D488890D001C6E152F8A56D234BDB5D7EBBD707979F9C5BD5EEFC66EB7BB9924496C7B7ADBDBFB00C015EF0B211E63F0141070E9008CB12BC64DD505301080C060CA0CF2DDDDDD87767676EEDDDADAFAD0CECECE8747A3D1E7F23CBFD49C4D0D001C9615B75AADE3DD6EF7C54B4B4B772D2F2FDFD9EBF59E94A6695A1ABDEDF14DC377C5FA14DA6F830195FABB4201571810CA064C00B08120CFF32B60301A8D863B3B3B7FB3B5B5F589CB972FBF6F7777F743E3F1F81C63AC61050D002C646CDF49D3F4C67EBF7FD7CACACA2B9797976FE9743AEB4992B0288AAE5C4C43F779FED2D029DE9F1AF7878600A1822064F810238000A0BC9DE7F995CB6432617B7B7B67B7B6B6BE70E9D2A5F76E6F6FBF7F341ADDAB94DA6BCEBA06000E7C4929FBED76FB19CBCBCBDFB2BABAFA8A7EBF7F7D9AA65DD3F04B438700C03478F3B66DFC14AF1F9AFAAB0A02BE8BCD066C10288DDDD6064C003059410904A3D168777B7BFBCB172E5C78DFD6D6D67B86C3E1A78BA2D86ECEC206000EC2F097BBDDEEB3575656BE7D3018BCACDFEF5FDB6AB512DBF03181CF17F3BB28BFCBF3FB4080AA01F88CDFC7047C69424A486082810904E3F178B2BDBDFDC0C58B17DF77E9D2A53FDEDDDDFD5451145BCD59D900C07E50FD5EB7DBBD633018BC663018BCBCDFEF9F4AD35462866F7B7DCCFBDB5E3FC4F84B832EC5BF7902402906626CC00502BE'
$BinaryString &= '9000020313000046506C6F6FDF7FF1E2C50F5CBC78F1DDBBBBBBF728A51A46D000C05C0CBFDD6EB79F3E180C5EB3BABAFAAAA5A5A5EBD33495711CB3388E1F13E7BBE27D4CECE39C33296525E1CFC50066110143180045102C8A020405332CC074015B1FC8B2AC140C8BCB972F7FE5C2850B7F7AF1E2C5770F87C3CF341A410300B5B1FD344D6F1C0C0677AFADADBD667979F9E6344DE324499C868F193D25CD370BF5DF6F0D203414A0A40931307001C19411E45B5B5B5F387FFEFCBB2F5EBCF8AED168F425C658D19CC20D00545A711C1F5B5A5A7ACDFAFAFAEB5656566EEF743A1DD3F0CBBFA6C81745D1638CDDE5F97D8A3F64F426D5A7A6FEEA64001810D8D900574AD0A70940BA8052EA8AD19B809065D9A380606F6F6F78E9D2A5FF77EEDCB9DFBA7CF9F2BBB22C3BDF9CCD0D0084D0FD6EAFD77BC1B163C75EBFBABAFAD25EAF77ACD56A3DC6F0A1781F337EAAE197210035EDE7327C5F0D4079BF1DFBFB34005F1880A505CD10800A041808406CC00482F178CC767676CE5DB870E1830F3FFCF06FECECEC7CB8090B1A00F07E1F699A5E3B180CBE7F7D7DFDB5CBCBCB37A669CACA38DFF4F82510082198BD61A7AADAEFCA0094221F56F5775000805507DA8C0063005500C0F4FE4AA92B866F3202431FD05B5B5BF79D3B77EEF72E5EBCF88ED168743F6B3A1E3500F098405FCAE57EBFFF8AF5F5F51F5A5D5D7D6E'
$BinaryString &= 'B7DBED9674DF8EF5EDFCBEAFA4D7A5FA43C25F48EC4F01803A43000A0050D3829820886901902660D70B4022E1643261BBBBBBBB172E5CF8D8B973E77E757B7BFBBDD32DC957FD8A9AAF80B156AB75DDDADADA0F4EBDFE35AD568BB98CDF3476C8FBCF1AF75755FF0F42039052066503CCEB4208940594DF8B79BBFC2BA57C94E1DB408B5CBAAD56EB659D4EE7D4B973E79E71FEFCF95F1D8FC7F7370CE0EA8EF5DBBD5EEFA5C78F1FFFD1B5B5B51774BBDD8E6DF890D2EFAAE7A7187E2800CC52FC43AD01800C9F1206849607870882AE1421B68F00CA10006C60EFFCF9F37F71F6ECD95FDED9D9F9B3AB790BF255CB00E2385E1B0C063F70E2C489D72F2F2FDF94A6E915AF6FD7EF63C53D55627E570830CB869F8308015C0020847894C197B7CDEB45513CEA7EEC2284B862F4E5F75214C5630AA74A3660DF0F84609D388EEF6AB7DB4F3C73E6CC6F5EBC78F1D7AFD64CC1D50800A2DD6EDFB6BEBEFE23C78F1FFFCE5EAF3748928495174CE5B7BDBF6B430FC5F86D4377D17F4C00B40DBF3C8E62FCAE96602E1028053E1F1098422064FCA531631A000602E65F1B08CCEF32CF73B0B2D2FC6DA228BAA9D56ABD314DD31BCF9D3BF72BC3E1F0B3EC2A6B55765501801022EDF57AAFD8D8D8F8176B6B6BCF69B7DB7169F8A6D26F1A3DA5A63FA4D82744F90FD9F88379FD3A4200F3BE12607CA9C0D2D031E337E3FB6947E2'
$BinaryString &= '47DD075D38E7570CBEBC8D3182F27A0904D0FFA697411CC7AF4BD3F4FAD3A74FFFC2CECECE7B9552A306008E9ECABF32180CBE7F6363E31FADACAC3C8AF25368BF4BEDA70A7F90E1BB8CDFF6FC949D7FAE0E40B3540262713F0600361330053F53D0338DDB0504A6819BE1800D06906E02B1020B146229E50B9324593F7DFAF4132F5EBCF88EA2282E350070445692241B6B6B6BFF746363E3EFF7FBFD13AD568B95853D2EB18F1AF387C6FD2EC3C72AFF28E21F25F6AF2A02FAB20158CB30530BA0187C791D3268F3B118004021966BF394F55BDC14C7F14FC4717CF2FCF9F3BF34994C4E370070C8579AA6B71E3F7EFC0D274E9CF88E6EB7DB4F92A4B2F153453FEA4EBF2AEABF4DC57D3B0029F13F4507F0ED0C84B401D3EB9797F233D9A1800D0E2E166086022E30A87211429C88A2E887E3383E79F6ECD9B78F46A3BF6A00E09086FCDD6EF7F9274E9C78D3FAFAFA4B3A9D4E6CE7F7B11C3F96EE7379FF2A39FF5962FF901E00A11980904C80E94DA110C014FAECDB260BB00DB7BCDFBE40868F01032698BA00767ABB2F84F89E288A8E9F3973E6ADBBBBBB1F3DAAE2E0510580646969E9651B1B1B6F5E5B5BBBB3DD6E8BD2EBDB4ABF5DDE0B15FA608A7F99BEAB52F4334BFAAFEA1E802A1A808F0584760A2A8DDBBC5EBE37D3E83100803E330402983682754B068E8F8510774551B474FAF4E9B75EBE7CF903EC08F6'
$BinaryString &= '233C7200C0394F9797975FBDB9B9F9E3ABABABB795F1BECFF3D729FA99A5BD58CACFB7EBAFEADEFFFD0E01427A0440DEDF8CE9CB3002020053E937C301F331A6E143B75DADD2110D85AFAFAF3F574AF9B34288FED6D6D61F1DB52126470A008410EDE5E5E5BB3737377F7C3018DC5C2AFDAE021F4A892FA5D26F9EA93F332B50750B701D854054EF5FDE67C6FF76CEDF3472D3D84DDDC0160031EF6F7F2F761810C284A0635757576FE39CFF1BCE79B2B5B5F5FB47294D181D21E3EFACACAC7CCFC993277F6C7979F986344D1F25F641453E3EC10F327E2CE60F69F431ABF78784BF83C802F85A85D9F1BF69D8B6F7B7A9BF4FCC833EA7EFB36160800185F91A83C1E06621C49B39E7C9A54B977EE7A86C2D8E8E88F177575656BEF7E4C9936F585959B9CE4EF361C68F193EA5D4D72EFCB1B500DBB8B1565FA1190008086C5030BDA77D229BC21D64FC66A10FA4EA431581367587D281B6E1DB866EFF35DF0366FC3E8A0F098250BC1F105EDEC0187B23632CBA74E9D26F29A5760FBBEDC8A310F30F0683EF9D7AFEEB30DAEF337ECA365F0824B05D68AE90C1174AD85A019446844A5BED634A60A01616853E062A5376B1126CEB32A5A80933643B3CF28541215D93A1FBA3285A4D92E4E62CCBB646A3D117D9211F7B1E1D72E36FADACAC7CF7E6E6E61B969696AEB58D1F13FBA8D4DF57E38F797E5FEA0F32349741D5B909'
$BinaryString &= 'A8AE10C064133E11D0F4FC52CAC73080F27E3BD687AE438C061330EB488122C2E8B55AEB3768ADC7972E5DFA3DADF5B80180FD5FF1D2D2D2AB373737DF58C6FCF6861ED75E7EAC8D57D5525F7B822FD4E60BA2FF101050B6FF866402E69D06A40883B6F0671BBE4DF7CDDBA6F1DB2C00FB1F05E8A22822099FC8FF6ED05ABF512935DEDADAFA43C658D68400FB18F6F7FBFD576C6E6EBE653018DC9AA629335B77B9683F45F1F755FCB936FF40CF61824248ED008549B8748510717186CA3952C602622D76E18FA969B8C201572A2F840999464D11104D50628CB1288AD6A594374E2693AF4E269343D96AEC5032806EB7FBFC8D8D8D370F0683DB4ACFEFF2FA2EC377F5EDA794FBFA36FDF8C43FC880EC30008A75ABD400CC8301B8B202362B283DB6191AD82DC52016808981A1421EF4B9CCC786F4464C92A4CC0E3C4D29F526A5D4D6EEEEEE5F340C60CE2B4DD35B3736367EFAD8B163DF94A62937F7F2FB0A7D5CAA3F1406F8867A98B41F0202291FF97A43FB05605EDE953908A92DA07417F6796E97C05655E0B39FD36605F6FFA829C19062A84AB1681C3F8E31F6F8D168F4D93CCFCF360030AFA03F8E4F9C3871E22DEBEBEBDFD66EB7A392F643C65F25DF4FA5FC3EE3A7EE0FC08CDFD54034A4B6C054DF43B6179BC7DB29461F95B7D5F910800965332E10985510A4344C318EE3711C3F516BBD341C0E3F7698D283'
$BinaryString &= '870600A4942BC78E1DFB57274E9C785DB7DBED40E5BDA165BEAE293E762D802BE6870C3974EC77C84C408C01F88E8340014AD5B9527794BA7A4A1A8ED2D094DAD6DCE7E5A1F89D62DC8119291945D1B54551C8E170F8A9C352327C2800609AEB7FFDC6C6C68FF47ABD3588F2538DDF97F233F3FB51145DF1C8BE4A40CCC86D95DFF6F214BA0F0D0D99A5B8080B0B2063F77968FB31AE5CBF4BBC33E371A8688942E3B1C7DB9B8CAAA6FF7C8F13422451145D9F65D9E5E936E2BC01807A14FF6FDDD8D8F8F1E5E5E527DB557ED0C00E8AF197713FA5F087DAEACB47EB4B03716D16820A7B2063B7C1C0070214FA8F951BFBD4753B44F0952ABBF481AAF49EC23E5C5A82ABDEC1C716AC6DD13D21C435E3F1F8C1C964F29545CF0C2C3C00A4697ADBE6E6E64FAFAEAE3E13A3FDBE4A3F3BE71F52F843A1FC90E142D41E336EAC8B8D6B131125B310220086161955E94B80814148EA0E53F06D03F5D5F6635E9C1AFBBB6A06A2283AC6397FDC7038FC749EE7A71B00A89AA38CA2B5F5F5F5371D3B76EC55699A4A4CE9A71A3F0402AEBDFE90920F19B24DE7B1FB7CA21DA609B8683CC5F8ABE6FF43043ADF269BD0FE05F6F176CEDE0E1B6C4334F7145076FFD94CC065E0588AD3BC2EA53CA9944A87C3E1471679EEC0C2028010A23D180CFEE1C6C6C60F763A9D1E16F7BB5A77633DFD42DB7CD91B7E2030C0E839A5A69FBA2538'
$BinaryString &= '9401D49D06A418AD6B579EAB702744F57779F8102FEE3BCE55CFE0EB9D3015059F9C65D9DE6834FAB4D63A6F002040F79BB6EFFEB17EBFFF04DFA82EC8F07D937BA925BF25605449E755E9FFE79B2150350B50B5D310D548290CC0B7377F9666262EE53F44C8B31FEB6B93EEBA8F73DE16423C61341A7D79512B051712005AADD675C78F1F7FCB6030B8A3D56A71733437D6C6CB37BEAB34608AF7F7D5FCBB547C5F23108A118794DC528EDF8F102034DFEE13E8AA4C38A694F752BC38C5C0A92C414AB9A6B53E361C0E3F5614C5850600FCD47F796D6DED1FAFAFAFBFB6DD6E27D0061FAC7F1F96DF2FD379AE419EBE725FD7AEBF593C3FC5F87D1384AAC4FFBE2DBCB3840054E30F05012AB8B8E2799F119BFA0165FE810B58A67FB994F2649EE7D97038BC67D1760E2E1A00887EBFFFED274E9CF867FD7E7FDD35A813A3FB21D57EAEA21DD716E0BABAFE52438050259F12FF03C01B9C05A0D0F52A21400848F88CD925EA850043C84E411B2038E731E7FCF1E3F1F8ABE3F1F88B8B140A2C14004CA9FF4F0E06836798A21FB57B2FA591876DD8657CEFEAF31732EB8FDAFA2B84D253065D54092366D500AA32012A08841EE312E5209AEE6309D401A9BEE3A745422B5AEBC17038FC785114E71B0078AC07EA0E06831F5E5F5F7F6D9AA60934AC13EBE0E3EBE403E5E35D25BE2EC37775E0996708601B65685C1F7A3C45A9'
$BinaryString &= 'AF9A6FAFAA035084419757A7C6FF980E40A90BF080C089C964B23B1A8D3EA9B5CE1A003056A7D379C9891327FE65BFDFDF7429FE546FEFF2D4D45E7FD40D3D21537FA8A5B9A1947E5683AFABF5F82C1B73EC2E3F21CC81120A508C17BBF88EA568059CF38473BE311C0EBF9065D9FD0D004C571CC76BC78E1DFB89D5D5D56F6AB55ADCA4FED0855AC28BF5EFF351FD90661DD4C19FB316E8CCE2C1EBCA00D42904FA8000DB1E5C350C70193CF6DC94C7DA43505DE0306501AB4551C4C3E1F0838B502074E000C0398FFBFDFEF7ADAFAFFF50A7D3E942713F65438FAB8087B2936F56E3B7EBFB43E8FFAC4659D5A36382DDAC750075EEB5C79E3F24C74F9D6BE04AE7517400ECB6D904E591B7CF3746A3D199F178FC5976C023C70E1C005AADD64DC78F1F7FF3F2F2F28D58992F65171F56C3EFDBC1E7DBCEBB1FF1BFA9C2BBF6E7530DDDE7BDABE4FE7DDEB94A0BF23A81C2A703848E37736903BE26A8E6F3DBC351A783503B5AEBC1DEDEDE478BA23877A0DADB010B7FED7EBF7F77BFDFBFCDF4F4BEF8DCB7D186126B87087175F4D27379516CCF3D949EF3D16C08584273F4D063B1F4E1BC3E57DDBD0A5DBF3555A70999FE8C9DC7E579DEEFF79FDEEFF7EF1642B4AF5A0068B55AB7AFACACDC9DA66917ABD0F379E72AC53455043457DA0E3230D7090F3DD66E8889E5E621A3B4FF42865CC58020A374BD669D9F0B0B59A0'
$BinaryString &= 'EF9C9252A5FCD621E78F6DF494C630A62695A669776565E5EE56ABF5F4AB120084104B4B4B4BDFD5ED766FAABAF79EF2C384D6D257F1E818AD7715C460C665CF0E088DC7A9A0346B1841F1DCA6C1DBBF05C5E363CCC605C021EC20A428CBD7C8D597758280A0DBEDDEB4B4B4F41A21C4D2550700ED76FB99CBCBCBDF9624490C797F8AE1FB7AE6D545E37D22992B4F4FF5CA2E6A3DCBF65C974151FE37EB6B523E1B956D847CFFB38411AE8E499473CF0704250B4892245E5E5EFEB676BBFDCCAB0A00A494CBFD7EFFEE76BB7D1DD47B0F8AF97DFBE10F62838C6FDEBCCF93524F525FACEDBA9F62F0AEFFD7F99A55D806E5BB9CD5E8673D877CE729243C9720D06EB7AFEBF7FB774B2997AF1A0048D3F4594B4B4B2F4F9244520A6E284533750FBDF0C5A03E2AEFF2FE54CF8BE5D667ADD4A3D6E8CFEB3543D846C877E96B3936AF612814968015972549229796965E96A6E9B3AF0A0090522EF57ABDEF68B7DBA728CD354276C1B9E859882782D4F3598A65AA78E5AA31395594F4D1F279BEE62C9A4368C6C0FE2D43F59010CD8972BE424CA0DD6E5FDBEBF55E7D102C60DF01204992DBFBFDFE4BE33896BEF25D4ACBEC599B5EB84E4A576E9EEAF5428E0DF5C6D4A29C10CA3FAFD79CF5F3518FF565337CCCA6CA183497D7C798807989E358F6FBFD97264972DB9106002144A7D7EB7D6BA7D3B9164AF75194F950AF4E1D'
$BinaryString &= '5BEDA3C4540A4D6508A19579BE029D10E3A1BE1EB5C26F5E9F2F54DC0BF9BDA8330C43D90235E36067053A9DCE75BD5EEF554288CE91058024496EEAF7FB77C5719CF836D754A1F2AEDC3C74B241C52875097355BC32A538C7A7C4CFF3F5425E7B3F5E6F96DF0C2B70F29D3F21E722354B30650171BFDFBF2B49921B8F240070CEE34EA7F3F276BB7D3D44FB7DAA2A852150D24C212041F58CA1C6486113D42DB655EBF2A9A93A6A08E07B8F753607A1FC16BE50C365DCBE346DD59A02AC80C8D002AEEF743A7771CEE323070051146DF67ABD572649D2C54A7BEB6A6851257F1EA28CFB4662F9D473AA97A4F6CF5FA410C0F7FE29DEBF4AE311AAE0489D7750474A915A45686404BABD5EEF5BA228DA386A00C0D3347D61A7D3B9C5EEC083E5F44385BC79F4B6F7DD3F8B6104B227D2F353876A84BE5E68E7DE3A3E631D7301A95B8DAB8040A88088D50ED8DDA73B9DCE2D699A7E13638C1F190090522EF77ABDBB5AADD63AA552CFD7138F82BA550A5942F2CA751AC62C747C1600A9F33175841DB3021DB56E83722EF89E27A4892B65F643794CABD55AEBF57A77ED574A705F002049925B3A9DCE9DA6F7B767DD857CB19493D4E55166DDC71EF2989094565511AD0E839FE773867CCEBABEDBD0C7F8B640539FAF4A1AD19A4ACD3B9DCE1D4992DC72240080731EB7DBED17A569FAC4D0821EEAC690D0F9763E5008F55655'
$BinaryString &= '065AD4E595ABB4DEAACBE8ABF602ACF2DD54E9134815035DE704251CA06E00A31610A569FAA476BBFDA2FD1003E70E0052CA41B7DB7D711CC76D6AAB2C57AE1E4BDB503BD6508757867AAB7978E2595B6BCD11D4F7ED7D857EC7557EBFD0F30663A3AEB265970E60870B711CB7BBDDEE8BA59483430F00AD56EBCE344D6FA2F4BB0FC9DF8654B0CD63A805D66136B41B2EB442475A1D86E5FB4CA1DF1BF4FD87363C091185435AA9514302577D409AA637B55AAD3B0F350070CEDBED76FB7949926C62D57E14953FA4602744BDAFD323863EEF5134F2798143DD1A4968481372CE61E76CC80EC3694A70A3DD6E3F9773DE3EB4001045D1B176BBFDFC288AA2D0261C90F70EDD2EEAA3FAFBA992CFFBB929B3EB0EF23917EDFBA2A44CA90C31E49CA5960A475114B7DBED17445174ECD002409224B7A769FA647B5C36B5EA2D640E7D884015222051C3808332F283641275BD9F59C0C147FFAB0AB9A1CC20E49CF569036566204DD36B9224B9FD500200E73C4DD3F4D9711C6FBA3CBE0B1D7D681C82D0B31A6A9D86467DAEAAAFE99A5DB79FCFB11F9FB50A28CC024A21F52121456A102388E3F8449AA67770CED34307005114F5D334BD238AA2C865FCBE06901434AD4AED2151893A7D76DEB4963AE26AD6C72CDA6BCF13A0A163EB3E9F421C17B655B9B495288AE2344D9F1D4551FF3002C053D3343D65D27F4CD0F3EDC8AA'
$BinaryString &= 'C3D8A8F3E366F56021C7871813A5D77D1DF47CBF5FDBF53DD4F11D57F99DEB3AD77C3B5131E1D00A034E4551F4D4C30600A2D56ADD1EC7F106B603CFBE0F42485FAEBECA0696AAB1B7FDB85063F21900369482FA3CD4635DF3EF0EE2B5AB7E6FAEDF22747210E55CA97A0E52DACB616DD239E72C8EE38D56AB75FBBC6C753E4F2A44BFD56A3D2D8AA2AEAB628A6AC4FBA126BBF2FB9888134A87678DC529E3AAAA18D022BD7695EF943A6874DEA11BF59CA514139597288ABAAD56EB694288FEA10180288A365BADD62D524AEECBEB5394558AF1D7599DE6F34E21A3A3AB8A6994D9F321064BA5DAD4B9F7A1AF5D97F0887DD7A1BFD9BCCE9FAA7B3FB0BA0129256FB55AB74451B4796800208EE31B9224D9A4EED4A3EEABAF434CC2064286AACBB3D061CA0CBA2A9E783F4380D0D7AEEB33FB584095DF34545B080917ABEE38356D274992CD388E6F3C2C0020E338BE398AA255576C5F653B685DC65FE76367A5C355E3E190D7AD4AC5E71502CCE333CFFB779E573860DB03040C5114AD4E01402E3C004829FBAD56EB6629651B9BE852E50BAC3A4D163B59CAE732E7BA8752D37951712A0DF71922F6DA1466E003825000AAEB33878404BE55FEF698C05B5548C4CE35EA396FB3002965BBD56A3D454AD95B780010420C9224B921B405F3ACDE9E72B26079E02AD4141B2F4DF5C2141AEE320ACAB86B1703A002828B2A5300'
$BinaryString &= 'C80542BEB0C0077E3E46E07BFE903A903A8455CA9E02EC9824496E10420C161E00A2287A521445C75D935CE649F3670109AA41F8C4A95063A4B20E9FD1873080D0FF61DF910F8066153E7D404BD576EA4A75EE47780089E65114AD4751F4E4C30000A7A2285A73CD81AFF34BAB420F437E6C9707AE1A0BFB8438CCB0B1FF553158CA670B0D2928EF3D840550C31FCA67DBCF73A78EF3DC2E168AA2682D8AA2538B0E00491CC7D74829FBBE74DEBC3C7E9558914ABDA921012516F695CE5651C55DEC033370DFFBF23D6708E051749AAAE2E33C7ECB7909842E11100290693AB01FC7F129C65852ABC3AE39FEEFC4717C4A08213143AF23DEAFE229282724141B42026479DBF51712844C0DC2954A74691590E084BD661541AA6A2A30242CF1018F8F5950C120F477A7388DBAC3056ADD8010228AE3F81A2144472935595400684751F4446A49EF2C5EBDAA4A4EA589E649681B2EF6DC2E43840CDAF739EDC741068F29D02EF0A9AA41CC2A4452BF6F8A06E00A81A819882A422735D49855288404F3288A9E2884682BA52E2D240048291F1F45D1EA3C3AF15489174329AA6DF43E610F4B1F5535446CC312F47C54E631EB76E659409652FC43D12C42043E9748B99FE750DD2261A90348291F9FE7F9438B0A009B52CA151BB9EA8CE567090128229A1D0AD87F212640A1E02186A8B5664208345D89B187F2FB365F5329452ABA'
$BinaryString &= 'C20CCB06308A280A19729973A70A811410A822145245CC3A438059D880694352CA1529E5C945D500441445278510BDFDA8DC0B0D01A8E000C5FBA621D8D729CA0380E200002000494441549EDF45D95D1EDF6621E6C98001930F9CCA65174061EFC53C8E229A85A62B5DDE393404A088A021E7C22C2140DDC2E1342BD09B8E0DE38C31BD5000C0398FA4942784106915FA4FDDE441A56F941FCE3464EC82197E0805C762FFD23B9B291FFB3D964C003372173840E084852F76559CEF3BA6FE26B6E7375F8F62A4216220152C7C0264E8B914FA9D84342FB134B696947283731E6BAD278B0600B194F204E73C9907FDF7558C55C9415335078C09D8277A59F3E032FEF2B1F68EC8120C4CEA5F52F8F23E9FA1436100163E609FDF0C1928E93CD7490F197F69F8F673D84CC3F5DB9AE051F76F5DA5162324A3304B18C0394FA494C71719008E87187DD51D6014E5375470823CBFCBC8300A6E0241791D327E97E25F454780B213944C03858D615A402845F6650620103041C4060F6AA8E7FBAD43CE9559C380597A2D4EEB0136EA9C18542700B48410AB5400A0082BB3FC60555463FBA2946252CAC718BEE9956DEFEF020ACCF82101B08EEDCFBE7A8390DF29644F82CB73FB7E574873805EDB66012638408C23B412912A1E869EAFB388895386B8CA396F2D2200AC082196AA7AFAD0FDDF54959FE279B01FD8A6E090A1DB460F'
$BinaryString &= '51FF903E0275F53DA86BD59106F4A5E32834DE27E241C000010E35BD4CDDDB41610055CE79ECF984104B9CF315C6D899450380252144971A5353BEA42AE20D764C19DBDAAF5FDE6F0A722EF51F3BB1A178DDF4E4E5EDAAC67E50C050754B72486C0E312F481FF0B1089F23B041C2CE8440C0E13AA742818D1ADABA8E1142B439E7B5B507AB0D0084105DCE7952E5E4A2C48C94B80FFB9F49E56DC5DBA4E9D0FD50B6C0172743622126CC2D9AC7DF4F00A01E1FAAECBB4210C8B8A1FBED2C45C8795725840A0CB57B0B07009CF3A590010621B97A2ACA5390B70403E871988777A9FFB374C5A912CF57D501EAC8C6CC1A0284A8F6B35C426375286B41150FA9BB245D0E2E50084C39E74B8BC8003A3603A0EEABAFDAC0826290765A8B92FB37C3018AE7AF0200E66BECE768EF450280FDB8F85287AEDF17620BBECF1AD26085A22300D9A24408D15944069072CE651591858AA436AD375579D358CDDBD8FDAED783BC7DDD0050D573FBD27B58DAD04E5986640E28625528AD3F2820F09D6710F577651DA0C78430D750919A732EEB1C15562700B4A9CF17F20554A9DC3211DCE5FD43696A15003085415B0474A5016D83C4F62398F7B98A9042F406A84F621D1900EA7E80F2B890145E9DC0003187104D242424AD100644758E0CAF0B004A541255E93F3555632BEDB3E46643D34FB64143A1869D050831BEF231267051F61440'
$BinaryString &= 'ECC035CD88D2F7AEEE5460080840BF3985CA57050C6A0E9F726E50CFE319C20061D89A5A1400D0D3E7E25401CFF5C1A1DCBB0F65ED745E1D2781EB7D40C8ED2B14A2A4FAECDD7B3EAF3F4BB8308B0E40A1B5B3840236AD860A7D288FAD934598E9430A3B856A12AA8601C6FF39ABB13D789DBB013535CF19221AD906041926E4E9427F58D373DBA183EB3D4300057D0F264370796F9FF1FB0C9C0A0E072D02BA803CD420AB1C5B0518ECEFC204251BA0A07D10D42229EAEFB16800E035429F70E42B11B5A9778876E02A36318D1FAA0084DE0364F8E67D98D7B7D57F2C13E0F3EAD47E0514EA4F39D1426B00EA14017D1E9DF27F8CE19597AA60800986A129C48012775E32ED4502006EFE0D694649514CF75345B6BD7FF963BAE83F66F854EAEFA3EE542F4ED5002030A8B299A58A065097F1FB8C1632ECFD101543320E940229E07BD7ACA65E00756B00D3F7E957567DE2DFBC8CDEA70F944542A6A787E2FAF23A85FEFBA87F6818501A2FB55B11E6F9ABB4CCAE92C60D39F1AB182B1497437A0135B3503748F8D86A28835AD81020A4C0078ABDA90CC175F260066ED26E170840D4DF27FE416000193DD4FCC3367A5718400D090E2204081502B1DF13333ECC93871AB38F9A53B20DAED7AC9259C2EA0E420B86162104509402119B16DBFF338D846AE450519059D76FFEB8E6F65E288300193FF41EEDB000A2FC580D80AF'
$BinaryString &= '0AD0D5F8832A00FA4200BB50880A08FB1502601E1B8BF1EB008FF2F56C36E162195470B0F506AC6E853809A958340028B4D623AD75411DC28079D65051CF06842A21846DAC3ECA6F8705AEB81FDB854809017C7D00670901420DBF8A1058A716801920A4BEFB8C35B44780AB3EA16A0601CA18B86CC6B8AFD05A8FEAA801A83B04D8D35A17D08784D277BE021FEC3E57ADB74DF131B6602FD7EB622CC09701A0840036FDF7A5007D2DC131C3F7CD2308A1FF21C61F1A06847AF190FB5CCCC1950DA0804EA8A600150C41FA05624725002C9C0630D25AE7AE3C3B040494BCB02BAEAFFA7817ED848CDFA6FE54EFEF4B0586D0FF9089441803A8A308A82A0854F1FE941A7CF3AFEFF83AEA0CA84C20A47721C664804BA1B5DE5B4400D8D35A4FAA0C790C29CEC1BC3C757310C5F07D5580B6F19B1EDFF6FE98F887197D55FA5F4504F4DD3FEF3A809062205F3A90BA59870A0421C0E302215FE6816223161B186BAD870B07004AA9ED290B7814A58244376A5C6FC7CF21DE1E02016C514200D71E00AC06C01506F8A8BF69D4F698281F03B08DDA27F6559D845385FECF830184A4067D21008545846805D48C854B9BB2DED34829B5BD880C601B1A5A1812CF63693797D20F29FEB6D1CF1A02F86A0028222094FA73EDFAF3B10588F6635E7F160DA0EADE76A864DA6724BE9460080BC0EE0B0D017C59070AD898E742957D1096A3'
$BinaryString &= '1D6BAD77161200B4D6BB98B8E7437E7B375DD54D3DBE346195102094FADB9FC5BCCF34545B0B308B8FEC9E0690B153637E6C3A900B00A0CC45C8709059770462A9C0D050A0AE10609622217BCF80EF79301D607AFF506B7D791143804B45516C57E9CB8EEDE3AFEAFD5DF7F94200130CECEBF6565D1F03288AE2316CC1E5D5A1FE05A6C163FFC3947E6CE72025EEC786A4FA8ABF7C956E21455DAEE21C976787E2718CDA534300D77D21A9C72AF6605E2F8A626B51A7038F9552E74368964BE8A3C4F53EEF6F02810F546C30300DDE362A9BA5D8866A7B69DB7343F1BF9D1AB4EFB34784B96AFCB1B982BE981F3AC6D7B8C2D58ACDA4BE50D117B52A2F745390CF3031C0F0097AA1D58754200909479452171863E3450C01B2A228CE4C3703F0903CA9690C1451CFB5F71FBB0F4A3B62D4DFF6FABEDD80AEFA7FFBBD6271BFDD9198737E8541946C0203188AC28F4D09C68CD9372390DA861BEBCD1F520E3CABD151BC78D510C0E7FD7DE263689FC2A98D658B1802644AA9B35AEB4C6B9DCCBAA9826AFC581AD0F46A76B8607B7A3B1CC0C200480BF0C5FDE66D7B7E1F5414647A7C338CC00C1B6A6D6EFE0F9AF547A90CC442005756C67E1E8C05F8F2DDE6F176284035348CFE6354DFBE0F3A3E9469D4B5C1C878FC4429751612DB172104C88AA2383D4D05262139FE50E377A50DA1D81F7A2D48F137F70350B500ECBAF95A'
$BinaryString &= 'B67660170541E181EDFDAB8400B69068BF262504B053B150D96A48081052148455DC518440EC7A48668012F7D7B97D99508E3C2A8AE20C632C5F4400D045519C2E8A62278AA2A52AC66F6B00212100C4005C2220A4F843D57E902E501AA40B084C03766D09C64A7E6D10B0D98BFD9EEDE7C03A23BB180036221CDACF60EFA0B419964BF1F7D50560BBF87C2220740C1602F8044157A8404D4186800D254D5814C54E5114DF600BD80FA0FC00DF288A624B6B7D9292E283C4B4AA2180AFF8C7B527C08CC36D20304F609BCEFB8CDF0E01CC38BE3C164AF5419584762524E465ED4A49C85829E5C0D0E3EDEFD697A2B541C7B5D30D4A77858600544A4E291F76C5E994E70C15037DB70D00D8524A3D54A7CDD60D007FAB943A1F52FF5C55FCB30DD78C7921A3B7190066F4E5896F7A79AC5DB4CBF86D8F6BC7F2B6B007D508981EDFF6ACE6FBC2147E2876A70A81188860BBD55CA3BD7D541FA2F850B6800202BE621ECA5E02173B70690A55C5C08012E98795527FB7C800B05714C5DFCC1AFB8728FF3EB0B08DDEA4F545515C295536E97D393ACC3CF9A49457FE878500A6F197F797F7D95EDCD500C405062670D9E3C6A1F2616A0A100202A839AA1D0AF886AD5489FD7DA9408CEA97A05AFEB50DCF771F26148678F6AA210005D08AA2F8BA526A6F6101406B3DCAF3FCC1E9AEC0C8F692D4D89F3AF9078A3DEDAA3A28F6B745'
$BinaryString &= 'ADD2C0CBFB6C03B7697DF978F338DBF8CDD7721502D9797FFB3636B9D804071B08A825BD1410C0D27D98E14361003478D3B721CC35E6DB040157BD808BE697864FDD1E8CFDAFEECD4876D8631C974F6D6BA101609CE7F9FDD38D410328C78B15C350EBFE299D7FA03E7ED08F63F6FF330D092A002A9FA764013E011213086DEF6EDEB6853B6C460054EC038120040C15581DA81D546901167ABF0B04100FF928F6E20382F23A04062182DE2C1D845CA063D9CE4E9EE7F76BAD270B0B0053EFF960511417A2281A54D908641B0396E387627F9B0D601B816CBA0F55FE419B80ECD72D81C0BC0EBD7FAC0A102AF32D9982C9066CDA6DB719333FA36DF058CA0F6B0FE66301102060DF3D26EAF90A838874D82C8E418B895CE9402C2C808CB4280A27A0542D47A6860245519C2F8AE2C1BAED751E00F0D53CCFCF2649722D75534F48FACF67FC50559FFD7A25B5B6293496F7B735004C99B7A9BBADE49BA5C4D0965FFBB3D8EFD5D6046C960231016C379F6DF0AE4A41AAE77789A5214D415D949ECA024CAFEE12EDAA6E0D0E0181AABB12CD63F23C3F5B14C5D7161E00945217F33CBF4F6BFD5CD71E7B2C0470D17FC8F86DB1CA8CCFB15E0498360115FF4025BD3EEF6F7B46DBBB9BC2A09DFAB337FAD8190FBB0AD00600EC7A68BCEF0200CA7E01D7986D57DB6EAAA1FB5800450BA07A66084C7CF506D40D4294BD095300F8D2'
$BinaryString &= '741FC0C203C06E9EE75F504A8D84102925ED87D17F5BF5C68CDF34D0F244C0AAF24CFAEF2AFD855478A8C4D67EBF3618D8854576918F0D1A361BB1A9BFAB051875EFBF8B1950C20557F92F24BC9A8CC5FC0D296ABFCBE8439B81605EDB1506B88EF3C5FE9868E80B3780FB47799EDFAB94DA597800608CE5799EDF5B14C57929E5E342E27E97E28FD17ECCEBBB3401C8D821E32BF3F4767860D3792CF6B705444C60C3AAF8ECF767BFB6FD99A0B4A7AFE4771E00E00A11309A8FD58950CB85293BFE5CEA3DD58BBBD80065FB7195E62445519CCFF3FC8BACC676E0F3040096E7F97D799E3F14C7F1E3A83B0021AF8FFD0F336E282F6F9F64A6E1DB1ED40C05CC8C80E9796CA337DF2FA6F6BBC21E3BFE2F01CCD50A6CD10100CB0898C54F75350AC5547D281B00191FE4D54BC1CF65DCE63194CD43D44D48D025CFF36FE4797EDF3C6C752E00A0947A28CFF3CF2BA59EE5320A6A58E0DAF86383827902D89987F2C7B673FE663C5F2E934960ACC32ECEA1AAFDD8FD501310DBC0EB0000E87F215369AB32006AFD4048B75DDBD87DC741C66F1E838501B6E7F73105CA67A068024A29360DA94F1F2600D8CEB2ECAFB4D63B4AA99E2FE6A7A400A13CB79D0273C5FF98D887D5D1FBBA0151D37D1800626940BB3CD8FC8C5046A02E1190521E4C1504B166AED452E0AAADB9A8025FC8661F4C07A0E4F2A99902CFE7D9C9B2ECB375'
$BinaryString &= '36029D3B0030C65496659FCEF3FCB410E23AAAE1DB1ED78EFD5D053F66610FD6E9C7160AED92E0D2F820EF0F1917B48780EAFD21AF6E4F1F8284C7902C000602D45163BE8A42571600EB02048980B3020046FD5DF1BBCD08CCDBBE3E001008F87481AA1B80F23C3F9D65D967E611FFCF13005851149FCFB2EC81388EAF0B29F7F5D5F243621F26EA61B4D73CD6A6F7F6F3D805375896023376D373FBBC3F9493877400A810C816317D2C002B98F20180AF10081AD64251F8311170964941D4F90194C6213E351F12076D9D20645B72793BCBB2078AA2F8EB79D9E9DC004029B59DE7F9279552DFCC398F5DCA3E160F6371BF69FC76FE1A12076D16609FE0A6D16045383E0130B4E2CF4CEB61FD00CCF7600A96D076603B84B09F2F84E6DBB501B6C1BBE63FDA3B00B14220280D88650CAA0EEDC05880AD05F8BC36F43F482F80AA05297B0D1C7A409EE7F93DF348FFCD1D00B4D6A32CCBEE298AE2B494F20994949F2FED07097E76B10FD693DDA6FCB6F7B373D52EBDC1344ADB8821E38726FFF880C4D70B901AFB878E06A7507DAA00E86B025AB51620B4DACE0E0DECE2213B04302F90178784654A3722CAAC03334D5A14C5E92CCB3E59E724A07D0300C618CBB2EC33799E7F358AA22740F13BD6E8028B63ED63A00A3D1B146C6377010A741D0B2D30A3B43DBB5DF4E3327ED3F0ED98DCA6FB904008797D2C7548317EDBFB'
$BinaryString &= 'DBBB10A196E1D0E6A49001212EC0F0F503F06900D4B4A269FC3E63A730084A5A117A0F799E3F9865D95FCED346259BEF9A4829AF4992E4394208E96A9F6D1B962FDD05D15B48C8824E7A17C08428E8D85E7B0A9DB6BDB36D74D89659979161EF832ABAF976DF41C60955F561860D95046331B0AFACD7B5AD77D6EE40AEF000AB1B703DBE4AE190522A1B0E87EF9C4C26EF658C6587150072CE79278EE3174929977DF96D080CAA183F5670E3CB89BB8EA36CA9855A6161C7D9C6EF8AAFEDD7C77AEF61B5F6D07D218D38ED9E7B904153FAFCBB26E5B83CB5458B672A03C6F2F990F7C740C80702D4C6A4AEFBB22CFBC67038FCAF799E7FFE303300C618BB1445D1374551742DB5C88552E082ED93AF92FBA6F6CAF3E5C24380C2367E8C4EFB0674602C0002019B3E4305343648411ED9367A889ABB0C1103AC10C30ED1026CF12EA42518769FAF82902AFA61F78DC7E34F8E46A35F2EC7ED1D66009848294F2649F2BC321B1052D5E60A0FA84AB7EB7F90CA8D192325A71E0222589B2D97B8061910E4E53163B7537AD8B82F6C341764F41810B8420DECFD85000064CCAE58DD56EE31AF4DCD06F834010C80081D8B86C3E1F01D93C9E4CF1863EAB00380E29CB3388E5F248438364BFC8F095C7555BC615E194A83B98C9EB2D9C50E19A825B5180B7081804BA177A5DE5CC68FB5F9C23401ECB929C6E7D21A28FDFEA0949D8B'
$BinaryString &= '2584D402D8F13FD66390A20318C53FF70F87C35F298AE2ABF336CEFD0000A6B5BE2C84B8358EE3DB7CF13EA6B463B729829D8FA653C5C390345968AA0CD210A0D6DA3E4FEB6202BEF81FD301A0BEFB2EEFEF02A52A2DB67CEDBA295D827D5A401510F06D140A0D03A6173D1C0EFFF7783C7E87D67A745400602C84E8C471FC422144D797D7F6E5D5AB14B9F8E83B65330CE578C8BBDB9E1F1BBDED1ABEE19BB88B8100347999A201D8DE19335E4C038080C7A5154039788825F82AFE202640A9E0C3B4825016406D40E260320F0F87C3FF9C65D9A7F6C33623B63F4B6759F6E759967D5E4AF9625703504A818B99EBC7E2582CEF8F550862A2A05D2568B7F9368FB72B07212661572D62397BDF3C401723B2EB1BB0F783F5288080C99572A44C12F6A522A1635CE102045E58C51F24D6D905405085A00B105C350214D680015A96655FC8B2ECCF598DD37F0E9C014CD74808B11EC7F11531907242FBE27EACD2CD35DDD697EAF3C5FF2E03A24CCD750DD87065045CA9BFD02A3C6A4F7E0A6DC73E13A5973F75E79C6F5FBFAF81075697EF9A241C3A5CD40E2B203DC0D3977077381CFE5A96651F98B7F87710005030C686D3306003ABA8A318BF4DA3A93BDB5C94DB574A4BD502A03A004C70F3A9FE55FAEF612100B5F126043094102074534E685C8F89862E26E0EB0F600E13F101806B80884B5BF0150999973CCFBF301C0E'
$BinaryString &= '7FB1288ABFDB2FA3DC4F00605AEB2D21C4E3E238BE83732EA9F17F15E3774DC6B11F4FF1EE21B97F57FC4F4DFB519B66F840C00528D888AF2A83397D75EDBE5C3F961170650B6C91D2370D182AF4318DD4A7E8538B7C3081D153A23C190E87BF351E8FFF609E957F070A008CB18C739E4551F43C21C43A64F83E437719BF1DB7BB8C1F1B9E611F03010526E2F9EA0630A00949F961C6EB8BAD67C90250FBDA41DE38A4E0C6B507805A9B605FB7C300F3F1BEA220DF18311F08841421E579FEE5D168F44B45517C653F0D72BF018069AD2F0921AE89E3F8998C31E12A047229FD2E55DFE7FD5DC542B6F1438003C5E9AEE9392EEF4B29FEF1D5F987787F57AAAC4A0CEFCBF953CA7C7D3DF47C9B765CEF2DA409681516E0D3067C25C2D3E38AD168F4CEF178FCDB5AEBF151078031636C1245D1F385106BD442A0901C3D54FFEF2BBA71C5F7D8861FA8ED1556EDE72BFEA1EA062E63C55271A1022075269F4B900B31785F08E0120E438C3C447C0CE91C4CC9F9BB749169E1CFBFCFF3FCDEFDB6C7881DC0CAF3FC5393C9E4FD52CA534A29890DF274B5037319BFD91403D20F6C2031270099066A371029EF330781423DFFCC411F8F52418D8EB894166258EA0FCA98F80AA37CA1930D783E7602015DA858E9AB92A48C0883C000D30DA8F5019890073514A1029583D11493C9E4FD799E7FEA206C511EC48B6AADC75AEB511CC7'
$BinaryString &= 'CF15421CC30C02AB00A414FC60EDC45C2733A433F834006A89AD4BE1F7C5FABE2C01D590B0F733CBC86A42534B52479FD03E7A1813C08A8A308611CA02A8054294412353A7F0E5BDBDBDB7174571EF41D8E2813080290BB8673299FC8910E25A2144644FE985043D9FF19BC33CEAF2FEE67C01FBBAD98FD0F4FA5063539311601EDF0498905160BEE2A3AA7B2528D98E905425F536643858BA8F2206D6CD027C65C2500310FBF1D3F7964D26933F3928EF7F600C60BA265AEBED288AEE14429CC03CB14DAD29EABF2B9B80C5D9907151BCBFAF5F1EA548C8976EAC4AAF5D0CA00ACDA67AB6908E3C14AF49DD5CE3CA0450BBF8F8BCBE8B05B8E60A40EF759AF77F5B5114F71F9411460708002CCFF3CF4C2693774B29AF154274A106A0768F7E4C03C06607D86081B5F8B2BD3FE4F1EDEBF6086FF3B5ED5E8190F7A7340EA5EA0107C500A8C0140A4EAE4E43BEBD041416E0327A7BC230D45BB06AA8627C86DDC964F2AE3CCF3F73903678900C8031C672ADF5B9288AEE10423C01A2EBD4BEF65806C0366AAAF8159AFFF765135C6DC2A8B5F5AEFF1F1403A054DD8594C3521986CBB352B4001723C08CDF950970A50BA1D83FCFF37B46A3D1CF2BA51EBA9A018029A52E72CEA3288A9EC339EF506A015C2A3694C7871E871919567054A572D027E2F904405F1C5D35CEAE32838F5AE013DA8F2F64EFBCAFF577280BA0A4FBEC'
$BinaryString &= '2222EA70506C67E2F4BD3C3C1A8DFEC36432793FDBA79AFF85058047BE0FF5A094F22629E55318631C33584AFE1F6303584EBF8AF2EF031117CB08F5E621C65F97E1CFC2005C157E55B6CB86680DA12CC0351F1062011411D03739486BADB22CFB5FA3D1E8EDF36EF77558008069AD875AEB9D288AEEE09C1F73517B1F2084787F7BE34E1DDEDF45B95D6940DFF3F8984168AE3DD4E8A97DF74243839089BA146009610194A21E33F6A7F60E70A5478BA2B86F381CFEBBA2283EB708B6B71000303D394F73CE0751143D8B319640864B6DDB8D95ECFAC205E87F54EF8F796C574F3E4A4E7F5E59807932008A8AEF8BFF43076E5258809D2EF4D17AF3989072624715E0EE6834FAD5C964F23B6C1F37FC1C0A00608C655AEBBF8DA2E83621C429DF400BDB785D7BF8A13A7D4C2BC03AF7F8BC3FB5ACD89543AF0A02140650653350550630EB745C6A5BAF2A4541A11B94EC2A407BA30F366A0C11FE3E3C1A8D7E6E5EA3BE0F3B0030ADF525ADF5288AA26773CE5720AF0EED1AA434F970ED0B803A08558DFD7D990097C7AF5207306F1610DA8A9B220052EBF4A9E3BFABB20057DC6EE7F4A91D89A1CF3D7DED0787C3E1CFE779FE11B64FDD7E0E1D0030C6B452EAEB42888194F2198CB1D827F4D94540A68163DB71A154A1CBFB538C9DE27D5DD9802A0C20241340DDF5170A04214659B5F9A78F41F800A50A0B7031012C2DE8'
$BinaryString &= 'F80EF72693C9AF8FC7E3FFC6181B2D92C12D1A0030C6D85829F53529E5538510D732C6B88FD6636942CC80B1D87F16EF4F9D0614524E5B97F1EF571A90BA232F440CA45404FAA8B72F1D08F50B08193E8ADD9E7EEF3ACFF30F8E46A39F39E89CFF6101803214B81045D133EDAC40D58D42AEFDFE3EEFEF2BFA09C90284160055B9EF2045C02AA93FD7F6626A6F00DF7387B0004A7A93F2DD4C5FF3BEE170F8D63CCF3FB188B6B690003005CEBF638C2551143D8B73DEA66602206DC0D71B802AFA51BAF550E27FDF7D3EC33D4C22A0AF4496B20B305410A4B000DFD04F8815B8660920DFF5C5F178FCCB5996FDEEA2A8FE870500CAACC0BD4288C70B216EC5DE2B65F8A70B1C28B49FE2FD7D06EB028C1031EF308980D4DEFCBE0A414AA38D5016608703D469C3585F00E037CFB22C7BE76432799B52EAF2A21AD92203405920F47529E5AD4288278518B52BEFEFCBF5D7E9FDA9625FDD1980BAE87FD5419CD4C7FA4A83E7CD025CB304A9D38521C02F8AE2A3A3D1E8A78AA27860916D6CA10160FA439DD55A9F8FA2E8E9BE2AC11020A080401DDE3FB4F1C7BC3200A1801012EFCE9209F001471D2C80D22FC0270242FBF91D3B19EF1D8D466FCDF37CDF067C1C590098EA015FE39C6B21C4ED8CB11E66C8AE70C035E46316EFEF0B177C543EA48C773F3300756502425382BE0D4055320221FD027C39FEF2FBC4AE6BADCF4C'
$BinaryString &= '26935FCCB2EC9D8B1AF71F3600608CB15C29751FE7BC2FA5BC8D19A5C22E2D803AD29B1A2A500A7E28064C65153E316F96D8DFFE7F685BB0AA4A7AD5A21EEAD8702CC6B7BD3D35F687C203EC37668C6D6759F66B93C9E43F69AD770E83611D1600605AEB91D6FA739CF3C74B296F76BD77AA2048A915F08976A11E9BDAD7AFAA08781021C02CBB02A9ADBA421A7060F13FA53E21A497A1751E645996FDFE6432F929A5D4F9C36257870600A627F0AE52EA7E21C4F59CF353659110A4DE5799095887E7F7A9FD2102DE2C22E0BC42805944C0AA1581BECD465598003656CC373A1C19C1AE8AA2F8B3F178FC6F175DF43BD40030FDC1CE6AADBF2684B85908F1045FF18FB951880A0898A18778FE59E37F4A38503504C0FE576757A059CA81A98D40A84CC0E7E121FA0F0D3EC1C4DDA2283E3E1E8FFF7551149F3A6CF674E800608ABE7FCB187B288AA25B38E71B94541C35248042009B2560C64DB91F33F2909A82791601CD734760087084540AFA5A8FD92C609636E8E6657A8E7C763C1EBF25CFF30F2DBAE27F6400609A19F8AAD6FA6121C45339E7EB148AEE12FB7C62DC2C461FDAD4A36AFC5F7706601EC540BE987D16A3A7CE24B4A9BFA7838FEBB7F8C26432796B9EE7EF618CE587D1900E2B004C415D7D853176514AF914BB46C0D5B21B9BE507DD86A6FC52A6E6503A01CD33FE3F881060161DC0D71988A203B85A7F'
$BinaryString &= '61A3CE5CAF0DA5F98CDFEEBEC964F2B35996FD81D67A72588DE8300300638C154AA9FB18633B51143D8531B6EADB9507A008BA6D18A3FE545A4FA1EE94E7A8A21DCC633760D58AC0D0E11C4EB9076300000A384944415494EEBAA1138BA078DE2CE7A57C1FC67970FF6432795B9665BFBBDFC33C1B00806B04BEA4B5DE9152DEC4185B7529FC5431D027F8F90C3E44440C0181C31002840EEAA40E05A1A4063106017D17D828725BE5B77ECBAF4C2693B76759F6DB5AEBE161379EA300008C319629A5BEC818DB1242DCC4395F836A027C068A7978AA77A0CE0598C57357AD03A082425D9980506A1FBA17C057264C51F129138BADDFED4B5996BD2DCBB2FFA9B5DE3B0A86735400C00481F35326B04E69D281EDFE731D0BED2508290CC2420DAAD1871AFFBC428059A93F9535604CA1F4D476AC4E317CD7B1F6F73BFDBDBF9865D9CF6659F6CEA3E0F9AF384876C416E73C8DE3F8DBE338FE09CEF96D949983E6FDE6482FFBF8B2ED986FC8A76FE457D571E036A3F1F546A83A12CC952275E92454013304C0A8694DD39821210F020F0A932B537D5996FD5C96657FA4B51E1D257B91ECE8ADBC288A2F33C61E10429C12423C1E02BA90EEBD5028E14A15529EAF4EC3A96A34B3D400D45113109273A76C05C6147EEA2E3E2003A494521FCFB2EC27B32CFB53C6D8E4C8394C7674978CA2E8794992BC8973FE12C6580C0D0081'
$BinaryString &= '3CB7C9066C66607A066CE027E4E5ED63A1D79FD5F3CF8305CCD21A2D04C8ECFB7CD41C1A276EBE3656B64B09AFA6DF59A6B5FEBF93C9E467A69D7CD5513492A30C008FA08094B7C671FC0629E57732C67A9047F701C1F4791E35689442EFA1E731BB17579D06EC33FC901E893E4654379BF1D546D839772AFD37274BDB937C7D860F18FF7651147F9465D9DB1665824F0300332C21C4669224FF444AF9F718631BD0FE009711631E5F6BCDA494A841632C605EC6EF9A985C97F7AF8301848080CBE8197B64728F2DC4523C3E54FA3DFD9ECE1445F1DF2793C92F2ED2008F060066170757E2387E5D14453FCC18BB09AAF8838CD136608801D814DF068CBA8C3FC4EBD7250052BCFF2CF4DF07029041634CA164009E3DFB601A78FA7DDD9BE7F97FC9B2EC1D5AEB4B57855DB0AB6871CE5329E52BE338FEE79CF3E798BA00160E60C65982800908E66DCCD06D20A862FC94FBE7C500282DCEAA6A00B6E143B1BEE9EDCDDB58E8E07A2D2BDEFF789665BF5014C57B8F9AD2DF0080151148296F8BE3F8478410DFC9181BB82604FBC20017F5871EEF621A3EC33E4C0C8002083E2660CF7CA4345381E83FD6027EFA1D5D544AFD619665BF5214C5678FAAD8D700C0637581B5288A7E208AA27FC018BBD1410BD1BF36C5771D1F42F7A92040D501E6C50028E5CE3EAFEF0B0BB063ED1081C23A80EFF1DE3CCF7F33CFF35F3F4C5D7C'
$BinaryString &= '1A00A82F24684B295F1AC7F18F32C65EC018EB406CC0E581A1D8DF0E0DECB0007A8EF2187B5E81CBB3436CC5FC1F755E820F047CE3D37D9D98EC2E4B50AC6E3FDEA6F7100B808C1F0313EBFB1C32C63E9C65D97F2C8AE28347A5ACB70180EA6CE0BA388E7F5008F1DD8CB1531436406106182850D80536C0D417264040601B01C5EB63F31529F312EDFB423A2D87183B655C3B00E00F2AA57E2FCBB25F9B6E27BFAA976CCC9F31ADF505A5D42719635FE39C0F38E72738E7094504C34EC8D2C3416062D7A1437FB1931F32044C11B7E3E5AAFB0220451EEBB7070972F6FE7CD75F684390CBF85D466F8567BB5AEB0F1745F1F35996FDA6D6FAA1E6CC6F180070AE8853711C7FBF10E2B58CB11BB4D6BC8A3EE062002E26607A723324B0454568B4D92C9E7F1626600B75F675D3AB63466B86051803A812E773CE3563ECBEA9D77F8752EA7E76085B773500B0BFDA405708F182288A5E2F847889D6DAB9B3905AAC630B7C101098F7D9C64D0101ECB543FB26BA46AC8718BF9DE2B39FD706079FE1533CBE61FCE794521FCCF3FC3794527FA1B5DE6DCEEE060042E8C03129E56BA494DFC7187B862D12BA0C0E13112191CF347A080020A3348FB701C8F7BE4218808B0D98AF0D19B77DDD3C06F3F4BE56ECAEF76500EC1E63EC2F8BA2F81F4551BC5B29F5707336370050754552CAEB8510DF2DA5BC9B3176B3D63AA2308210F1'
$BinaryString &= '0EAA1B703103FB7FD07363F4DFD7DECCF578C8F8218D030303CCC87DF13DD1E3678CB17B8BA2789752EA5D45517C89315634A770030075AC8E94F2E952CAEF1242BC8A3176BDD65A52BA0B510B78B0222408186C40808EF1010135FEB7FF67EB0D765F455F38E04B1BFA0C1E30FC8231F665A5D49F1645F1074551FC257B24D5D7AC06006AD707FA52CA674B295FC3397F99D6FA5AADB5B4E3571708B86E87C4F9D01CC4D0612794F7EA0300BB76C2A70FF80C9FE2EDA7D70BCEF9FD5AEB0F1445F1EEA2283E795866F2350070F88160594AF92C21C4AB39E72F678C9D628C25F6DE74EC24868A745C853C585D00D6E30033266A1D80EFB97CBA00761B33764A6B36A3147BC218BB5F6BFD01A5D41F1745718FD67AAB392B1B003808205812423C5D4AF9AD9CF3574C43836E498D291E2DF43E97E20FBD0EE535A8350FAE89499432612A2B81365071CE7719635FD65AFF9FA228DEA394FA8CD6FA7273163600B00840D0E19CDF24A57CB910E2958CB1A7B0471A93F2904EC4AE125ED77E7F4A9C0F897994FF61FA00B5AD5A8897B762FBF27D9D658C7D5129F59EA2283EA0B5BEF76A2EDF6D0060B1572C84382E8478B110E22ECEF99D8CB1276AADDB94C94221465F358EAFB27C861B02062E56625C868CB1AF69AD3FA9947A9F52EA434AA9B38CB1AC39C51A00382CAC60450871AB10E2859CF36F668CDDC0183BA9B58E4A'
$BinaryString &= 'E3A03416F5D1F0BA8DBD0A2850BDBBFD9E2D512F638C9D668CDDABB5FE9052EAC34AA9CF5D2DCD391A0038BA2B1142AC70CEEF14423C8F73FE7CC6D8358CB1E35AEBA43426533308F5C2FB0D02B3BC176BEB74C6183BC3187B406BFD11A5D4C7B4D69F504A5D6247B00B6F03000D2B6873CE8F71CE6FE79CDF218478367B2483B0598A87BEF1E287E033A2D47E7A7B67EAE91F504ADDA3B5BE476BFD69ADF5C34769E8460300CDF2AD9473DE1742DCC2397F06E7FC699CF35B18639B8CB135AD75EA1B28BA88460F74411A31C6CE33C61ED25A7F5E6BFD59ADF56794527F3D55F1C7CDA9D000C0D5BE04E7BCCF39DFE09CDF2884B89931763363EC06CEF9FA1410FA8CB188BA236EDEC68EFCCDA6E9BAF35AEBB38CB1FB18635F980E70BD576B7D5A6BBDCDAEB2D65B0D00342B7449CE798F73BEC218BB4608718A737E8A31F664C6D8131963C71863CB8CB11E63AC3D05068E3184AABB01110FAFD92335F67B8CB11DC6D81663EC61C6D8D719630F6AAD1F504A3D388DEBB7A6D57979F3933600D0ACD95632AD37E832C64E72CE3739E79B8CB10DCEF971C6D8F129302C4D41A1C5184B196309632C628F348011C6EFCED9A3F7C6EBA967CEA77FC78CB1D1F4EF1E63ECF294CA9F9D7AF7335AEB6F4C9B6B7C436BBD3BCDCF37E25D0300CDDAC71571CE53C6583C058915C6589F73DE9F32840EE7BCCD18EB4C41415AE7809E'
$BinaryString &= 'FECD4B639FB6C6DE658CED4C29FBF6341D37618C4DB4D613D6E4E41B0068D6A1FBBD7DBFB9664DC79C6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CD6A56B39AD5AC6635AB59CDDAFFF5FF0171D7EFA1DC5E7B9F0000000049454E44AE426082'
Return Binary($BinaryString)
EndFunc ;==>BinaryStringImage
GDI+ Perfect Illusion Variante 3 (GDIp.au3 wird dazu benötigt!):
;coded by UEZ 2011 Build 2011-06-04
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_UPX_Parameters=--ultra-brute --crp-ms=999999 --all-methods --all-filters
#AutoIt3Wrapper_Run_After=del /f /q "%scriptdir%\%scriptfile%_Obfuscated.au3"
#include <GUIConstantsEx.au3>
#include <GDIp.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global Const $width = 800
Global Const $width2 = $width / 2 - 100
Global Const $height = 600
Global Const $height2 = $height / 2 - 100
Global Const $bs = 20
Global Const $bs2 = $bs / 2
Global Const $max_r = $height * 0.7
Global $hGUI = GUICreate("GDI+ Perfect Illusion by UEZ 2011", $width, $height);, -1, -1, Default, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetState()
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global Const $screens = 8
Global $screen_bitmap[$screens]
Global $screen_context[$screens]
Global Const $hBrush_bg = _GDIPlus_BrushCreateSolid(0xFF101020)
Global Const $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global Const $iInterpolationMode = 7
Global $i, $j, $m, $r, $dir, $red, $green, $blue, $z = 0
For $i = 0 To $screens - 1
$screen_bitmap[$i] = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic)
$screen_context[$i] = _GDIPlus_ImageGetGraphicsContext($screen_bitmap[$i])
_GDIPlus_GraphicsFillRect($screen_context[$i], 0, 0, $width, $height, $hBrush_bg)
DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "handle", $screen_context[$i], "int", $iInterpolationMode)
Next
Global Const $iColor1 = 0xFFFFFFFF
Global $hPath, $hBrush, $aColor[2], $iColor2, $hBmp
$aColor[0] = 1
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
[/autoit] [autoit][/autoit] [autoit]$dir = 1
$i = 0
$j = 0.05
$m = 0
$r = 1
Do
$red = Hex(((Sin(1 * $z / 1) + 1) / 2) * 0xFF, 2)
$green = Hex(((Sin(2 * $z / 1) + 1) / 2) * 0xFF, 2)
$blue = Hex(((Sin(3 * $z / 1) + 1) / 2) * 0xFF, 2)
$z += 0.01
$hBmp = CreateGlowingBall($hGraphic, Min($r, 128), $iColor1, "0xB0" & $red & $green & $blue)
_GDIPlus_GraphicsDrawImageRect($screen_context[$m], $hBmp, ($width2 - $bs2) - Cos(-$i) * $r, ($height2 - $bs2) - Sin(-$i) * $r, $r, $r)
_GDIPlus_BitmapDispose($hBmp)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $screen_bitmap[$m], 0, 0, $width, $height)
$m = Mod($m + 1, $screens)
$i += $j
If $r > $max_r Or $r < 1 Then $dir *= -1
$r += (0.075 + Sin($i / 3.5) ) * $dir
Until Not Sleep(20)
Func CreateGlowingBall($hGraphics, $iLS, $iColor1 = 0xFFFFFFFF, $iColor2 = 0xFF00FF00) ; thanks to Eukalyptus for this function ![]()
Local $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iLS * 2, $iLS * 2, $hGraphics)
Local $hContext = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hContext, 2)
$hPath = _GDIPlus_PathCreate()
_GDIPlus_PathAddEllipse($hPath, 0, 0, $iLS * 2, $iLS * 2)
$hBrush = _GDIPlus_PathBrushCreateFromPath($hPath)
_GDIPlus_PathBrushSetSigmaBlend($hBrush, 0.4, 0.45)
_GDIPlus_PathBrushSetCenterColor($hBrush, $iColor2)
Local $aColor[2] = [1, BitAND($iColor1, 0x00FFFFFF)]
_GDIPlus_PathBrushSetSurroundColorsWithCount($hBrush, $aColor)
_GDIPlus_PathDispose($hPath)
_GDIPlus_GraphicsFillEllipse($hContext, 0, 0, $iLS * 2, $iLS * 2, $hBrush)
_GDIPlus_BrushDispose($hBrush)
$hPath = _GDIPlus_PathCreate()
_GDIPlus_PathAddEllipse($hPath, $iLS / 2, $iLS / 2, $iLS, $iLS)
$hBrush = _GDIPlus_PathBrushCreateFromPath($hPath)
_GDIPlus_PathBrushSetSigmaBlend($hBrush, 1, 0.95)
_GDIPlus_PathBrushSetGammaCorrection($hBrush, True)
_GDIPlus_PathBrushSetCenterPoint($hBrush, $iLS, $iLS)
_GDIPlus_PathBrushSetCenterColor($hBrush, $iColor1)
Local $aColor[2] = [1, $iColor2]
_GDIPlus_PathBrushSetSurroundColorsWithCount($hBrush, $aColor)
_GDIPlus_PathDispose($hPath)
_GDIPlus_GraphicsFillEllipse($hContext, $iLS / 2, $iLS / 2, $iLS, $iLS, $hBrush)
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hContext)
Return $hBitmap
EndFunc ;==>CreateGlowingBall
Func Min($a, $b)
If $a > $b Then Return $b
Return $a
EndFunc
Func _Exit()
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_BrushDispose($hBrush_bg)
For $i = 0 To $screens - 1
_GDIPlus_BitmapDispose($screen_bitmap[$i])
_GDIPlus_GraphicsDispose($screen_context[$i])
Next
_GDIPlus_GraphicsDispose($hGraphic)
GUIDelete($hGUI)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_Exit
Viel Spaß und Gruß,
UEZ
Schade. Ich hatte es auch mit einige Spielen probiert und ich konnte einen Screenshot erstellen.
Danke für's Testen.
Gruß,
UEZ
Mich würde mal interessieren, ob du es mit Ctrl+Alt+F12 versucht hast.
Gruß,
UEZ
Wenn du willst, kann du mal in AutoIt Windows Screenshooter reinschauen. Dort habe ich einige Möglichkeiten implementiert, um Screenshots zu erstellen, sollte auch mit Spielen funzen ![]()
Gruß,
UEZ
Ganz so einfach scheint's dann auch net zu klappen...
Kommazahlen z.B. 80.3 (wobei im NC-Programm das Komma nen Punkt is) werden auch geteilt dadurchSo, hier für euch mal zum Testen ein Ausschnitt eines echten NC-Programmes:
Was erwartest du, wenn du nur die Hälfte erwähnst?
Gruß,
UEZ
Hier noch eine Variante:
[autoit]
$sSource = _
"N5M6T1(BOHRER D10)" & @LF & _
"N10G0G54X10Y30S500M3" & @LF & _
"N15G0Z30" & @LF & _
"N20G81R2Z-15F500" & @LF & _
"N20G0G80Z300"
$sNew = StringRegExpReplace($sSource, "(\w\d+)", "$1 ")
MsgBox(0, "Test", $sNew)
Gruß,
UEZ
Ich glaube die Länge des Strings darf höchstens 2048 Zeichen lang sein.
Hier der Code, den ich benutze, um den Binärstring zu erzeugen:
; ============================================================================================================================
; Purpose : Converts any file to HEX binary string
; Author : Ward / UEZ
; ============================================================================================================================
Local $VarName = StringStripWS(InputBox("Convert to Binary String", "Select a name for the variable." & @CRLF & @CRLF & "$ will automatically added to the beginning of the variable!:", "BinaryString"), 3)
If $VarName = "" Then Exit
Local $FileName = FileOpenDialog("Open a file", @ScriptDir, "DLL file (*.*)")
If $FileName = "" Then Exit
Local $Handle = FileOpen($FileName, 16)
Local $BinaryString = FileRead($Handle)
FileClose($Handle)
Local $LineLen = 1024
Local $DllString = String($BinaryString)
Local $Script = "Func " & $VarName & "()" & @CRLF & @TAB & "Local _" & @CRLF & @TAB & "$" & $VarName & " = '" & StringLeft($DllString, $LineLen) & "'" & @CRLF
$DllString = StringTrimLeft($DllString, $LineLen)
While StringLen($DllString) > $LineLen
$Script &= " $" & $VarName & " &= '" & StringLeft($DllString, $LineLen) & "'" & @CRLF
$DllString = StringTrimLeft($DllString, $LineLen)
WEnd
If StringLen($DllString) <> 0 Then $Script &= " $" & $VarName & " &= '" & $DllString & "'" & @CRLF
$Script &= @TAB & "Return Binary($" & $VarName & ")" & @CRLF & "EndFunc"
ClipPut($Script)
MsgBox(64, "Convert to Binary String", "The result is in the clipboard, you can paste it to your script.")
[/autoit]Das Resultat ist eine Funktion mit dem String und es wird in den Zwischenspeicher kopiert.
Gruß,
UEZ
Hier eine weitere Möglichkeit:
[autoit]
#include <Array.au3>
$hFullScreen = WinGetHandle("Program Manager")
$aFullScreen = WinGetPos($hFullScreen)
_ArrayDisplay($aFullScreen)
Gruß,
UEZ
Die MSDN scheint ja die Bibel der Coder zu sein. Man muss nur daran glauben, suchen, finden und verstehen - und alles wird gut.
Danke,
UEZ
Hola,
du könntest das Bild in ein Binärstring umwandeln und direkt vom Speicher darstellen. Beispiel hier: [ offen ] "Binärbild" mit GDI laden! (jetzt ohne Memory Leak Dank Progandy!)
Wie kannst du ein Bild in ein Binärstring umwandeln? Schaue mal hier rein: http://www.autoitscript.com/forum/topic/12…post__p__879238
Gruß,
UEZ
Du bist ja krass drauf ![]()
Da dies hier wunderbar hier rein passt passt, habe ich es in deinen Code mit eingebaut -> ist nicht vollständig, z.B. fehlen die statischen Controls, wie GUICtrlCreatePic, etc.
_WinGetControls.au3
#include <ButtonConstants.au3>
#include <Constants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <WinAPI.au3>
#include-once
; #DEMOFUNCTION# ================================================================================================================
; Name...........: _WinGetControls
; Description ...: Liefert ein 2D-Array für die Controls eines Fensters.
; Das Array enhält für jedes Control die folgenden Informationen:
; |[0] HWND - HWND des Controls
; |[1] Class - Klasse des Controls
; |[2] NN - ClassNN des Controls
; |[3] ID - ID des Controls
; |[4] Visible - Sichtbar? 1 = ja, 0 = nein
; Das Feld Array[0][0] enthält die Anzahl der Controls.
; Syntax.........: _WinGetControls($hWnd)
; Parameters ....: $hWnd - HWND des Fensters (z.B. Rückgabewert von GUICreate)
; Return values .: Erfolg: Controlarray
; Fehler: False, @error = 1
; Author ........: Großvater (http://www.autoit.de)
; Modified.......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......:
; ===============================================================================================================================
Func _WinGetControls($hWnd)
Local $hCB
If Not IsHWnd($hWnd) Then Return SetError(1, 0, False)
__WinGetControlsAddControl("Init", 0)
$hCB = DLLCallbackRegister("__WinGetControlsAddControl", "Int", "HWND;LPARAM")
DllCall("User32.dll", "Int", "EnumChildWindows", "HWND", $hWnd, "Ptr", DllCallbackGetPtr($hCB), "LPARAM", $hWnd)
If @error Then Return SetError(DllCallbackFree($hCB), 0, False)
DllCallbackFree($hCB)
Return __WinGetControlsAddControl("Result", 0)
EndFunc
; #INTERNAL_USE_ONLY# ===========================================================================================================
; Name...........: __WinGetControlsAddControl
; Description ...: Callback-Funktion für DLLCall "EnumChildWindows" in _WinGetControls
; Remarks .......: Weil ich globale Variable für die Rückgabe von Funktionswerten nicht mag und die Implementierung
; der statischen Arrays recht rudimentär ist, sind die maximale Anzahl von Controls auf 1024
; und die maximale Anzahl von Klassen auf 256 begrenzt.
; ===============================================================================================================================
Func __WinGetControlsAddControl($hWnd, $lParam)
Local Static $UControls = 1024
Local Static $UClasses = 256
Local Static $aControls[$UControls + 1][6]
Local Static $aClasses[$UClasses + 1][2]
Local $aResult, $C, $Class, $ClassExist, $ID, $NN
Switch $hWnd
Case "Init"
$aControls[0][0] = 0
$aClasses[0][0] = 0
Return
Case "Result"
$C = $aControls[0][0] + 1
$aResult = $aControls
Redim $aResult[$C][6]
Return $aResult
EndSwitch
$aResult = DllCall("User32.dll", "Int", "GetClassNameW", "HWND", $hWnd, "WStr", "", "Int", 260)
If @error Or $aResult[0] = 0 Then Return True
$Class = $aResult[2]
$aResult = DllCall("User32.dll", "Int", "GetDlgCtrlID", "HWND", $hWnd)
If @error Or $aResult[0] = 0 Then Return True
$ID = $aResult[0]
$ClassExist = False
$C = $aClasses[0][0]
For $I = 1 To $C
If $aClasses[$I][0] = $Class Then
$NN = $aClasses[$I][1] + 1
$aClasses[$I][1] = $NN
$ClassExist = True
ExitLoop
EndIf
Next
If Not $ClassExist Then
$NN = 1
$C += 1
If $C > $UClasses Then Return False
$aClasses[0][0] = $C
$aClasses[$C][0] = $Class
$aClasses[$C][1] = $NN
EndIf
$C = $aControls[0][0] + 1
If $C > $UControls Then Return False
$aControls[0][0] = $C
$aControls[$C][0] = $hWnd
$aControls[$C][1] = $Class
$aControls[$C][2] = $NN
$aControls[$C][3] = $ID
$aControls[$C][4] = ControlCommand(HWnd($lParam), "", $ID, "IsVisible", "")
$aControls[$C][5] = __myCtrlGetClass($hWnd)
Return True
EndFunc
; ===============================================================================================================================
Func __myCtrlGetClass($hHandle) ;code by SmOke_N, modified by Guiness
Local Const $GWL_STYLE = -16
Local $iLong, $sClass
If IsHWnd($hHandle) = 0 Then
$hHandle = GUICtrlGetHandle($hHandle)
If IsHWnd($hHandle) = 0 Then
Return SetError(1, 0, "Unknown")
EndIf
EndIf
$sClass = _WinAPI_GetClassName($hHandle)
If @error Then
Return "Unknown"
EndIf
$iLong = _WinAPI_GetWindowLong($hHandle, $GWL_STYLE)
If @error Then
Return SetError(2, 0, 0)
EndIf
Switch $sClass
Case "Button"
Select
Case BitAND($iLong, $BS_GROUPBOX) = $BS_GROUPBOX
Return "Group"
Case BitAND($iLong, $BS_CHECKBOX) = $BS_CHECKBOX
Return "Checkbox"
Case BitAND($iLong, $BS_AUTOCHECKBOX) = $BS_AUTOCHECKBOX
Return "Checkbox"
Case BitAND($iLong, $BS_RADIOBUTTON) = $BS_RADIOBUTTON
Return "Radio"
Case BitAND($iLong, $BS_AUTORADIOBUTTON) = $BS_AUTORADIOBUTTON
Return "Radio"
EndSelect
Case "Edit"
Select
Case BitAND($iLong, $ES_WANTRETURN) = $ES_WANTRETURN
Return "Edit"
Case Else
Return "Input"
EndSelect
Case "Static"
Select
Case BitAND($iLong, $SS_BITMAP) = $SS_BITMAP
Return "Pic"
Case BitAND($iLong, $SS_ICON) = $SS_ICON
Return "Icon"
Case BitAND($iLong, $SS_LEFT) = $SS_LEFT
If BitAND($iLong, $SS_NOTIFY) = $SS_NOTIFY Then
Return "Label"
EndIf
Return "Graphic"
EndSelect
Case "ComboBox"
Return "Combo"
Case "ListBox"
Return "List"
Case "msctls_progress32"
Return "Progress"
Case "msctls_trackbar32"
Return "Slider"
Case "SysDateTimePick32"
Return "Date"
Case "SysListView32"
Return "ListView"
Case "SysMonthCal32"
Return "MonthCal"
Case "SysTabControl32"
Return "Tab"
Case "SysTreeView32"
Return "TreeView"
EndSwitch
Return $sClass
EndFunc
_WinGetControls Example 2.au3
#include "WinGetControls.au3"
#include <Array.au3>
$sGUITitle1 = "Test Getting GUI Control Types"
[/autoit] [autoit][/autoit] [autoit]$hGUI1 = GUICreate($sGUITitle1, 400, 500, -1, -1)
[/autoit] [autoit][/autoit] [autoit]$x3 = GUICtrlCreateButton("button1", 10, 10, 60, 20) ; button, it's a Group
$x4 = GUICtrlCreateButton("button2", 10, 40, 60, 20) ; button
$x5 = GUICtrlCreateButton("button3", 10, 70, 60, 20) ; button
$x6 = GUICtrlCreateEdit("Edit1", 10, 100, 60, 20) ; edit, it's a HScroll
$x7 = GUICtrlCreateInput("Input1", 10, 130, 60, 20) ; edit
$x8 = GUICtrlCreateLabel("Label1", 10, 160, 60, 20) ; static
$x9 = GUICtrlCreateRadio("Radio1", 10, 190, 60, 20) ; button
$x10 = GUICtrlCreateRadio("Radio2", 10, 220, 60, 20) ; button
$x11 = GUICtrlCreateCheckbox("CheckBox1", 10, 250, 60, 20) ; button
$x12 = GUICtrlCreateGroup("Group1", 10, 280, 80, 50) ; button, it's a Group
$x13 = GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group, it's a Group
$x14 = GUICtrlCreateCombo("", 10, 340, 60, 20) ; ComboBox
GUICtrlSetData(-1, "ComboItem1|Comboitem2|Comboitem3", "Comboitem3")
$x15 = GUICtrlCreateList("List1", 10, 370, 60, 20) ; ListBox
GUICtrlSetData(-1, "ListItem1|Listitem2|Listitem3", "Listitem2")
GUISetState(@SW_SHOW, $sGUITitle1)
[/autoit] [autoit][/autoit] [autoit]Dim $aControls, $hWnd, $Title
$Title = WinGetTitle($hGUI1 )
$aControls = _WinGetControls($hGUI1)
If Not IsArray($aControls) Then
MsgBox(0, "ERROR", "Der Aufruf von _WinGetControls() ist fehlgeschlagen!")
Else
_ArrayDisplay($aControls, $Title, -1, 0, "", "|", "Zeile|HWND|Class|NN|ID|Visible|Controls")
EndIf
Sleep(1000)
Exit
Wie hast du das ganze Zeug gelernt?
Gruß,
UEZ
Vielleicht so?
[autoit]
$min = 200 * 1024 ;200 kb = 200 * 1024 Bytes
$datei = "Text1.txt"
If FileExists($datei) And FileGetSize($datei) < $min Then MsgBox(0, "Info", "Datei ist kleiner als 200kb!")
Gruß,
UEZ