Jump to content

FastFind SnapShot - How can do I imagesearch from the Snapshot?


Recommended Posts

I have loaded FastFind into my code and it takes a snapshot and creates a BMP file from it. 

My issue is now I want to imagesearch from that BMP file (or snapshot memory) and look for a specific image from that image and get the coordinates from that. 

I have looked at all the documentation but I cannot find anything to assist me.

 

Does anyone have any idea?

Link to post
Share on other sites

There is 2 scripts that suppose to do it : ImageSearch.au3 and FindBmp.au3.  I tried them both and didn't get them to work.  So I decided to make one of my own.  The idea is quite simple in fact.

You simply put the BMP file and the desktop in separate 2 dim arrays.  To achieve it, use _ScreenCapture and _GDIPlus UDFs.  Once you have that you can make quite a simple 4 loops that compare both arrays.

Link to post
Share on other sites
4 hours ago, Nine said:

There is 2 scripts that suppose to do it : ImageSearch.au3 and FindBmp.au3.  I tried them both and didn't get them to work.  So I decided to make one of my own.  The idea is quite simple in fact.

You simply put the BMP file and the desktop in separate 2 dim arrays.  To achieve it, use _ScreenCapture and _GDIPlus UDFs.  Once you have that you can make quite a simple 4 loops that compare both arrays.

I’m completely lost at how to go about doing it - could you provide an example? 

Link to post
Share on other sites
Func GetImage($BMPFile, byref $BMPDataStart, byref $Width, byRef $Height, byref $Stride, $imgBytes=3)
local $Scan0, $pixelData, $hbScreen, $pBitmap, $pBitmapCap, $handle

; Load the bitmap to search in
    If $BMPFile="SCREEN" Then
        $hbScreen=_ScreenCapture_Capture("",0,0,-1,-1,False)
        $pBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hbScreen); returns memory bitmap
    Else
;try to get a handle
        $handle = WinGetHandle($BMPFile)
        If @error Then
;Assume its an unknown handle so correct filename should be given
            $pBitmap = _GDIPlus_BitmapCreateFromFile($BMPFile)
        Else
            $hbScreen=_ScreenCapture_CaptureWnd("",$handle,0,0,-1,-1,False)
            $pBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hbScreen); returns memory bitmap
        EndIf
    EndIf

;Get $tagGDIPBITMAPDATA structure
;~  ConsoleWrite("Bitmap Width:    " & _GDIPlus_ImageGetWidth($pBitmap) & @CRLF )
;~  ConsoleWrite("Bitmap Height:      " & _GDIPlus_ImageGetHeight($pBitmap) & @CRLF)

;~  24 bits (3 bytes) or 16 bits (2 bytes) comparison
    if ($imgBytes=2) then
        $BitmapData= _GDIPlus_BitmapLockBits($pBitmap, 0, 0, _GDIPlus_ImageGetWidth($pBitmap), _GDIPlus_ImageGetHeight($pBitmap), $GDIP_ILMREAD, $GDIP_PXF16RGB555)
;~      $BitmapData= _GDIPlus_BitmapLockBits($pBitmap, 0, 0, _GDIPlus_ImageGetWidth($pBitmap), _GDIPlus_ImageGetHeight($pBitmap), $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    Else
        $BitmapData= _GDIPlus_BitmapLockBits($pBitmap, 0, 0, _GDIPlus_ImageGetWidth($pBitmap), _GDIPlus_ImageGetHeight($pBitmap), $GDIP_ILMREAD, $GDIP_PXF24RGB)
;~      $BitmapData= _GDIPlus_BitmapLockBits($pBitmap, 0, 0, _GDIPlus_ImageGetWidth($pBitmap), _GDIPlus_ImageGetHeight($pBitmap), $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    endIf

    If @ERROR Then MsgBox(0,"","Error locking region " & @error)

    $Stride = DllStructGetData($BitmapData, "Stride");Stride - Offset, in bytes, between consecutive scan lines of the bitmap. If the stride is positive, the bitmap is top-down. If the stride is negative, the bitmap is bottom-up.
    $Width = DllStructGetData($BitmapData, "Width");Image width - Number of pixels in one scan line of the bitmap.
    $Height = DllStructGetData($BitmapData, "Height");Image height - Number of scan lines in the bitmap.
    $PixelFormat = DllStructGetData($BitmapData, "PixelFormat");Pixel format - Integer that specifies the pixel format of the bitmap
    $Scan0 = DllStructGetData($BitmapData, "Scan0");Scan0 - Pointer to the first (index 0) scan line of the bitmap.

    $pixelData = DllStructCreate("ubyte lData[" & (abs($Stride) * $Height-1) & "]", $Scan0)
    $BMPDataStart = $BMPDataStart & DllStructGetData($pixeldata,"lData")

    _GDIPlus_BitmapUnlockBits($pBitmap, $BitmapData)
    _GDIPlus_ImageDispose ($pBitmap)
    _WinAPI_DeleteObject ($pBitmap)

EndFunc;==>GetImage

The 2 lines near the end : $pixeldata = ... and $bmpdatastart = ... need to be change into a 2 embedded loops to fill a 2 dim array.  But for the rest it will pretty much stay the same.  That code comes from FindBMP.au3 !  And it is a good start.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By VIP
      Use MouseClick()  need:
      #RequireAdmin  
      Dll is already integrated in UDF !
      ; #INDEX# =============================================================== ; Title .........: ImageSearch ; AutoIt Version : 3.x ; Language ......: English ; Description ...: Check image Appears or Not and Return the position of an image on the desktop ; Author(s) .....: Dao Van Trong - TRONG.LIVE ; ======================================================================= ; #CURRENT# ============================================================= ; _ImageSearch ; _ImageSearch_Area ; _ImageSearch_Wait ; _ImageSearch_WaitArea ; ======================================================================== ;========================================================================= ; ; Author:...........: AutoIT VietNam : Dao Van Trong - TRONG.LIVE ; Description:......: Check image Appears or Not ; Find and return the position of an image on the desktop ; Syntax:........... _ImageSearch_Area, _ImageSearch ; Parameter(s):..... $_ImagePath: The image to locate on the desktop ; May be a list of image by delimited by "|" ; i.e: $_ImagePath = "image1.bmp|image2.bmp|image3.bmp" ; $P_x1 $P_y1: Position of 1st point ; $P_x2 $P_y2: Position of 2nd point - Default is last botton right of desktop ; $_Tolerance: 0 for no tolerance (0-255). Needed when colors of image differ from desktop. e.g GIF ; $_CenterPos: boolen. True will return $array[1] x $array[2] is center of image found. ; False will return top-left position ; Return Value(s):.. Return an array has 3 item ; On Success: $array[0] 1 ; On Failure: $array[0] 0 ; DLL not found or other error: $array[0] -1 ; $array[1] x $array[2]: position of image what found on desktop ; ; Note:............. Use _ImageSearch to search the entire desktop ; _ImageSearch_Area to specify a desktop region to search ; $_ImagePath with more item need more time appear on screen before function can detect. ; Decrease sleep time in the loop to detect faster. But less performance. I.e CPULoad increased ; ;======================================================================== EG 1:
      ;~ Opt("MustDeclareVars", 1) ;~ #AutoIt3Wrapper_UseX64=y ;~ #AutoIt3Wrapper_Change2CUI=y #RequireAdmin #include "_ImageSearch_UDF.au3" HotKeySet("{Esc}", "_Exit") ; Press ESC for exit Func _Exit() Exit 0 EndFunc ;==>_Exit Global Const $Ask_On_Found = 0 Global Const $Mouse_Move_On_Found = 1 Global Const $Mouse_Click_On_Found = 0 Global Const $iSleep_Time=500 Global $sCount = 0, $_Image_1 = @ScriptDir & "\example.bmp" ; First, use this function to create a file bmp, maybe a desktop icon for example') MsgBox(64 + 262144, 'ImageSearch', 'At first, create a file bmp,' & @CRLF & 'photos that will search on the screen!') _ImageSearch_Create_BMP($_Image_1) ConsoleWrite("! Search for images: " & $_Image_1 & @CRLF & '! Searching on the screen ...' & @CRLF) While 1 ToolTip('(Press ESC for EXIT) Searching ...', 1, 1) Sleep($iSleep_Time) $sCount += 1 Local $return = _ImageSearch($_Image_1) If $return[0] = 1 Then ConsoleWrite('- [' & $sCount & '] Image found:' & " X=" & $return[1] & " Y=" & $return[2] & @CRLF) If $Mouse_Move_On_Found Then MouseMove($return[1], $return[2]) Sleep($iSleep_Time) EndIf If $Mouse_Click_On_Found Then MouseClick("left", $return[1], $return[2]) ToolTip('(Press ESC for EXIT) - [' & $sCount & "] Image found:" & " X=" & $return[1] & " Y=" & $return[2], 1, 1) If $Ask_On_Found Then Local $ask = MsgBox(6 + 262144, 'Success [' & $sCount & ']', 'Image found:' & " X=" & $return[1] & " Y=" & $return[2]) If $ask = 2 Or $ask = 3 Or $ask = 5 Or $ask = 7 Then Exit ;No, Abort, Cancel, and Ignore If $ask = 10 Then _ImageSearch_Create_BMP($_Image_1) ; Continue ;Try Again EndIf EndIf Sleep(200) WEnd  
      Video demo:
       
       
      [+] When any problem or error occurs, please make sure that:
      - Downloaded and used the latest version.
      - Set screen Screen Scale and layout = 100%
      - Installed display driver.
      - Tried turning off the antivirus
      - Full installation: Microsoft Visual C++ Redistributable  2005->2022
      [+] You can download the AIO version of the Visual C++ Redistributable here: 
      -> https://www.mediafire.com/file/0ak8dcj9mdn7nyq/VisualCppRedist_AIO_2005-2022_x86_x64_%5Btrong.live%5D.zip/file
      -> FOR Windows XP: https://www.mediafire.com/file/5m5lnr1kfg73tc9/VisualCppRedist_AIO_2005-2019_x86_XP_%5Btrong.live%5D.zip/file
      <!> Password for Extract: trong.live
       
      [+] The last full version of SCITE4AutoIT supports windows XP:
      https://www.autoitscript.com/autoit3/scite/download/archive/v19.1127.1402.0-SciTE4AutoIt3.exe
       
    • By Dave1
      Hello everyone,
      I have several signals on the screen that need to be monitored while a program is running. These signals are scattered around an image which is maximized on 4  equal resolution screens - the AutoIT Window Info does not recognize any objects on the program meaning that I'm left with the PixelSearch() and PixelCheckSum() functions to monitor the signals:
      The signals are as small as a 5x5 pixel area and their coordinates are known.
      I've been digging around for a while now in this forum about the PixelSearch() and PixelCheckSum()  and found some interesting and useful ideas for the use of them. I also came across some other UDF functions like MultiMon(), FastFind(), TtColXY() and the ImageSearch2015 scripts that might be useful for the final output. I don't know if hovering the mouse by using TtColXY() and output its ToolTip() information onto the log file will be faster than using PixelSearch() and/or PixelCheckSum() in a loop for all signals' coordinates.
      The colours of the signals are below:
      red - 0x00FF00 (opaque red)
      green - 0x00FF00 (opaque green)
      yellow - 0xFFFF00 (opaque yellow)
      black - 0x000000 (opaque black, default colour)
      EDIT:
      The desired output is to monitor and record/log the changes and status of each inside a .txt file or a .csv with the below format: 
      Local Machine Time        Signal,      Change,               delta-t
      14:32:07                  Signal1     Green - Yellow         DELTA-t1
      14:34:02                  Signal1     Yellow - Red           DELTA-t1
      14:35:14                  Signal2     Yellow - Red           DELTA-t2
      ...
      Below is the code I came up with. 
      #include <AutoItConstants.au3> #include <MsgBoxConstants.au3> #include <misc.au3> #include <Date.au3> #include <Array.au3> #include <File.au3> #include <ScreenCapture.au3> #include <WinAPI.au3> #include <WinAPIHObj.au3> Global $program_name, $program_open, $Wname, $tCurrent Global $button_xy[2] = [150, 175] Global $iniColour, $ColourCheck, $NewCheck Global $Red, $Green, $Blue, $Nil Global $sFilePath = @ScriptDir & "\Signals_status.txt" Global $SignalID[10] = ["Signal_1", "Signal_2", "Signal_3", "Signal_4", "Signal_5", "Signal_6", "Signal_7", "Signal_8", "Signal_9", "Signal_10"] $program_name = "Signals.exe" $Wname = "Training Task 3" $program_open = ShellExecute($program_name, @ScriptDir) WinWait($Wname) $iniColour = "0x" & Hex(PixelGetColor($button_xy[0], $button_xy[1]), 6) ;~ $iniChecksum = "0x" & Hex(PixelChecksum($button_xy[0], $button_xy[0] - 5, $button_xy[1], $button_xy[1] + 5), 6) $ColourCheck = "0x" & Hex(PixelChecksum($button_xy[0], $button_xy[0] - 5, $button_xy[1], $button_xy[1] + 5, 1, $Wname), 6) ConsoleWrite(_ColourID($iniColour) & " // " & _ColourID($ColourCheck) & @CRLF) ;~ $ColourCheck = "0x " & Hex(PixelGetColor($button_xy[0], $button_xy[1]), 6) $iniColour = $ColourCheck ;$iniChecksum = $currentCheck Do ;~ While 1 _WindowOnTop() _Close_Notepad() $NewCheck = "0x" & Hex(PixelChecksum($button_xy[0], $button_xy[0] - 5, $button_xy[1], $button_xy[1] + 5, 1, $Wname), 6) $tCurrent = _NowCalc() $LogFile = FileOpen($sFilePath, 2) FileWriteLine($LogFile, "Local Machine Time " & "Signal, " & "Change, " & "delta-t") ;~ $ColourCheck = "0x" & Hex(PixelChecksum($button_xy[0], $button_xy[0] - 5, $button_xy[1], $button_xy[1] + 5, 1, $Wname), 6) If $ColourCheck <> $NewCheck Then ;If there's a colour change from the current colour $ColourCheck = $NewCheck Local $tChange, $NewCheckID, $ColourCheckID, $sLogMsg $tChange = _NowCalc() ConsoleWrite("Colour changed!" & @CRLF) $ColourCheckID = _ColourID($ColourCheck) $NewCheckID = _ColourID($NewCheck) $iTimeDiffh = _DateDiff('h', $tChange, $tCurrent) ; time difference in hours $iTimeDiffm = _DateDiff('n', $tChange, $tCurrent) ; time difference in minutes $iTimeDiffs = _DateDiff('s', $tChange, $tCurrent) ; time difference in seconds $durationCheckSum = $iTimeDiffh & ":" & $iTimeDiffm & ":" & $iTimeDiffs ; Timestamp of the signal until PixelCheckSum $sLogMsg = " " & $SignalID[0] & " " & $ColourCheckID & " - " & $NewCheckID & " " & $durationCheckSum _FileWriteLog($LogFile, $sLogMsg) ElseIf $ColourCheck = $NewCheck Then Local $Colour_check = _ColourID("0x" & Hex(PixelChecksum($button_xy[0], $button_xy[0] - 5, $button_xy[1], $button_xy[1] + 5, 1, $Wname), 6)) ConsoleWrite($tCurrent & " " & $Colour_check & @CRLF) EndIf FileClose($sFilePath) Until Not ProcessExists($program_name) And Not WinExists($Wname) _IsProgramOpen() Func _Close_Notepad() $notepad_open = ProcessExists("notepad.exe") ? ProcessClose("notepad.exe") : ProcessClose("notepad.exe") $notepad_open = WinActive("[CLASS:Notepad]") ? WinClose("[CLASS:Notepad]") : ProcessClose("notepad.exe") EndFunc ;==>_Close_Notepad Func _ColourID($sColour) $Red = Int("0x" & StringRegExpReplace($sColour, "(..)(..)(..)(..)", "\2")) $Green = Int("0x" & StringRegExpReplace($sColour, "(..)(..)(..)(..)", "\3")) $Blue = Int("0x" & StringRegExpReplace($sColour, "(..)(..)(..)(..)", "\4")) If $Green > $Blue And $Red > $Blue And $Green >= 0xB0 And $Red >= 0xB0 Then $sCol = "Yellow" ElseIf $Blue > 0xE0 And $Green > 0xE0 And $Red > 0xE0 Then $sCol = "White" ElseIf $Blue > 0x50 And $Blue = $Green And $Blue = $Red Then $sCol = "Grey" ElseIf $Red > $Green And $Red > $Blue And $Red > 0x70 Then $sCol = "Red" ElseIf $Green > $Red And $Green >= $Blue And $Green > 0x70 Then $sCol = "Green" ElseIf $Blue > $Red And $Blue > $Green And $Blue > 0x70 Then $sCol = "Blue" Else $sCol = "Nil" EndIf Return $sCol EndFunc ;==>_ColourID Func _WindowOnTop() WinActivate($Wname) WinSetOnTop($Wname, "", $WINDOWS_ONTOP) Opt("MouseCoordMode", 0) EndFunc ;==>_WindowOnTop Func _IsProgramOpen() If Not ProcessExists($program_name) And Not WinExists($Wname) Then Break(1) EndIf EndFunc ;==>_IsProgramOpen When the program is running, the window opens in the centre of the screen however, the PixelChecksum function is not looking at the correct area. In addition:
      1 - I'm not sure about how to put the message into the log file.
      2 - I tested this script but it is not recording the message into the log file.
      3 - Is there other way to calculate the duration in these lines?
      $iTimeDiffh = _DateDiff('h', $tChange, $tCurrent) ; time difference in hours $iTimeDiffm = _DateDiff('n', $tChange, $tCurrent) ; time difference in minutes $iTimeDiffs = _DateDiff('s', $tChange, $tCurrent) ; time difference in seconds $durationCheckSum = $iTimeDiffh & ":" & $iTimeDiffm & ":" & $iTimeDiffs ; Timestamp of the signal until PixelCheckSum $sLogMsg = " " & $SignalID[0] & " " & $ColourCheckID & " - " & $NewCheckID & " " & $durationCheckSum _FileWriteLog($LogFile, $sLogMsg) Thanks in advance!
    • By MASKED
      hi guys
      i am using imagesearch2015 library. (used another one before)
      but transparency parameter doesn't working. how i can solve this problem.
       
      here's my code
      #include "ImageSearch2015.au3" #include <Date.au3> ; Script Start - Add your code below here Global $x = 0 Global $y = 0 HotKeySet("{UP}","hey") HotKeySet("{DOWN}","heyo") Func hey() $balikcisaniye = _Date_Time_GetTickCount() $array = _ImageSearchArea("bul.bmp", 1, 0, 0, @DesktopWidth, @DesktopHeight, $x, $y, 2,0x000000) if($array = True) Then $balikcisaniye1 = _Date_Time_GetTickCount() MouseMove($x,$y) MsgBox(1,"","Found." & $x & "-" & $y & " / " & $balikcisaniye1-$balikcisaniye) Else MsgBox(1,"","Not Found.") EndIf EndFunc Func heyo() exit EndFunc while 1 WEnd when i disable transparency parameter, it work normal. but with parameter, this function is always returning false.
      please help.
       
      here's library i use :
       
       
    • By kellariluukku
      Hey.
      Is there anything that does the same thing as this?
       
      Namely I'm talking about detecting when something has changed on screen.
      The FastFind library is crashing without any errors after running:
      FFSnapShot($left, $top, $right, $bottom, 0) FFSnapShot($left, $top, $right, $bottom, 1) $diff = FFLocalizeChanges(0, 1) And then trying to overwritite the old snapshot (0 or 1).
      If I use always different snapshot numbers its using too much memory and will eventually crash my pc.
      I tried downloading older versions but they're not working and the author is inactive.
       
      It takes 2 snapshots and compares them returning the area that has changed very quickly (left, top, right ,bottom).
      Can anyone help me do this?
      Looping PixelGetColor would require a bunch of extra code to my purpose and its not as efficient...
       
      Thanks
       
       
    • By zuladabef
      Hello,
      I have been using Image Search UDF 2.0.2.0 without any issue, but today when I went to run the script I have been using for a few months now, I received the following error.  How can I determine where the issues lies?  Any suggestions on what the issue might be?  As far as I can tell, the variable has been declared.  I included the function from the UDF.  Thanks!
      "c:\install\include\_ImageSearch_UDF.au3" (117) : ==> Variable used without being declared.: If (FileExists($ImageSearchDLL_Path) = 0) Then _ImageSearch_CheckDLL() If (FileExists(^ ERROR  
       
      #include-once ; #INDEX# ======================================================================================================================= ; Title .........: ImageSearch ; AutoIt Version : 3.x ; Language ......: English ; Description ...: Check image Appears or Not and Return the position of an image on the desktop ; Author(s) .....: Dao Van Trong - TRONG.LIVE ; =============================================================================================================================== ; #CURRENT# ===================================================================================================================== ; _ImageSearch($_ImagePath, $_Tolerance = 0, $_CenterPos = True) ; _ImageSearch_Area($_ImagePath, $P_x1 = 0, $P_y1 = 0, $P_x2 = @DesktopWidth, $P_y2 = @DesktopHeight, $_Tolerance = 0, $_CenterPos = True) ; _ImageSearch_Wait($_ImagePath, $_TimeOut, $_Tolerance = 0, $_CenterPos = True) ; _ImageSearch_WaitArea($_ImagePath, $_TimeOut, $P_x1, $P_y1, $P_x2 = @DesktopWidth, $P_y2 = @DesktopHeight, $_Tolerance = 0, $_CenterPos = True) ; =============================================================================================================================== ; #VARIABLE# =================================================================================================================== Global $ImageSearch_Debug = True Global Const $ImageSearch_SleepTime = 100 If $ImageSearch_Debug Then ConsoleWrite("--\\ ImageSearch //: DEBUG -- OSArch : " & @OSArch & " // AutoIT ver: " & @AutoItVersion & (@AutoItX64 = 1 ? " X64" : " x86") & @CRLF) Global $_ImageSearchDLL_Path = @TempDir & "\_ImageSearch.dll" If FileExists(@ScriptDir & "\_ImageSearch.dll") Then $_ImageSearchDLL_Path = @ScriptDir & "\_ImageSearch.dll" If @AutoItX64 Then $_ImageSearchDLL_Path = @TempDir & "\_ImageSearch_x64.dll" If FileExists(@ScriptDir & "\_ImageSearch_x64.dll") Then $_ImageSearchDLL_Path = @ScriptDir & "\_ImageSearch_x64.dll" EndIf Global Const $ImageSearchDLL_Path = $_ImageSearchDLL_Path ; =============================================================================================================================== ; #INTERNAL_USE_ONLY# =========================================================================================================== _ImageSearch_CheckDLL() ; =============================================================================================================================== ;=============================================================================== ; ; Author:...........: AutoIT VietNam : Dao Van Trong - TRONG.LIVE ; Description:......: Check image Appears or Not ; Find and return the position of an image on the desktop ; Syntax:........... _ImageSearch_Area, _ImageSearch ; Parameter(s):..... $_ImagePath: The image to locate on the desktop ; May be a list of image by delimited by "|" ; i.e: $_ImagePath = "image1.bmp|image2.bmp|image3.bmp" ; $P_x1 $P_y1: Position of 1st point ; $P_x2 $P_y2: Position of 2nd point - Default is last botton right of desktop ; $_Tolerance: 0 for no tolerance (0-255). Needed when colors of image differ from desktop. e.g GIF ; $_CenterPos: boolen. True will return $array[1] x $array[2] is center of image found. ; False will return top-left position ; Return Value(s):.. Return an array has 3 item ; On Success: $array[0] 1 ; On Failure: $array[0] 0 ; DLL not found or other error: $array[0] -1 ; $array[1] x $array[2]: position of image what found on desktop ; ; Note:............. Use _ImageSearch to search the entire desktop ; _ImageSearch_Area to specify a desktop region to search ; $_ImagePath with more item need more time appear on screen before function can detect. ; Decrease sleep time in the loop to detect faster. But less performance. I.e CPULoad increased ; ;=============================================================================== Func _ImageSearch($_ImagePath, $_Tolerance = 0, $_CenterPos = True) Return _ImageSearch_Area($_ImagePath, 0, 0, @DesktopWidth, @DesktopHeight, $_Tolerance, $_CenterPos) EndFunc ;==>_ImageSearch ; * -----:| Dao Van Trong - TRONG.LIVE Func _ImageSearch_Area($_ImagePath, $P_x1 = 0, $P_y1 = 0, $P_x2 = @DesktopWidth, $P_y2 = @DesktopHeight, $_Tolerance = 0, $_CenterPos = True) Local $_Return[3] = [0, 0, 0], $_TempVar, $i, $ImageSearchDLL_Path $_Return[0] = -1 If (FileExists($_ImagePath) = 0) And (StringInStr($_ImagePath, "|") = 0) Then If $ImageSearch_Debug Then ConsoleWrite("! Image file not found - Can't search !" & @CRLF & "! " & $_ImagePath & @CRLF) Return SetError(-1, 0, $_Return) EndIf If $P_x1 > $P_x2 Then ; change position to default top-left and botton-right $_TempVar = $P_x1 $P_x1 = $P_x2 $P_x2 = $_TempVar EndIf If $P_y1 > $P_y2 Then $_TempVar = $P_y1 $P_y1 = $P_y2 $P_y2 = $_TempVar EndIf Local $_Find_IMG_X, $_Find_IMG = StringSplit($_ImagePath, '|', 2) For $i = 0 To (UBound($_Find_IMG) - 1) Step +1 $_Find_IMG_X = $_Find_IMG[$i] If (FileExists($_Find_IMG_X) = 0) Then If $ImageSearch_Debug Then ConsoleWrite("! Image file not found !" & @CRLF & "! " & $_Find_IMG_X & @CRLF) ContinueLoop EndIf If $_Tolerance > 0 Then $_Find_IMG_X = "*" & $_Tolerance & " " & $_Find_IMG_X If (FileExists($ImageSearchDLL_Path) = 0) Then _ImageSearch_CheckDLL() Local $result = DllCall($ImageSearchDLL_Path, "str", "ImageSearch", "int", $P_x1, "int", $P_y1, "int", $P_x2, "int", $P_y2, "str", $_Find_IMG_X) If Not IsArray($result) Then ; dll not found or other error If $ImageSearch_Debug Then ConsoleWrite("! Dll not found or Call Dll error !" & @CRLF) $_Return[0] = -1 Return SetError(1, 0, $_Return) EndIf If Int($result[0]) = 0 Then ; search not found If $ImageSearch_Debug Then ConsoleWrite("! Search not found !" & @CRLF) $_Return[0] = 0 ContinueLoop Else $_Return[0] = 1 If $ImageSearch_Debug Then ConsoleWrite("+ Dll Return: " & $result[0] & @CRLF) Local $array = StringSplit($result[0], "|") If $_CenterPos Then $_Return[1] = Round(Number($array[2]) + (Number($array[4]) / 2)) $_Return[2] = Round(Number($array[3]) + (Number($array[5]) / 2)) If $ImageSearch_Debug Then ConsoleWrite("- CP: " & $_Return[1] & " " & $_Return[2] & @CRLF) Else $_Return[1] = Number($array[2]) $_Return[2] = Number($array[3]) If $ImageSearch_Debug Then ConsoleWrite("- : " & $_Return[1] & " " & $_Return[2] & @CRLF) EndIf ExitLoop EndIf Next Return $_Return EndFunc ;==>_ImageSearch_Area ; * -----:| Dao Van Trong - TRONG.LIVE ;=============================================================================== ; ; Description:......Wait for a specified number of milliseconds for an image to appear ; ; Syntax: _ImageSearch_Wait, _ImageSearch_WaitArea ; Author:...........This function copied from original UDF shared from autoitscript forum. ; I have rename them for easy to remember ; I dont know who are author. Please contact me if you are author of them. I will leave a copyright ; Parameter(s):.....$_ImagePath: The image to locate on the desktop ; May be a list of image by delimited by "|" ; i.e: $_ImagePath = "image1.bmp|image2.bmp|image3.bmp" ; $_TimeOut: Timeout wait after return "not found" result (in milliseconds) ; $P_x1 $P_y1: Position of first point ; $P_x2 $P_y2: Position of second point - Default is last botton right of desktop ; $_Tolerance: 0 for no tolerance (0-255). Needed when colors of image differ from desktop. e.g GIF ; $_CenterPos: boolen. True will return $array[1] x $array[2] is center of image found. False will return top-left position ; Return Value(s):..On Success: Returns 1 ; On Failure: Returns 0 ; $_ImagePath with more item need more time appear on screen before function can detect. ; Decrease sleep time in the loop to detect faster. But less performance. I.e CPULoad increased ; ;=============================================================================== Func _ImageSearch_Wait($_ImagePath, $_TimeOut, $_Tolerance = 0, $_CenterPos = True) Local $_Return[3] = [0, 0, 0] Local $_StartTime = TimerInit() While TimerDiff($_StartTime) < $_TimeOut Sleep($ImageSearch_SleepTime) $_Return = _ImageSearch_Area($_ImagePath, 0, 0, @DesktopWidth, @DesktopHeight, $_Tolerance, $_CenterPos) If $_Return[0] > 0 Then ExitLoop WEnd Return $_Return EndFunc ;==>_ImageSearch_Wait ; * -----:| Dao Van Trong - TRONG.LIVE Func _ImageSearch_WaitArea($_ImagePath, $_TimeOut, $P_x1, $P_y1, $P_x2 = @DesktopWidth, $P_y2 = @DesktopHeight, $_Tolerance = 0, $_CenterPos = True) Local $_Return[3] = [0, 0, 0] Local $_StartTime = TimerInit() While TimerDiff($_StartTime) < $_TimeOut Sleep($ImageSearch_SleepTime) $_Return = _ImageSearch_Area($_ImagePath, $P_x1, $P_y1, $P_x2, $P_y2, $_Tolerance, $_CenterPos) If $_Return[0] > 0 Then ExitLoop WEnd Return $_Return EndFunc ;==>_ImageSearch_WaitArea ; * -----:| Dao Van Trong - TRONG.LIVE Func _ImageSearch_CheckDLL() ; * -----:| ImageSearchDLL Binary Local $DllBinary = '0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000080100000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000D6EE294F928F471C928F471C928F471CD4DE9A1C908F471CD4DE981C968F471CD4DEA71C998F471CD4DEA61C908F471C9BF7C41C938F471C9BF7D41C9F8F471C928F461CD78F471C9FDDA21C918F471C9FDD9B1C938F471C9FDD9C1C938F471C9FDD991C938F471C52696368928F471C000000000000000000000000000000000000000000000000504500004C010500A488E25B0000000000000000E00002210B010C00002200000016000000000000FC290000001000000040000000000010001000000002000005000100000000000500010000000000008000000004000000000000020040010000100000100000000010000010000000000000100000006044000065000000C8440000A000000000600000E001000000000000000000000000000000000000007000005802000050410000380000000000000000000000000000000000000000000000000000001043000040000000000000000000000000400000300100000000000000000000000000000000000000000000000000002E74657874000000EB200000001000000022000000040000000000000000000000000000200000602E72646174610000320B000000400000000C000000260000000000000000000000000000400000402E64617461000000C8030000005000000002000000320000000000000000000000000000400000C02E72737263000000E0010000006000000002000000340000000000000000000000000000400000402E72656C6F6300005802000000700000000400000036000000000000000000000000000040000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' $DllBinary &= 'B801000000C20C00CCCCCCCCCCCCCCCC568BF185F60F8497010000803E000F848E010000578B3DA440001068A441001056FFD783C40885C075035F5EC368AC41001056FFD783C40885C075085FB8C0C0C0005EC368B441001056FFD783C40885C075085FB8808080005EC368BC41001056FFD783C40885C075085FB8FFFFFF005EC368C441001056FFD783C40885C075085FB8800000005EC368CC41001056FFD783C40885C075085FB8FF0000005EC368D041001056FFD783C40885C075085FB8800080005EC368D841001056FFD783C40885C075085FB8FF00FF005EC368E041001056FFD783C40885C075085FB8008000005EC368E841001056FFD783C40885C075085FB800FF00005EC368F041001056FFD783C40885C075085FB8808000005EC368F841001056FFD783C40885C075085FB8FFFF00005EC3680042001056FFD783C40885C075085FB8000080005EC3680842001056FFD783C40885C075085FB80000FF005EC3681042001056FFD783C40885C075085FB8008080005EC3681842001056FFD783C40885C075085FB800FFFF005EC3682042001056FFD783C408F7D81BC0257F7F7FFF5F05808080005EC383C8FF5EC3CCCCCCCCCCCCCCCCCC568BF18BC68A1080FA20740580FA09750340EBF18A0884C9743F80F92D740580F92B750140803830752F8A480180F978740580F95875220FBE400250FF15A840001083C40485C074106A106A0056FF15AC40001083C40C5EC356FF15B040001083C4045EC3CCCCCCCCCCCCCCCCCCCCCC558BEC81EC6C040000A10050001033C58945FC8B450C53568B7508578BF98985B8FBFFFF8B45105289BDB0FBFFFF89B5A4FBFFFF8985ACFBFFFFFF15184000108985A8FBFFFF85C00F844302000033C9C785C0FBFFFF280000005166898DCEFBFFFF33DB8D8DC0FBFFFF889DBFFBFFFF515353535750FF151440001085C00F84E6010000668BBDCEFBFFFF0FB7C73B45140F8CD30100008B8DACFBFFFF6683FF100F94C088018B8DB8FBFFFF8B85C4FBFFFF89068B85C8FBFFFF89018B068BB5C8FBFFFF0FAFC68985B4FBFFFFC1E002508985A0FBFFFFFF15B84000108BD883C404899DACFBFFFF85DB0F847A0100006683FF080F94C08885BEFBFFFF84C0750CB820000000668985CEFBFFFF8BBDA8FBFFFFF7DE89B5C8FBFFFF8BB5B0FBFFFF5657FF15104000106A0089859CFBFFFF8D85C0FBFFFF508B85B8FBFFFF53FF306A005657FF151440001085C00F840501000080BDBEFBFFFF000F84F1000000B800040000E8F61C00008BC45068000100006A0057898598FBFFFFFF150C4000108B95A4FBFFFF8B02250300008079054883C8FC407409BF040000002BF8EB0233FF8B85B8FBFFFF8D73FF89BDB0FBFFFF8B088BC10FAFC70385B4FBFFFF03F08B85A0FBFFFF83C0FC03D833C08985B4FB' $DllBinary &= 'FFFF85C97E6E8B8DB8FBFFFF8D49002BF733FF393A7E4CEB068D9B000000000FB606478B8D98FBFFFF4E8B14818BC2C1E8080FB6C80FB6C2C1E0080BC8C1EA10C1E1080FB6C28B95A4FBFFFF0BC8890B83EB043B3A7CC88B85B4FBFFFF8B8DB8FBFFFF8BBDB0FBFFFF408985B4FBFFFF3B017C9B8BBDA8FBFFFF8B9DACFBFFFFC685BFFBFFFF018B859CFBFFFF85C074085057FF1510400010FFB5A8FBFFFFFF150840001080BDBFFBFFFF00751085DB740C53FF15A040001083C40433DB8BC38DA588FBFFFF5F5E5B8B4DFC33CDE8D61200008BE55DC3CCCCCCCCCCCCCCCC558BEC81EC74020000A10050001033C58945FC8B450C538B5D088985E0FDFFFFC700FFFFFFFF33C056578B7D108995D4FDFFFF898DD8FDFFFFC785E8FDFFFF0000000038010F84F706000085FF6A2E0F48F85189BDDCFDFFFFFF15BC4000108BF083C40885F674014683FF018B3DA44000100F8F0E01000085F6745F682842001056FFD783C40885C00F84F7000000682C42001056FFD783C40885C00F84E4000000683042001056FFD783C40885C00F84D1000000683442001056FFD783C40885C00F84BE000000683842001056FFD783C40885C00F84AB0000008B85DCFDFFFFC685E7FDFFFF0085C07E178B8DE0FDFFFF8B85E8FDFFFFC70101000000E9CD00000085F67477683C42001056FFD783C40885C075178B8DE0FDFFFF8B85E8FDFFFFC70101000000E9A3000000684042001056FFD783C40885C0742E684442001056FFD783C40885C0741F684842001056FFD783C40885C075248B8DE0FDFFFF89018B85E8FDFFFFEB668B8DE0FDFFFF8B85E8FDFFFFC70102000000EB528B85E8FDFFFFEB448B85E0FDFFFFC685E7FDFFFF01C700010000008B85DCFDFFFF85C07E0348EB0233C050FFB5D8FDFFFFFF3554530010FF15F84000108985E8FDFFFF83F8020F824F0300008B8DE0FDFFFF8B95D4FDFFFF83FAFF740583FBFF750885D2741785DB741383FAFF740583FBFF7513C685EFFDFFFF01EB1133DB33D28995D4FDFFFFC685EFFDFFFF0085C00F85A40000008B0983F9FF0F8E990000003885EFFDFFFF740433D2EB028BC36810200000505251FFB5D8FDFFFF6A00FF15004100108985E8FDFFFF85C0741A80BDEFFDFFFF0075625F5E5B8B4DFC33CDE8671000008BE55DC3FFB5D8FDFFFFFF157440001083F8FF0F849D0200008B85DCFDFFFF85C07E2C4850FFB5D8FDFFFFFF3554530010FF15F84000108985E8FDFFFF83F8020F8270020000C685E7FDFFFF01EB068B85E8FDFFFFC785D0FDFFFF0000000085C00F85740100008B85E0FDFFFFC7000000000085F67439685442001056FFD783C40885C00F84E5010000685842001056FFD783C40885C00F84D2010000686042001056FFD783C40885C00F84BF010000684C420010FF157C4000108BF885FF' $DllBinary &= '0F84AA0100008B3570400010686442001057FFD66874420010578985CCFDFFFFFFD66884420010578985C4FDFFFFFFD668A0420010578985C0FDFFFFFFD668BC420010578985C8FDFFFFFFD68BF0C785ACFDFFFF010000008B85CCFDFFFFC785B0FDFFFF00000000C785B4FDFFFF00000000C785B8FDFFFF0000000085C00F848B0000006A008D8DACFDFFFF518D8DBCFDFFFF51FFD085C0757568040100008D85F0FDFFFF506AFFFFB5D8FDFFFF6A006A00FF156C4000108D85DCFDFFFF508D85F0FDFFFF50FF95C0FDFFFF85C0753368808080008D85E8FDFFFF50FFB5DCFDFFFFFF95C8FDFFFF8B8DE8FDFFFF33D2FFB5DCFDFFFF85C00F45CA898DE8FDFFFFFFD6FFB5BCFDFFFFFF95C4FDFFFF57FF15684000108B85E8FDFFFF80BDEFFDFFFF008BBDE0FDFFFF0F8470020000833F00741C8D8DA8FDFFFF5150FF152041001085C00F84710200008B85B4FDFFFF8D8D90FDFFFF516A1850FF151C40001083FBFF0F85950100008B8594FDFFFF85C00F84C7010000660F6E8D98FDFFFFF30FE6C9660F6EC0F30FE6C0F20F5EC8660F6E85D4FDFFFFF30FE6C0F20F59C8F20F580DF8420010F20F2CD9E98E0100006A006A006A036A006A006800000080FFB5D8FDFFFFFF15644000108BF883FFFF74256A0057FF1560400010506A028985DCFDFFFFFF155C4000108BF085F6751A57FF155840001033C05F5E5B8B4DFC33CDE8A20D00008BE55DC356FF155440001085C0752157FF155840001056FF153C40001033C05F5E5B8B4DFC33CDE8760D00008BE55DC36A008D8DDCFDFFFF51FFB5DCFDFFFF5057FF152C40001056FF153040001057FF15584000108D85CCFDFFFF506A0056FF152841001085C078AD8B85CCFDFFFF85C074A38D8DD0FDFFFF5168884100106A006A0050FF15F04000108B8DD0FDFFFF33D285C08B85CCFDFFFF500F48CA898DD0FDFFFF8B08FF510856FF153C4000108B8DD0FDFFFF85C90F8433FFFFFF8B018D95E8FDFFFF5251FF500C8B85E8FDFFFF85C00F853DFEFFFF8B85D0FDFFFF508B08FF510833C05F5E5B8B4DFC33CDE8AE0C00008BE55DC38B8598FDFFFF85C07436660F6E8D94FDFFFF660F6EC0F30FE6C9F30FE6C0F20F5EC8660F6EC3F30FE6C0F20F59C8F20F580DF8420010F20F2CC18985D4FDFFFF833F007456FFB5B8FDFFFF8B3504400010FFD6FFB5B4FDFFFFFFD680BDE7FDFFFF007537FFB5E8FDFFFFFF151C4100108B95D4FDFFFF6A105352FF37FFB5D8FDFFFF6A00FF15004100105F5E5B8B4DFC33CDE8130C00008BE55DC38B85E8FDFFFF83BDD0FDFFFF008B95D4FDFFFF745B85D2752885DB75248D4A04EB21FFB5E8FDFFFFFF151C41001033C05F5E5B8B4DFC33CDE8D20B00008BE55DC333C95153526A0050FF15184100108B8DD0FDFFFF8BF0518B11FF52088BC65F5E5B8B4DFC33CDE8' $DllBinary &= 'A30B00008BE55DC385D2750485DB740F6A0C5352FF3750FF15184100108BF08B4DFC5F5E33CD5BE87B0B00008BE55DC3CCCCCCCCCCCCCCCCCCCCCCCCCC558BEC83EC4CA10050001033C58945FC538BD9565785DB751333C05F5E5B8B4DFC33CDE8420B00008BE55DC333F656FF1514410010508945E8FF15184000108BF885FF0F84C90000008D45B45053FF152041001085C00F84AF0000008D45C8506A18FF75C4FF151C40001085C00F8486000000FF75D0FF75CCFF75E8FF15244000108BF08975E485F6746E5657FF15104000108945E085C0745F8B4DCC894DF48B4DD06880808000C745EC00000000C745F000000000894DF8FF15004000108BF08D45EC565057FF151041001056FF15044000106A036A006A00FF75D0FF75CC536A006A0057FF150C410010FF75E057FF15104000108B75E4FF75C4FF1504400010FF75C0FF150440001057FF1508400010FF75E86A00FF150441001053FF151C4100108B4DFC8BC65F5E33CD5BE8370A00008BE55DC3CCCCCCCCCCCCCCCCCC558BEC8B450803C05DC20400CCCCCCCC558BEC83E4F881ECB4000000A10050001033C4898424B00000005356578B7D180F57C06A2E33DBC74424180000000057F30F7F842494000000C7442438FFFFFFFFC744245800000000895C2428FF15BC4000108BF083C40885F6744C8B1DA440001046683C42001056FFD383C40885C0741E682842001056FFD383C40885C0740F682C42001056FFD383C40885C075168B35084100106A31FFD66A328BD8FFD689442420EB0233DB8BF78D9B000000008A063C2074043C09750346EBF3803E2A0F857B0200000FBE4601468B3DC440001050FF15C040001083C40483F8480F848401000083F8570F84150100006A0468D042001056FFD783C40C85C0751383C6048BCEE828F3FFFF89442450E9C50100006A0568D842001056FFD783C40C85C00F85A80000006A1F83C6058D8424A00000005650FF15B44000108A9424A80000008DBC24A800000083C40CC68424BB0000000084D27422B9E0420010B0208BFF3AD074128A41014184C075F48A57014784D275E3EB03C607008D8C249C000000E8FBF0FFFF8BC883F9FF751E6A108D8424A00000006A0050FF15AC40001083C40C89442430E92C0100008BC1C1E8080FB6D00FB6C1C1E0080BD0C1E910C1E2080FB6C10BD089542430E9080100008BCEE85BF2FFFF8944241485C0790DC744241400000000E9EC0000003DFF0000000F8EE1000000C7442414FF000000E9D40000008D7E018BC78A0880F920740580F909750340EBF18A0884C9744180F92D740580F92B75014080383075318A480180F978740580F95875240FBE400250FF15A840001083C40485C074126A106A0057FF15AC40001083C40C8BD8EB7957FF15B04000108BD8EB6B8D7E018BC78D49008A0880F9' $DllBinary &= '20740580F909750340EBF18A0884C9744380F92D740580F92B75014080383075338A480180F978740580F95875260FBE400250FF15A840001083C40485C074146A106A0057FF15AC40001083C40C89442420EB0E57FF15B04000108944242483C40485F60F84A00000008A1684D20F8496000000EB068D9B00000000B9E0420010B0203AD0742C8A41014184C075F48A56014684D275E5B8E44200105F5E5B8B8C24B000000033CCE8F90600008BE55DC214008D7E018BF78D6424008A063C2074083C090F857FFDFFFF46EBEF51FF7424548D4424488BD350FF74242C8BCFE8F8F3FFFF8BD883C410895C246485DB74196A00FF15144100108BF8897C245C85FF752353FF1504400010B8E44200105F5E5B8B8C24B000000033CCE8860600008BE55DC2140033C933F6837C244001894C2450894C241C894C2434894C2474884C241175658D4424785053FF152041001085C074408B8C24840000008D4424126A01508D4424288BD7508D44244450E8B8F0FFFF83C41089442434FFB42488000000FF1504400010FFB42484000000FF15044000108BCBE8A0FAFFFF8BD88944246485DB0F8460FFFFFF6A088D4424168BD7508D4424288BCB508D44244450E868F0FFFF83C4108944242485C00F84A90500008B75108B7D142B75082B7D0C46FF74245C47FF15184000108BD8895C241885DB0F847F0500005756FF742464FF15244000108944245085C00F84670500005053FF15104000108944247485C00F8453050000682000CC00FF750CFF7508FF74246857566A006A0053FF152040001085C00F842F0500008B4C24508D4424136A08508D4424688BD3508D44245850E8C7EFFFFF8BD083C4108954241C85D20F84020500008B74244C8BDE8B7C24380FAF7C24200FAF5C2460807C241200897C2454895C2458750B807C2413000F84CA0000008B44243083F8FF740925F8F8F8008944243033C985DB7E4E83FB0472398BC3250300008079054883C8FC40660F6F0D004300108BD32BD08B44241CF30F6F0083C1048D4010660FDBC1F30F7F40F03BCA7CE98B54241C3BCB7D0C81248AF8F8F800413BCB7CF433C985FF7E7583FF04723E8BC7250300008079054883C8FC40660F6F0D004300108BD72BD08B442424EB078DA42400000000F30F6F0083C1048D4010660FDBC1F30F7F40F03BCA7CE98B4424243BCF7D0D90812488F8F8F800413BCF7CF48B54241CEB048B44242485FF7E0F83C0038BCF90C600008D40044975F7837C2414010F8D0402000085DB7E118D42038BCB8D4900C600008D40044975F733DB895C242C395C24580F8EE60000008B4424248B08894C2428EB0B8DA424000000008D6424008D049D0000000089442448390C1074178B44243485C07405833800750A3B4C24300F858D0100008BC38B4C246099F7FE2BC8394C24' $DllBinary &= '200F8F700100008BC62BC2394424380F8F6201000033D2C64424110133FF8BC3897C2444395424547E708B7424348B4C24242BF1C644241101897424408B7C241C8B313934878B7C2444741D837C243400740C8B742440833C0E008B31750A3B7424300F8501010000423B5424387D0340EB158B74244C33D28D04B5000000000144244803DE8BC34783C104897C24443B7C24547CA78B5C242C8B742418FF74245C6A00FF1504410010FF7424648B3D04400010FFD785F674178B44247485C074085056FF151040001056FF15084000108B44245085C0740350FFD78B4424248B35A040001085C0740650FFD683C4048B44243485C0740650FFD683C4048B44241C85C0740650FFD683C404807C2411000F84F2FBFFFF8BC399F77C244CFF7424202B842494000000FF74243C03450C2B942494000000035508505268E84200106858530010E8400200008B8C24D400000083C418B8585300105F5E5B33CCE8410200008BE55DC214008B5C242C8B74244CC6442411008B4C24288B54241C43895C242C3B5C24580F8C3DFEFFFFE907FFFFFF33DB895C242C395C24580F8EF7FEFFFF8BC38B4C246099F7FE2BC8394C24200F8F4D0100008BC62BC2394424380F8F3F01000033C9C644241101894C2444894C2440895C244885FF0F8EB9FEFFFF8B4424248D0C9D00000000894C246C8B4C24342BC8C644241101895C247089442428894C24688D6424008A48028A58018A200FB6D18864243F395424147E07C644241200EB0A8AC12A442414884424120FB6F3397424147E07C644241300EB0A8AC32A442414884424130FB6FC397C24147E0432FFEB068AFC2A7C2414B8FF0000002BC28B5424143BD07E0580CEFFEB048AF202F18B4C2414B8FF0000002BC63BC87E0580CDFFEB048AE902EBB8FF0000002BC7394424147E0580C9FFEB088A4C2414024C243F8B7C24488B74241C8A54BE028A44BE018A1CBE3A54241272163AD677123A442413720C3AC577083ADF72043AD97642837C2434008B442428740A8B4C2468833C080075318B4C2430390874298B5C242C8B74244C8B7C2454C64424110043895C242C3B5C24580F8C8FFEFFFFE981FDFFFF8B4424288B74244446897424443B7424387D0747897C2448EB258B54244C33C98B7C2470894C24448D0C9500000000014C246C03FA8BCF897C2470894C24488B74244083C0044689442428897424403B7424540F8C99FEFFFFE91FFDFFFF8B7424188B5C2468E91AFDFFFFCCCCCCCCCCCCCC558BEC8D451050FF750C6A32FF7508FF15C840001083C4105DC33B0D005000107502F3C3E9D6030000566880000000FF1584400010598BF056FF154C400010A3C0530010A3BC53001085F6750533C0405EC3832600E88D07000068972F0010E8D2060000C70424C42F0010E8C60600005933C05EC355' $DllBinary &= '8BEC5151837D0C005356570F8529010000A12050001085C00F8E1501000048BBB4530010A32050001033FF64A118000000897DFC8B5004EB043BC2740E33C08BCAF00FB10B85C075F0EB07C745FC01000000833DB853001002740D6A1FE82804000059E982010000FF35C0530010FF15484000108BF089751085F60F849A000000FF35BC530010FF15484000108BD889750C895D0883EB043BDE725C393B74F557FF154C400010390374EAFF33FF1548400010578BF0FF154C4000108903FFD6FF35C05300108B3548400010FFD6FF35BC5300108945F8FFD68B4DF8394D0C75088B751039450874AC8BF1894D0C8975108BD8894508EB9D83FEFF740856FF15A04000105957FF154C400010A3BC530010BBB4530010A3C0530010893DB8530010397DFC0F85C000000033C08703E9B700000033C0E9B3000000837D0C010F85A600000064A11800000033FF8BF7BBB45300108B5004EB043BC2740E33C08BCAF00FB10B85C075F0EB0333F646393DB85300106A025F74096A1FE80B030000EB3568444100106838410010C705B853001001000000E81E060000595985C0759368344100106830410010E80306000059893DB85300105985F6750433C08703833DC453001000741C68C4530010E8180300005985C0740DFF751057FF7508FF15C4530010FF052050001033C0405F5E5B8BE55DC20C00558BEC837D0C017505E8D1040000FF7510FF750CFF7508E80700000083C40C5DC20C006A1068F8430010E8A505000033C0408BF08975E433DB895DFC8B7D0C893D105000108945FC85FF750C393D205000100F84D40000003BF8740583FF027538A19841001085C0740EFF751057FF7508FFD08BF08975E485F60F84B1000000FF751057FF7508E87DFDFFFF8BF08975E485F60F8498000000FF751057FF7508E85FE5FFFF8BF08975E483FF01752E85F6752AFF751053FF7508E845E5FFFFFF751053FF7508E83EFDFFFFA19841001085C07409FF751053FF7508FFD085FF740583FF03754BFF751057FF7508E817FDFFFFF7D81BC023F08975E47434A19841001085C0742BFF751057FF7508FFD08BF0EB1B8B4DEC8B018B008945E05150E86A0100005959C38B65E833DB8BF38975E4895DFCC745FCFEFFFFFFE80B0000008BC6E8D2040000C38B75E4C70510500010FFFFFFFFC3558BECFF15444000106A01A344530010E8E5040000FF7508E8E3040000833D4453001000595975086A01E8CB0400005968090400C0E8CC040000595DC3558BEC81EC240300006A17E8DD04000085C074056A0259CD29A328510010890D24510010891520510010891D1C510010893518510010893D14510010668C1540510010668C0D34510010668C1D10510010668C050C510010668C2508510010668C2D045100109C8F05385100108B4500A32C5100108B4504' $DllBinary &= 'A3305100108D4508A33C5100108B85DCFCFFFFC7057850001001000100A130510010A334500010C70528500010090400C0C7052C50001001000000C70538500010010000006A04586BC000C7803C500010020000006A04586BC0008B0D00500010894C05F86A0458C1E0008B0D04500010894C05F8689C410010E8CCFEFFFF8BE55DC3FF25CC400010FF25D0400010CCCCCCCCCCCCCCCCCCCC558BEC8B450833D25356578B483C03C80FB741140FB7590683C01803C185DB741B8B7D0C8B700C3BFE72098B480803CE3BF9720A4283C0283BD372E833C05F5E5B5DC3CCCCCCCCCCCCCCCCCCCCCCCCCC558BEC6AFE6820440010682930001064A1000000005083EC08535657A1005000103145F833C5508D45F064A3000000008965E8C745FC000000006800000010E87C00000083C40485C074548B45082D00000010506800000010E852FFFFFF83C40885C0743A8B4024C1E81FF7D083E001C745FCFEFFFFFF8B4DF064890D00000000595F5E5B8BE55DC38B45EC8B0033C98138050000C00F94C18BC1C38B65E8C745FCFEFFFFFF33C08B4DF064890D00000000595F5E5B8BE55DC3CCCCCCCCCCCC558BEC8B4508B94D5A0000663908740433C05DC38B483C03C833C0813950450000750CBA0B010000663951180F94C05DC3833DC053001000740333C0C3566A046A20FF159440001059598BF056FF154C400010A3C0530010A3BC53001085F675056A18585EC383260033C05EC36A146840440010E8A70100008365DC00FF35C05300108B3548400010FFD68945E483F8FF750CFF7508FF158C40001059EB656A08E808020000598365FC00FF35C0530010FFD68945E4FF35BC530010FFD68945E08D45E0508D45E450FF75088B354C400010FFD650E8E001000083C40C8BF8897DDCFF75E4FFD6A3C0530010FF75E0FFD6A3BC530010C745FCFEFFFFFFE80B0000008BC7E85C010000C38B7DDC6A08E8A001000059C3558BECFF7508E84CFFFFFFF7D8591BC0F7D8485DC3558BEC83EC148365F4008365F800A1005000105657BF4EE640BBBE0000FFFF3BC7740D85C67409F7D0A304500010EB668D45F450FF15504000108B45F83345F48945FCFF15344000103145FCFF15384000103145FC8D45EC50FF15784000108B4DF08D45FC334DEC334DFC33C83BCF7507B94FE640BBEB1085CE750C8BC10D11470000C1E0100BC8890D00500010F7D1890D045000105F5E8BE55DC35657BEE8430010BFE8430010EB0B8B0685C07402FFD083C6043BF772F15F5EC35657BEF0430010BFF0430010EB0B8B0685C07402FFD083C6043BF772F15F5EC3CCFF25D8400010FF25DC4000106848530010E8A200000059C3682930001064FF35000000008B442410896C24108D6C24102BE0535657A1005000103145FC33C5508965E8FF75F88B45FCC745FCFEFFFFFF' $DllBinary &= '8945F88D45F064A300000000C38B4DF064890D00000000595F5F5E5B8BE55D51C3558BECFF7514FF7510FF750CFF750868AA2700106800500010E82F00000083C4185DC3FF25E0400010FF25E4400010FF25D4400010FF259C400010FF2598400010FF2590400010FF2588400010FF25E8400010FF2540400010CCCCCCCCCCCCCCCCCCCCCCCCCCCC518D4C24082BC883E10F03C11BC90BC159E91A000000518D4C24082BC883E10703C11BC90BC159E904000000CCCCCCCC518D4C24042BC81BC0F7D023C88BC42500F0FFFF3BC8720A8BC159948B00890424C32D001000008500EBE900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000864800005C4800005048000036480000264800001A48000004480000F64700009A4800006C480000000000004847000054470000024B0000EC4A00003A470000B64A0000A24A0000924A0000824A0000184B00002C4700001E4700001047000002470000F4460000E6460000D0460000BE460000A8460000D24A000098460000000000009C490000444A00003A4A00002C4A00001E4A0000144A00000C4A0000FA480000024900000E4900001A490000244900002C49000036490000404900004A49000054490000604900007C4900008E490000F4490000AA490000B6490000C4490000DA490000684A000000000000A201008000000000AE4800000000000072470000CA470000D6470000BC470000B0470000A84700009C4700008E4700008047000000000000CA48000000000000000000000000000000000000B9270010E12D001000000000000000000000000000000000A488E25B000000000200000068000000584300005829000000000000A488E25B000000000C00000014000000C0430000C02900008009F87B32BF1A108BBB00AA00300CAB000000002850001078500010426C61636B00000053696C7665720000477261790000000057686974650000004D61726F6F6E000052656400507572706C6500004675636873696100477265656E0000004C696D65000000004F6C69766500000059656C6C6F7700004E6176790000000042' $DllBinary &= '6C7565000000005465616C00000000417175610000000044656661756C740065786500646C6C0069636C0063706C007363720069636F0063757200616E6900626D7000676469706C7573006A7067006A7065670000000067696600476469706C7573537461727475700000476469706C757353687574646F776E00476469704372656174654269746D617046726F6D46696C650000000047646970437265617465484249544D415046726F6D4269746D61700047646970446973706F7365496D6167650000000049636F6E000000005472616E730000002009000030000000317C25647C25647C25647C2564000000000000000000E03FF8F8F800F8F8F800F8F8F800F8F8F80048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500010E04300100100000052534453926C9C4BED0F06458B854963598D72DE01000000413A5C5F4175746F49745F5F5F5F5C5F50726F6A6563745F5F5F5C5F494D475365617263685C496D616765536561726368444C4C5C52656C656173655C496D616765536561726368444C4C2E706462000100000010000000100000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000FEFFFFFF00000000D0FFFFFF00000000FEFFFFFF00000000442B0010000000000F2B0010232B0010FEFFFFFF00000000D8FFFFFF00000000FEFFFFFF792D00108C2D001000000000FEFFFFFF00000000CCFFFFFF00000000FEFFFFFF00000000BA2E00100000000000000000A388E25B000000009C440000010000000200000002000000884400009044000098440000901D0000801D0000AF440000BB44000000000100496D616765536561726368444C4C2E646C6C00496D61676553656172636800496D6167655465737400000000944500000000000000000000644700002C400000684600000000000000000000EA47000000410000684500000000000000000000A448000000400000604600000000000000000000BE480000F8400000904600000000000000000000E248000028410000584600000000000000000000EC480000F0400000EC45000000000000000000006E490000844000000000000000000000000000000000000000000000864800005C4800005048000036480000264800001A48000004480000F64700009A4800006C480000000000004847000054470000024B0000EC4A00003A470000B64A0000A24A0000924A0000824A0000184B00002C4700001E4700001047000002470000F4460000E6460000D0460000BE460000A8460000D24A000098460000000000009C490000444A00003A4A00002C4A00001E4A0000144A00000C4A0000FA48' $DllBinary &= '0000024900000E4900001A490000244900002C49000036490000404900004A49000054490000604900007C4900008E490000F4490000AA490000B6490000C4490000DA490000684A000000000000A201008000000000AE4800000000000072470000CA470000D6470000BC470000B0470000A84700009C4700008E4700008047000000000000CA480000000000003C034C6F61644C696272617279410000E50147657446696C6541747472696275746573410000450247657450726F6341646472657373000067034D756C746942797465546F5769646543686172006201467265654C69627261727900880043726561746546696C654100F00147657446696C6553697A6500B302476C6F62616C416C6C6F63005200436C6F736548616E646C6500BE02476C6F62616C4C6F636B0000BA02476C6F62616C467265650000C0035265616446696C650000C502476C6F62616C556E6C6F636B00004B45524E454C33322E646C6C0000EE014C6F6164496D616765410000330147657449636F6E496E666F00A30044657374726F7949636F6E005400436F7079496D616765002101476574444300F60046696C6C526563740000C8004472617749636F6E45780000650252656C656173654443007E0147657453797374656D4D65747269637300005553455233322E646C6C0000FB014765744F626A6563744100003000437265617465436F6D70617469626C6544430000CA0147657444494269747300770253656C6563744F626A6563740000120247657453797374656D50616C65747465456E747269657300E30044656C65746544430000E60044656C6574654F626A65637400002F00437265617465436F6D70617469626C654269746D617000005400437265617465536F6C6964427275736800001300426974426C74000047444933322E646C6C0027004578747261637449636F6E4100005348454C4C33322E646C6C00860043726561746553747265616D4F6E48476C6F62616C006F6C6533322E646C6C004F4C4541555433322E646C6C00008306667265650000B2045F73747269636D700000B906697378646967697400004807737472746F6C0000EF0561746F6900003C077374726E63707900DB066D616C6C6F630000400773747272636872005D07746F757070657200BC045F7374726E69636D7000730776737072696E74665F7300004D535643523132302E646C6C00006F015F5F4370705863707446696C7465720017025F616D73675F657869740000A5035F6D616C6C6F635F637274000C035F696E69747465726D000D035F696E69747465726D5F650050025F6372745F64656275676765725F686F6F6B0000AC015F5F637274556E68616E646C6564457863657074696F6E00AB015F5F6372745465726D696E61746550726F63657373' $DllBinary &= '0094035F6C6F636B0004055F756E6C6F636B002E025F63616C6C6F635F63727400AE015F5F646C6C6F6E65786974003A045F6F6E65786974008C015F5F636C65616E5F747970655F696E666F5F6E616D65735F696E7465726E616C00007A025F6578636570745F68616E646C6572345F636F6D6D6F6E00EA00456E636F6465506F696E74657200CA004465636F6465506F696E7465720000034973446562756767657250726573656E74000403497350726F636573736F724665617475726550726573656E7400A7035175657279506572666F726D616E6365436F756E74657200C10147657443757272656E7450726F63657373496400C50147657443757272656E7454687265616449640000790247657453797374656D54696D65417346696C6554696D650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004EE640BBB119BF440000000000000000FFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' $DllBinary &= '000001001800000018000080000000000000000000000000000001000200000030000080000000000000000000000000000001000904000048000000606000007D010000000000000000000000000000000000003C3F786D6C2076657273696F6E3D27312E302720656E636F64696E673D275554462D3827207374616E64616C6F6E653D27796573273F3E0D0A3C617373656D626C7920786D6C6E733D2775726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E763127206D616E696665737456657273696F6E3D27312E30273E0D0A20203C7472757374496E666F20786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E7633223E0D0A202020203C73656375726974793E0D0A2020202020203C72657175657374656450726976696C656765733E0D0A20202020202020203C726571756573746564457865637574696F6E4C6576656C206C6576656C3D276173496E766F6B6572272075694163636573733D2766616C736527202F3E0D0A2020202020203C2F72657175657374656450726976696C656765733E0D0A202020203C2F73656375726974793E0D0A20203C2F7472757374496E666F3E0D0A3C2F617373656D626C793E0D0A000000000000000000000000000000000000000000000000000000000000000000000000100000F800000027302C303E3055306C3083309A30B130C830DF30F6300D3124313B315231693180319731FE3110321C323A326C32A832093355337733AD339634A234B634EA343B354E355D35703583359635A935E8350E361D362C36913697361F374F3770377637BB37CE37E137F437FA370A380F381738253833384138B638143940395E39A539C939D939E839F5390F3A1A3A213A4B3A523A593A693A833A8E3AB43A323B4D3B6C3B863BC53BE63B1C3C473C713C7B3C903CA73CBE3CCF3CFB3C093D103D283D323D3E3D473D4E3D593D603D9D3DDF3DEE3DF43D033E123E223E5D3E643E803EA43EC63EE83E2A3FD03FE23FF03F002000002001000039304B305B3081309C30F9300A310F31513188319531EB31053219324132D7322B33AB34B534CB34D234E734423547355B35A137AC37C137CB37D037D537EB37F737183826382B385A387038763889388F38A938B538BE38C838CE38D63806390E39133918391D3923395539753988398D399339A739AC39B839C739CF39E639EC39223A3D3A4A3A5E3AC83AFA3A493B573B5E3B713BA93BAF3BB53BBB3BC13BC73BCE3BD53BDC3BE33BEA3BF13BF83B003C083C103C1C3C253C2A3C303C3A3C443C543C643C743C7D3C8C3C923CF63CFB3C0D3D2B3D3F3D453DE33DF43DFF3D043E093E203E2F3E353E483E5D3E683E7E3E983EA23EEA3E053F113F203F293F363F653F6D3F7A3F7F3F9A3F9F' $DllBinary &= '3FBA3FC03FC53FD13FEE3F003000002000000039303E304E3054305A30603066306C30723078307E30000000400000200000003C3140319C31A0314C335033103418341C3434343834583400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' ; * -----:| ImageSearchDLL Binary x64 Local $DllBinary_x64 = '0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000F80000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000FA7C1F43BE1D7110BE1D7110BE1D7110F84CAC10BC1D7110F84CAE10BF1D7110F84C9110B51D7110F84C9010BC1D7110B765F210BF1D7110B765E210B31D7110BE1D7010F91D7110B34F9410BD1D7110B34FAD10BF1D7110B34FAA10BF1D7110B34FAF10BF1D711052696368BE1D711000000000000000005045000064860600A689E25B0000000000000000F00022200B020C0000240000001E000000000000CC2C000000100000000000800100000000100000000200000500020000000000050002000000000000900000000400000000000002006001000010000000000000100000000000000000100000000000001000000000000000000000100000008047000065000000E8470000A000000000700000E0010000006000008C01000000000000000000000080000014000000A0420000380000000000000000000000000000000000000000000000000000008044000070000000000000000000000000400000680200000000000000000000000000000000000000000000000000002E74657874000000CB230000001000000024000000040000000000000000000000000000200000602E72646174610000A60F0000004000000010000000280000000000000000000000000000400000402E6461746100000070060000005000000002000000380000000000000000000000000000400000C02E706461746100008C0100000060000000020000003A0000000000000000000000000000400000402E72737263000000E00100000070000000020000003C0000000000000000000000000000400000402E72656C6F630000140000000080000000020000003E0000000000000000000000000000400000420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' $DllBinary_x64 &= 'B801000000C3CCCCCCCCCCCCCCCCCCCC40534883EC20803900488BD9750983C8FF4883C4205BC3488D15D2320000FF151431000085C075064883C4205BC3488D15C3320000488BCBFF15FA30000085C0750BB8C0C0C0004883C4205BC3488D15AC320000488BCBFF15DB30000085C0750BB8808080004883C4205BC3488D1595320000488BCBFF15BC30000085C0750BB8FFFFFF004883C4205BC3488D157E320000488BCBFF159D30000085C0750BB8800000004883C4205BC3488D1567320000488BCBFF157E30000085C0750BB8FF0000004883C4205BC3488D154C320000488BCBFF155F30000085C0750BB8800080004883C4205BC3488D1539320000488BCBFF154030000085C0750BB8FF00FF004883C4205BC3488D1522320000488BCBFF152130000085C0750BB8008000004883C4205BC3488D150B320000488BCBFF150230000085C0750BB800FF00004883C4205BC3488D15F4310000488BCBFF15E32F000085C0750BB8808000004883C4205BC3488D15DD310000488BCBFF15C42F000085C0750BB8FFFF00004883C4205BC3488D15C6310000488BCBFF15A52F000085C0750BB8000080004883C4205BC3488D15AF310000488BCBFF15862F000085C0750BB80000FF004883C4205BC3488D1598310000488BCBFF15672F000085C0750BB8008080004883C4205BC3488D1581310000488BCBFF15482F000085C0750BB800FFFF004883C4205BC3488D156A310000488BCBFF15292F000083C9FFBA8080800085C00F44CA8BC14883C4205BC3CCCCCCCCCCCCCCCCCCCCCCCC40534883EC20488BD9488BD10F1F40000FB6023C2074043C09750548FFC2EBF00FB60284C0743B2C2BA8FD750348FFC2803A30752D0FB642012C58A8DF75230FBE4A02FF150F2F000085C0741533D2488BCB448D42104883C4205B48FF25CE2E0000488BCB4883C4205B48FF25B72E0000CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC405553565741544155415641574881ECA8040000488D6C2440488B05203D00004833C54889855004000033FF488BDA488BC1488D551048894D08488B8DD8040000897C24304889542428498BF14D8BE0488BD04533C94533C048894D00448BF74532FFC745102800000066897D1E48897C2420FF150F2D000085C00F84A50100000FB77D1E3BBDD00400000F8C930100006683FF100F94C088068B45148B75188903418934248B030FAFC64C63E84A8D0CAD00000000FF15E42D00004C8BF04885C00F845C0100006683FF08400F94C74084FF7509B8200000006689451E488B4D00F7DE897518488B7508488BD6FF155C2C0000458B0C24488BD6488B750048894508488D4510C74424300000000048894424284533C0488BCE4C89742420FF15632C000085C00F84E20000004084FF0F84D60000008B0424B800040000482BE0' $DllBinary_x64 &= '488D7424408B06488B4D004C8BCE33D241B800010000FF150B2C00008B0325030000807D07FFC883C8FCFFC085C0740B41B804000000442BC0EB034533C0418B14244D8D5DFF33FF8BC24F8D1C9E410FAFC04863C8498D46FF4903CD4803C185D27E644D63F8660F1F8400000000004533D2492BC74439137E450F1F4400000FB60841FFC24983EB04448B048E48FFC8410FB7C866C1E908440FB6C9418BC8C1E91041C1E1080FB6D1410FB6C8C1E110440BCA440BC945894B04443B137CC0FFC7413B3C247CA8488B750041B701488B45084885C0740C488BD0488BCEFF152C2B000033FF488B4D00FF15102B00004584FF75134D85F6740E498BCEFF15552C0000488BC7EB03498BC6488B8D500400004833CDE8E6140000488DA568040000415F415E415D415C5F5E5B5DC3CCCC40555356574154415541564157488DAC2408FEFFFF4881ECF8020000488B05AD3A00004833C4488985E0010000448BAD6002000033FF448BF28D572E4585ED4D8BF9418BF04C8BE148894C2458440F48EF48897C2448FF15FC2B0000488BD84885C0740348FFC34183FD010F8FF20000004885DB7474488D15DB2D0000488BCBFF15922B000085C00F84D5000000488D15C72D0000488BCBFF157A2B000085C00F84BD000000488D15B32D0000488BCBFF15622B000085C00F84A5000000488D159F2D0000488BCBFF154A2B000085C00F848D000000488D158B2D0000488BCBFF15322B000085C0747940887C24404585ED0F8FA50000004885DB0F84A3000000488D15642D0000488BCBFF15072B000085C00F8484000000488D15502D0000488BCBFF15EF2A000085C0742D488D15402D0000488BCBFF15DB2A000085C07419488D15302D0000488BCBFF15C72A000085C0754F41893FEB4A41C70702000000EB41C64424400141C70701000000458D45FF4585ED7F03448BC7488B0D3E3F0000498BD4FF153D2B000048894424484883F802731333C0E92805000041C70701000000488B4424484183FEFF740583FEFF75094585F6741485F674104183FEFF740583FEFF750A41B401EB088BF7448BF74532E444886424414885C0754A458B074183F8FF7E414584E47407448BCF8BC7EB05458BCE8BC6488B54245833C9C74424281020000089442420FF15C62A000048894424484885C00F840A0200004584E40F849C0400004C8B64245848897C24504885C00F856901000041893F4885DB7448488D153D2C0000488BCBFF15C429000085C00F8421020000488D15292C0000488BCBFF15AC29000085C00F8409020000488D15192C0000488BCBFF159429000085C00F84F1010000488D0DED2B0000FF158F280000488BD84885C00F84D8010000488D15EC2B0000488BC8FF15C3280000488D15EC2B0000488BCB4C8BE8FF15B0280000488D15E92B0000488BCB' $DllBinary_x64 &= '48894590FF159C280000488D15F52B0000488BCB4889442468FF1587280000488D15002C0000488BCB488945A8FF1573280000C74424700100000048897C247848897D80488945984D85ED7478488D542470488D4DA04533C041FFD585C07565488D45D04183C9FF4D8BC433D233C9C7442428040100004889442420FF1534280000488D542460488D4DD0FF54246885C0752B488B4C2460488D54244841B880808000FF55A8488B4C244885C0480F45CF48894C2448488B4C2460FF5598488B4DA0FF5590488BCBFF1510280000488B44244840387C24410F84A302000041393F7419488D55B0488BC8FF153E29000085C00F84C3020000488B45C04C8D442470BA20000000488BC8FF151F27000083FEFF0F85E10100008B44247485C00F840C020000660F6E542478660F6EC066410F6ECEF30FE6D2F30FE6C0F30FE6C9F20F5ED0F20F59D1F20F5815172B0000F20F2CF2E9D80100004C8B642458498BCCFF156027000083F8FF0F8455FDFFFF4585ED7E2D488B0D733C0000458D45FF498BD4FF156E28000048894424484883F8020F822DFDFFFFC644244001E9BBFDFFFF488B442448E9B1FDFFFF48897C24304533C94533C0BA00000080498BCC897C2428C744242003000000FF15262700004C8BE04883F8FF0F84E7FCFFFF33D2488BC8FF15FE260000B9020000008BD089442460FF15D5260000488BD84885C07510498BCCFF155426000033C0E9E2010000488BC8FF15BC260000498BCC4885C07516FF1536260000488BCBFF154526000033C0E9BB010000448B4424604C8D4C2460488BD048897C2420FF156E260000488BCBFF1555260000498BCCFF15FC2500004C8D44246833D2488BCBFF15E427000085C078B2488B4C24684885C974A8488D4424504C8D0D4A2800004533C033D24889442420FF154A270000488B4C245085C0480F48CF48894C2450488B4C2468488B01FF5010488BCBFF15B6250000488B4C24504885C90F84F6FBFFFF488B01488D542448FF5018488B4424484885C00F85ECFDFFFF488B4C2450488B01FF501033C0E9FA0000008B44247885C0742F660F6E542474660F6EC0660F6ECEF30FE6D2F30FE6C0F30FE6C9F20F5ED0F20F59D1F20F58153B290000F2440F2CF241393F7447488B4DC8FF15C7240000488B4DC0FF15BD24000040387C2440752C488B4C2448FF15B3260000458B07488B542458458BCE33C9C74424281000000089742420FF158C260000EB77488B44244848397C245074424585F6750985F67505BF04000000448BCE458BC633D2488BC8897C2420FF157B260000488B4C2450488B11488BD8FF5210EB35488B4C2448FF154826000033C0EB294585F6750485F67420418B17448BCE458BC6488BC8C74424200C000000FF1539260000488BD8488BC3488B8DE00100004833CCE8FC0D00' $DllBinary_x64 &= '004881C4F8020000415F415E415D415C5F5E5B5DC3CCCCCCCCCCCCCCCC40554881ECD0000000488B05D03300004833C448898424A0000000488BE94885C9750733C0E9B60100004889B424F00000004889BC24C80000004C89A424C00000004533E433C94C89B424B8000000418BFCFF15C0250000488BC84C8BF0FF1594230000488BF04885C00F8439010000488D542470488BCDFF159225000085C00F841A010000488B8C24880000004C8D442450418D542420FF157223000085C00F84DE000000448B4424588B542454498BCEFF1548230000488BF84885C00F84C0000000488BD0488BCE4C89BC24B0000000FF15182300004C8BF84885C00F84980000008B4C245448899C24E80000004C89A42490000000898C24980000008B4C2458898C249C000000B980808000FF1503230000488D942490000000488BCE4C8BC0488BD8FF15D4240000488BCBFF15B32200008B442458C7442440030000004C896424384489642430894424288B4424544C8BCD4533C033D2488BCE89442420FF1590240000498BD7488BCEFF157C220000488B9C24E80000004C8BBC24B0000000488B8C2488000000FF1556220000488B8C2480000000FF1548220000488BCEFF1537220000498BD633C9FF156C240000488BCDFF15332400004C8BB424B80000004C8BA424C0000000488BB424F0000000488BC7488BBC24C8000000488B8C24A00000004833CCE8F00B00004881C4D00000005DC3CCCCCCCCCCCCCC8D0409C3CCCCCCCCCCCCCCCCCCCCCCCC4055535657415541564157488D6C24B04881EC50010000488B05B23100004833C448894538488BBDB0000000894D8433C90F57C08955888D512E894C2460F30F7F45E8488BCF44894C2458458BE8C7442454FFFFFFFF4533FF33F64533F6FF15F4220000488BD84885C0745A48FFC3488D15F6240000488BCBFF159922000085C07428488D15CE240000488BCBFF158522000085C07414488D15BE240000488BCBFF157122000085C0751BB931000000FF1562230000B9320000008BF0FF1555230000448BF0488BDF0F1F80000000000FB6033C2074043C09750548FFC3EBF0803B2A4C89A424480100000F85F80200000FBE4B0148FFC3FF156222000083F8480F84F801000083F8570F8488010000488D15F524000041B804000000488BCBFF15FA21000085C0756C4883C304488BCB0FB6013C2074043C09750548FFC1EBF00FB60184C0743D2C2BA8FD750348FFC1803930752F0FB641012C58A8DF75250FBE4902FF15FE21000085C0741733D2488BCB448D4210FF15C3210000448BF8E9DA010000488BCBFF15AA210000448BF8E9C9010000488D157724000041B805000000488BCBFF157421000085C00F85B00000004883C305448D401F488D4D18488BD3FF15872100000FB65518C64537004C8D45' $DllBinary_x64 &= '1884D274380F1F8000000000488D0D35240000B0200F1F80000000003AD074190FB6410148FFC184C075F1410FB6500149FFC084D275D5EB0441C60000488D4D18E8C6EFFFFF8BD083F8FF751933D2488D4D18448D4210FF150F21000089442454E92501000066C1E808440FB6E08BC2C1E81041C1E4080FB6C80FB6C2C1E010440BE1440BE04489642454E9FB000000488BCBE8A4F1FFFF8944246085C0790B33C9894C2460E9E00000003DFF0000000F8ED5000000B9FF000000894C2460E9C7000000488D4B010F1F40000FB6013C2074043C09750548FFC1EBF00FB60184C0743A2C2BA8FD750348FFC1803930752C0FB641012C58A8DF75220FBE4902FF158F20000085C0741433D2488D4B01448D4210FF15532000008BF0EB6E488D4B01FF153D2000008BF0EB60488D4B010FB6013C2074043C09750548FFC1EBF00FB60184C074382C2BA8FD750348FFC1803930752A0FB641012C58A8DF75200FBE4902FF152C20000085C0741233D2488D4B01448D4210FF15F01F0000EB0A488D4B01FF15DC1F0000448BF04885DB74360FB61384D2742F0F1F440000488D0DA5220000B0200F1F80000000003AD074430FB6410148FFC184C075F10FB6530148FFC384D275D6488D057F2200004C8BA42448010000488B4D384833CCE81B0800004881C450010000415F415E415D5F5E5B5DC3488D7B01488BDF66900FB6033C2074043C09750548FFC3EBF0803B2A0F8408FDFFFF803F00C7442478FFFFFFFF74A44C8D4C2478458BC68BD6488BCF44897C2420E8F3F2FFFF488BF8488945C84885C0748133C9FF15E71F00004C8BF8488945D84885C0750E488BCFFF15A21D0000E95FFFFFFF33C94533E44532F633F6837C24780148894DB848894C24704C8965A048894DC044887424507579488D55F8488BCFFF15911F000085C07450488B5D08498BCFFF15681D00004885C0742648894424284C8D4C24514C8D4580488D54245C488BCBC744242001000000E8E8EFFFFF4C8BE0488B4D104C8965A0FF151F1D0000488B4D08FF15151D0000488BCFE825F9FFFF488BF8488945C84885C00F84BFFEFFFF498BCFFF15041D00004885C0750F448B7C245833FF488BDEE9BC05000048894424284C8D4C24514C8D4580488D54245C488BCFC744242008000000E875EFFFFF488BF8488945984885C00F84570500008B5C2458442B6D84498BCF2B5D88FFC3FF15A71C0000488BF048894424684885C00F8421050000418D5501448BC3498BCFFF158E1C0000488945B84885C00F84F8040000488BD0488BCEFF15651C0000488945C04885C00F84DF0400008B4588C74424402000CC00458D4D01894424388B45844533C08944243033D2488BCE4C897C2428895C2420FF15571C000085C00F84A6040000488BCEFF151E1C00004885C0750C448B7C245833' $DllBinary_x64 &= 'DBE9D9040000488B4DB848894424284C8D4C24644C8D458C488D54247CC744242008000000E891EEFFFF488BD848894424704885C00F845C040000448B5C245C448B6C247C8B7580418BD3458BC5440FAF458C0FAFD6807C2451004C63CA44894424584D63F04C894DB0750B807C2464000F84E30000008B44245483F8FF740925F8F8F8008944245433C94585C07E494183F8047243418BC025030000807D07FFC883C8FCFFC0660F6F0DBC1F0000442BC0660F1F8400000000004863C183C104F30F6F0483660FDBC1F30F7F0483413BC87CE7448B4424584863C1493BC67D1966660F1F840000000000812483F8F8F80048FFC0493BC67CF133C985D27E4383FA04723E8BC225030000807D07FFC883C8FCFFC0660F6F0D4E1F00002BD00F1F40000F1F8400000000004863C183C104F30F6F0487660FDBC1F30F7F04873BCA7CE84863C1493BC17D0F812487F8F8F80048FFC0493BC17CF14D85C97E18488D4703498BC90F1F440000C60000488D400448FFC975F4448B5424604183FA010F8D300100004D85F67E1C488D4303498BCE660F1F840000000000C60000488D400448FFC975F44533FF4585C00F8E240300008B37448B44245433FF3934BB74154D85E4740741833C24007509413BF00F85C20000008B4D8C418BC79941F7FD2BC8394D800F8FAD000000418BC52BC2443BD80F8F9F0000004533C04533D2B001418BCF4D85C90F8EC0020000488B5D9888442450458BDF492BDC498BD44C8B6C2470448B0C134863C145394C8500448B6C247C74114D85E47405833A007507443B4C2454753841FFC0443B44245C7D04FFC1EB094533C04503DD418BCB49FFC24883C2044C3B55B07CB3488B5C2470440FB6742450488B7D98E95B0200004C8B4DB0448B5C245C488B5C2470448B44245432C08844245048FFC741FFC7493BFE0F8C15FFFFFF440FB6742450488B7D98E9240200004533FF44897C24784585C00F8E100200000F1F40008B4D8C418BC79941F7FD2BC83BF10F8F95010000418BC52BC2443BD80F8F870100004533ED41B60144897D904C896DD04D85C90F8E87010000488B45A0448874245044897DA8482BC74C8BE7488945E0418B0C24450FB64C2401450FB63C24C1E9100FB6D1443BD27E054532F6EB07440FB6F1452AF2450FB6C1453BD07E054032F6EB07410FB6F1412AF2410FB6DF443BD37E054032FFEB07410FB6FF412AFAB8FF0000002BC2443BD07E0541B3FFEB04468D1C11B8FF000000412BC0443BD07E0541B2FFEB034502D18B4C2460B8FF0000002BC33BC87E04B1FFEB034102CF48635D904C8B442470450FB64C9802410FB6549801450FB60498453ACE7219453ACB7714403AD6720F413AD2770A443AC77205443AC1761C48837DA000740B488B45E042833C2000750A8B442454413904247547448B' $DllBinary_x64 &= '5C245C41FFC5453BEB7D07FFC3895D90EB14448B55A84533ED440354247C448955A8448955904C8B45D04983C40449FFC04C8945D04C3B45B07D7B448B542460E9D5FEFFFF448B7C2478448B542460448B6C247C4C8B4DB0448B442458448B5C245C488B7D988B75804532F64488742450EB06440FB674245041FFC744897C2478453BF80F8C40FEFFFF488B5C2470EB48488B5C2470448B7C2458EB41488B5C2470448B7C2458488BF0EB32448B7C2458488BDEEB28448B7C2478488B5C2470440FB6742450488B7D98EB0D488B7D98440FB6F0EB034532F6488B742468488B55D833C9FF1550190000488B4DC8FF150E1700004885F6741E488B45C04885C0740C488BD0488BCEFF15FC160000488BCEFF15E3160000488B45B84885C07409488BC8FF15D91600004885FF7409488BCFFF151B180000488B45A04885C07409488BC8FF15091800004885DB7409488BCBFF15FB1700004584F60F8464F8FFFF448B4D88448B4584418BC7442B4DEC442B45E899F77C247C488D0D332C00004403C88B45804403C2894424288B44245C488D15BB1A000089442420E81A000000488D050B2C0000E91FF8FFFFCCCCCCCCCCCCCCCCCCCCCCCCCCCC48895424104C894424184C894C24204883EC284C8BC24C8D4C2440BA32000000FF15921700004883C428C3CCCCCCCCCCCCCCCCCCCCCC66660F1F840000000000483B0DF9250000751148C1C11066F7C1FFFF7502F3C348C1C910E971040000CC40534883EC20B900010000FF157F170000488BC8488BD8FF155B1600004889051C2C00004889050D2C00004885DB75058D4301EB2348832300E8A6070000488D0DD7070000E8D6060000488D0D0F080000E8CA06000033C04883C4205BC3CCCC488BC44889580848896810488978184C8960204155415641574883EC2033FF498BE84C8BF185D20F85350100008B056D25000085C00F8E20010000FFC8448BFF89055A25000065488B042530000000488B4808EB05483BC1740F33C0F0480FB10D632B000075EEEB0641BF010000008B055B2B000083F802740FB91F000000E864040000E99E010000488B0D502B0000FF157A150000488BE84885C00F849E000000488B0D2F2B0000FF15611500004C8BED4C8BE04C8BF04983EE084C3BF5725A49393E74F233C9FF154A15000049390674E5498B0EFF153415000033C9488BD8FF1531150000498906FFD3488B0DED2A0000FF1517150000488B0DD82A0000488BD8FF15071500004C3BEB75054C3BE074A54C8BEB488BEBEB974883FDFF7409488BCDFF15AE15000033C9FF15E61400004889059F2A0000488905A02A0000893D8A2A00004585FF0F85D800000048873D722A0000E9CC00000033C0E9CA00000083FA010F85BC00000065488B0425300000008BDF488B4808EB05483BC1740F33C0F0480FB1' $DllBinary_x64 &= '0D3C2A000075EEEB05BB010000008B05352A000085C0740CB91F000000E83F030000EB3E488D155E160000488D0D3F160000C7050D2A000001000000E83206000085C0758F488D151D160000488D0D0E160000E815060000C705E72900000200000085DB750A488BC7488705D129000048393DEA2900007421488D0DE1290000E83403000085C074114C8BC5BA02000000498BCEFF15C7290000FF0579230000B801000000488B5C2440488B6C2448488B7C24504C8B6424584883C420415F415E415DC3CC48895C24084889742410574883EC20498BF88BDA488BF183FA017505E86B0400004C8BC78BD3488BCE488B5C2430488B7424384883C4205FE903000000CCCCCC488BC448895808488970104889781841564883EC30498BF08BFA4C8BF1BB010000008958E88915D922000085D275123915DF220000750A33DB8958E8E9CB0000008D42FF83F8017737488B058C1500004885C07408FFD08BD88944242085DB0F84A70000004C8BC68BD7498BCEE802FDFFFF8BD88944242085C00F848C0000004C8BC68BD7498BCEE867E2FFFF8BD88944242083FF01753485C075304C8BC633D2498BCEE84BE2FFFF4C8BC633D2498BCEE8BEFCFFFF488B051F1500004885C0740A4C8BC633D2498BCEFFD085FF740583FF0375374C8BC68BD7498BCEE892FCFFFFF7D81BC923CB8BD9894C2420741C488B05E51400004885C074104C8BC68BD7498BCEFFD08BD889442420EB0633DB895C2420C705E6210000FFFFFFFF8BC3488B5C2440488B742448488B7C24504883C430415EC3CCCC40534883EC20488BD9FF1535120000B901000000890542270000E82F040000488BCBE82D040000833D2E27000000750AB901000000E814040000B9090400C04883C4205BE911040000CCCCCC48894C24084883EC38B917000000E81F04000085C07407B902000000CD29488D0D1B220000E8EA030000488B44243848890502230000488D4424384883C00848890592220000488B05EB2200004889055C210000488B44244048890560220000C70536210000090400C0C7053021000001000000C7053A21000001000000B808000000486BC000488D0D3221000048C7040102000000B808000000486BC000488B0DCA20000048894C0420B808000000486BC001488B0DBD20000048894C0420488D0D99130000E8E8FEFFFF4883C438C3CCFF2538120000FF253A120000CCCC4C63413C4533C94C8BD24C03C1410FB74014450FB758064883C0184903C04585DB741E8B500C4C3BD2720A8B480803CA4C3BD1720E41FFC14883C028453BCB72E233C0C3CCCCCCCCCCCCCCCCCCCCCCCC48895C2408574883EC20488BD9488D3D2CD0FFFF488BCFE83400000085C07422482BDF488BD3488BCFE882FFFFFF4885C0740F8B4024C1E81FF7D083E001EB0233C0488B5C243048' $DllBinary_x64 &= '83C4205FC3CCCCCC488BC1B94D5A0000663908740333C0C34863483C4803C833C0813950450000750CBA0B020000663951180F94C0C3CCCC40534883EC2048833D12260000007536BA080000008D4A18FF15CA100000488BC8488BD8FF152E100000488905EF250000488905E02500004885DB75058D4318EB064883230033C04883C4205BC3CCCC40534883EC20488BD9488B0DC0250000FF15EA0F000048894424384883F8FF750B488BCBFF155E100000EB7EB908000000E8E401000090488B0D92250000FF15BC0F00004889442438488B0D78250000FF15AA0F00004889442440488BCBFF15A40F0000488BC84C8D442440488D542438E8B0010000488BD8488B4C2438FF15840F000048890545250000488B4C2440FF15720F00004889052B250000B908000000E879010000488BC34883C4205BC34883EC28E847FFFFFF48F7D81BC0F7D8FFC84883C428C3CC48895C242055488BEC4883EC20488B05941E0000488365180048BB32A2DF2D992B0000483BC3756F488D4D18FF15160F0000488B451848894510FF15D00E00008BC048314510FF15CC0E0000488D4D208BC048314510FF153C0F00008B452048C1E020488D4D1048334520483345104833C148B9FFFFFFFFFFFF00004823C148B933A2DF2D992B0000483BC3480F44C1488905111E0000488B5C244848F7D04889050A1E00004883C4205DC348895C2408574883EC20488D1D63130000488D3D5C130000EB0E488B034885C07402FFD04883C308483BDF72ED488B5C24304883C4205FC348895C2408574883EC20488D1D3B130000488D3D34130000EB0E488B034885C07402FFD04883C308483BDF72ED488B5C24304883C4205FC3FF258E0E0000FF25380F0000488D0D21230000E930000000FF252E0F0000FF25300F0000FF25320F0000FF25340F0000FF25960E0000FF25880E0000FF257A0E0000FF25640E0000FF254E0E0000FF25B80D00004883EC284D8B4138488BCA498BD1E80D000000B8010000004883C428C3CCCCCC40534883EC20458B18488BDA4C8BC94183E3F841F600044C8BD17413418B40084D635004F7D84C03D14863C84C23D14963C34A8B1410488B43108B480848034B08F641030F740C0FB6410383E0F048984C03C84C33CA498BC94883C4205BE9B5F6FFFFCCCCCCCCCC40554883EC20488BEA488BD148894D28488B018B08894D24E8F5FBFFFF904883C4205DC3CC40554883EC20488BEAC705881C0000FFFFFFFF4883C4205DC3CCCC40554883EC20488BEA488B0133C98138050000C00F94C18BC14883C4205DC3CC40554883EC20488BEAB908000000E8EDFEFFFF904883C4205DC3CC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E64C000000000000CA' $DllBinary_x64 &= '4C000000000000BA4C000000000000A44C0000000000008A4C000000000000704C000000000000624C0000000000004E4C000000000000F24C000000000000DA4C00000000000000000000000000009E4B000000000000AE4B000000000000764F000000000000604F000000000000904B0000000000002A4F000000000000164F000000000000064F000000000000F64E0000000000008C4F0000000000007E4B0000000000006E4B000000000000584B0000000000004C4B000000000000364B000000000000284B0000000000001A4B0000000000000C4B000000000000FE4A000000000000464F000000000000F04A0000000000000000000000000000024E000000000000D24E000000000000C84E000000000000BA4E000000000000AC4E000000000000A24E0000000000009A4E0000000000007C4E000000000000524D0000000000005E4D0000000000006A4D000000000000724D0000000000007C4D000000000000844D0000000000008E4D0000000000009C4D000000000000A64D000000000000B04D000000000000BA4D000000000000D44D000000000000E64D000000000000F44D0000000000000E4E0000000000001C4E000000000000344E0000000000004A4E000000000000644E0000000000000000000000000000A2010000000000800000000000000000064D0000000000000000000000000000D84B000000000000CA4B000000000000284C000000000000364C0000000000001C4C0000000000000E4C000000000000064C000000000000FA4B000000000000E64B0000000000000000000000000000224D0000000000000000000000000000000000000000000000000000000000000000000000000000202A00800100000040300080010000000000000000000000000000000000000000000000A689E25B000000000200000068000000F0440000F02C000000000000A689E25B000000000C0000001400000058450000582D00008009F87B32BF1A108BBB00AA00300CAB00000000000000003050008001000000D050008001000000426C61636B00000053696C7665720000477261790000000057686974650000004D61726F6F6E000052656400507572706C650000000000004675636873696100477265656E0000004C696D65000000004F6C69766500000059656C6C6F7700004E61767900000000426C7565000000005465616C00000000417175610000000044656661756C740065786500646C6C0069636C0063706C007363720069636F0063757200616E6900626D700000000000676469706C7573006A7067006A7065670000000067696600476469706C7573537461727475700000476469706C757353687574646F776E00476469704372656174654269746D617046726F6D46696C6500000000000000004764' $DllBinary_x64 &= '6970437265617465484249544D415046726F6D4269746D6170000000000047646970446973706F7365496D6167650000000049636F6E000000005472616E73000000200900003000000000000000317C25647C25647C25647C2564000000000000000000E03FF8F8F800F8F8F800F8F8F800F8F8F80070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000800100000000000000000000000000000000000000525344533A83FEDCC8528745BD1E87B1E51E240C01000000413A5C5F4175746F49745F5F5F5F5C5F50726F6A6563745F5F5F5C5F494D475365617263685C496D616765536561726368444C4C5C52656C656173655C496D616765536561726368444C4C2E7064620000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106020006320230192A0B451943140195000DF00BE009D007C005700460033002500000C832000090040000192D0A001C015F000DF00BE009D007C00570046003300250C8320000E0020000191B030009011A0002500000C8320000A00000002125080025E4170018C418001074190008641E00201C00004A1C0000DC4500002108020008F416004A1C0000EA1C0000F04500002108020008341D00EA1C0000081D00001046000021000000EA1C0000081D000010460000210000004A1C0000EA1C0000F045000021000000201C00004A1C0000DC45000019EB0B00EBC4290017012A000BF009E007D005700460033002500000C83200003801000001130100134200000000000001000000011D0C001DC40B001D740A001D5409001D3408001D3219F017E015D01915080015740A001564090015340800155211E08C32000002000000372D00001A2E0000503300001A2E0000312D0000202E000075330000000000000106020006320250010F06000F6407000F3406000F320B700109010009620000090A04000A3406000A3206708C32000001000000CD2F0000003000009033000000300000010401000442000011060200063202308C32000001000000C73000002D310000B033000000000000010D04000D3409000D320650010A04000A3406000A320670000000000000000000000000A689E25B00000000BC470000010000000200000002000000A8470000B0470000B8470000301E0000201E0000CF470000DB47000000000100496D616765536561726368444C4C2E646C6C00496D61676553656172636800496D6167655465737400000000E04800000000000000000000BC4B000058400000904A00000000000000000000424C00' $DllBinary_x64 &= '0008420000884800000000000000000000FC4C000000400000804A00000000000000000000164D0000F8410000E04A000000000000000000003A4D000058420000704A00000000000000000000444D0000E8410000904900000000000000000000C64D0000084100000000000000000000000000000000000000000000E64C000000000000CA4C000000000000BA4C000000000000A44C0000000000008A4C000000000000704C000000000000624C0000000000004E4C000000000000F24C000000000000DA4C00000000000000000000000000009E4B000000000000AE4B000000000000764F000000000000604F000000000000904B0000000000002A4F000000000000164F000000000000064F000000000000F64E0000000000008C4F0000000000007E4B0000000000006E4B000000000000584B0000000000004C4B000000000000364B000000000000284B0000000000001A4B0000000000000C4B000000000000FE4A000000000000464F000000000000F04A0000000000000000000000000000024E000000000000D24E000000000000C84E000000000000BA4E000000000000AC4E000000000000A24E0000000000009A4E0000000000007C4E000000000000524D0000000000005E4D0000000000006A4D000000000000724D0000000000007C4D000000000000844D0000000000008E4D0000000000009C4D000000000000A64D000000000000B04D000000000000BA4D000000000000D44D000000000000E64D000000000000F44D0000000000000E4E0000000000001C4E000000000000344E0000000000004A4E000000000000644E0000000000000000000000000000A2010000000000800000000000000000064D0000000000000000000000000000D84B000000000000CA4B000000000000284C000000000000364C0000000000001C4C0000000000000E4C000000000000064C000000000000FA4B000000000000E64B0000000000000000000000000000224D0000000000000000000000000000880043726561746546696C654100F70147657446696C6553697A65006801467265654C69627261727900C602476C6F62616C4C6F636B0000BB02476C6F62616C416C6C6F6300EC0147657446696C6541747472696275746573410000C3035265616446696C65000069034D756C746942797465546F576964654368617200CD02476C6F62616C556E6C6F636B00004C0247657450726F63416464726573730000C202476C6F62616C4672656500003E034C6F61644C6962726172794100005200436C6F736548616E646C65004B45524E454C33322E646C6C0000A30044657374726F7949636F6E00F2014C6F6164496D616765410000800147657453797374656D4D6574726963730000690252656C65617365444300230147657444' $DllBinary_x64 &= '4300350147657449636F6E496E666F005400436F7079496D61676500C8004472617749636F6E45780000F60046696C6C5265637400005553455233322E646C6C00005400437265617465536F6C696442727573680000FB014765744F626A656374410000120247657453797374656D50616C65747465456E7472696573002F00437265617465436F6D70617469626C654269746D617000003000437265617465436F6D70617469626C6544430000770253656C6563744F626A6563740000E60044656C6574654F626A6563740000CA0147657444494269747300E30044656C657465444300001300426974426C74000047444933322E646C6C0027004578747261637449636F6E4100005348454C4C33322E646C6C008A0043726561746553747265616D4F6E48476C6F62616C006F6C6533322E646C6C004F4C4541555433322E646C6C000075045F73747269636D7000007F045F7374726E69636D70005006667265650000AA066D616C6C6F630000B60561746F6900001D07737472746F6C00004A0776737072696E74665F73000011077374726E63707900150773747272636872003407746F7570706572008606697378646967697400004D535643523132302E646C6C00005D015F5F4370705863707446696C74657200F2015F616D73675F6578697400006C035F6D616C6C6F635F63727400E1025F696E69747465726D00E2025F696E69747465726D5F65005C015F5F435F73706563696669635F68616E646C657200009D015F5F6372745F64656275676765725F686F6F6B009C015F5F637274556E68616E646C6564457863657074696F6E009B015F5F6372745465726D696E61746550726F63657373007E015F5F6372744361707475726550726576696F7573436F6E74657874005B035F6C6F636B00C7045F756E6C6F636B0009025F63616C6C6F635F637274009F015F5F646C6C6F6E657869740002045F6F6E65786974007B015F5F636C65616E5F747970655F696E666F5F6E616D65735F696E7465726E616C0000EE00456E636F6465506F696E74657200CB004465636F6465506F696E7465720002034973446562756767657250726573656E74000603497350726F636573736F724665617475726550726573656E7400A9035175657279506572666F726D616E6365436F756E74657200C70147657443757272656E7450726F63657373496400CB0147657443757272656E7454687265616449640000800247657453797374656D54696D65417346696C6554696D650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032A2DF2D992B0000CD5D20D266' $DllBinary_x64 &= 'D4FFFFFFFFFFFF75980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000341200009045000040120000B112000090450000C01200002E1500009845000030150000181C0000BC450000201C00004A1C0000DC4500004A1C0000EA1C0000F0450000EA1C0000081D000010460000081D00009C1D0000244600009C1D0000A41D000038460000A41D0000001E000048460000001E0000191E000058460000301E0000B229000068460000C0290000EB2900008C460000002A00001F2A000098460000202A00007E2A000090450000802A0000CB2C00009C460000CC2C0000092D0000FC4600000C2D0000422E0000B8460000442E00008D2E000090450000902E0000612F00000C470000C02F00000D30000014470000403000008E30000090450000903000004031000040470000403100005731000038470000583100000432000060470000043200003C3200006C4700003C320000743200006C470000C8320000E532000038470000E83200004B330000904500005033000075330000F4460000753300008F330000F446000090330000B0330000F4460000B0330000CB330000F446000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' $DllBinary_x64 &= '01001800000018000080000000000000000000000000000001000200000030000080000000000000000000000000000001000904000048000000607000007D010000000000000000000000000000000000003C3F786D6C2076657273696F6E3D27312E302720656E636F64696E673D275554462D3827207374616E64616C6F6E653D27796573273F3E0D0A3C617373656D626C7920786D6C6E733D2775726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E763127206D616E696665737456657273696F6E3D27312E30273E0D0A20203C7472757374496E666F20786D6C6E733D2275726E3A736368656D61732D6D6963726F736F66742D636F6D3A61736D2E7633223E0D0A202020203C73656375726974793E0D0A2020202020203C72657175657374656450726976696C656765733E0D0A20202020202020203C726571756573746564457865637574696F6E4C6576656C206C6576656C3D276173496E766F6B6572272075694163636573733D2766616C736527202F3E0D0A2020202020203C2F72657175657374656450726976696C656765733E0D0A202020203C2F73656375726974793E0D0A20203C2F7472757374496E666F3E0D0A3C2F617373656D626C793E0D0A0000000000000000000000000000000000000000000000000000000000000000000000004000001400000080A288A2F0A2F8A2D8A40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' Local $ImageSearchDLL_Binary = $DllBinary If @AutoItX64 Then $ImageSearchDLL_Binary = $DllBinary_x64 Local $ImageSearchDLL_FileExists = FileExists($ImageSearchDLL_Path) Local $ImageSearchDLL_FileSize = FileGetSize($ImageSearchDLL_Path) / 1024 If (Not $ImageSearchDLL_FileExists) Or ($ImageSearchDLL_FileSize < 10 Or $ImageSearchDLL_FileSize > 20) Then If $ImageSearchDLL_FileExists Then If StringInStr(FileGetAttrib($ImageSearchDLL_Path), "D") Then FileSetAttrib($ImageSearchDLL_Path, "-RAHS", 1) DirRemove($ImageSearchDLL_Path) Else FileSetAttrib($ImageSearchDLL_Path, "-RAHS") FileDelete($ImageSearchDLL_Path) EndIf EndIf Local $hOpen = FileOpen($ImageSearchDLL_Path, 2 + 8 + 16) FileWrite($hOpen, $ImageSearchDLL_Binary) FileClose($hOpen) $ImageSearchDLL_FileExists = FileExists($ImageSearchDLL_Path) $ImageSearchDLL_FileSize = (FileGetSize($ImageSearchDLL_Path) / 1024) EndIf If $ImageSearch_Debug Then ConsoleWrite("-- WorkingDir : " & @WorkingDir & @CRLF) ConsoleWrite("-- ScriptFullPath : " & @ScriptFullPath & @CRLF) ConsoleWrite("-- ImageSearchDLL : " & $ImageSearchDLL_Path & " (" & $ImageSearchDLL_FileSize & "kb)" & @CRLF) EndIf If (Not $ImageSearchDLL_FileExists) Then If $ImageSearch_Debug Then ConsoleWrite("! ImageSearchDLL is Not Found or Can't Write" & @CRLF & "! " & $ImageSearchDLL_Path & @CRLF) ; MsgBox(16 + 262144, "ImageSearchDLL", "ImageSearchDLL is Not Found or Can't Write !" & @CRLF & $ImageSearchDLL_Path) Return SetError(1, 0, 0) EndIf Return 1 EndFunc ;==>_ImageSearch_CheckDLL ; * -----:| Dao Van Trong - TRONG.LIVE  
       
×
×
  • Create New...