Jump to content

Recommended Posts

Posted

don't sell yourself short smoke, you write plenty of stuff more efficiently than me. the only reason i re-did what you had already done smoke was that i only had an hour left at work when i was getting started on this, and figured i'd have a better chance of finishing before quitting time if i started from scratch than if i tried to work off of a started script. bad news though, just got home and i guess i've a date with the wife tonight, dinner and a movie, so i won't be able to work on this more tonight. another thing i was thinking about on the way home is that my code has a prominent point of failure in that if any part of the listed file's path contains a hyphen. i tried to make my script not take advantage of the date being in the same place on every log entry (i'm sure they won't all be at v:\test\ directory) but the way that i did it, it only checks for the first hyphen in the string, and grabs 2 chars before to 2 chars after...it's a fine solution if you can be sure there will never be a hyphen in a folder name... if i get home early enough tonight i'll try to finish this up, otherwise it'll be my first project in the morning. 8am ish PST

ok, i finished the first draft, but it's VERY ugly code. To defend myself before anyone says anything, I was writing it between doing other things and did it about as inefficiently as possible, creating unnecessary arrays, etc etc etc. i'm going to go over it and remove the redundancy to speed it up considerably, but here's rough draft. :P

#include<file.au3>
#include<array.au3>
$input = FileOpen("c:\log.txt",0)
$output = FileOpen("c:\logout.txt",2)
$starttime = TimerInit()
While 1
    $line = FileReadLine($input)
    If @error Then ExitLoop
    If StringMid($line,2,1) = ":" Then FileWriteLine($output,$line)
WEnd
FileClose($input)
FileClose($output)
Dim $log
_FileReadToArray("c:\logout.txt",$log)
Dim $array[$log[0]][2],$tmp=""
$array[0][0] = $log[0]

For $x = 1 To $log[0]-1
$start = StringInStr($log[$x]," ... Found the ") + 15
$array[$x][0] = StringMid($log[$x],$start,StringLen($log[$x])-($start+3))
$array[$x][1] = StringMid($log[$x],StringInStr($log[$x],"-")-2,5)
$tmp = $tmp & "," & $array[$x][1] & $array[$x][0]
Next
$tmp = StringTrimLeft($tmp,1)
$sortme = StringSplit($tmp,",")
Global $n = $sortme[0]
$sortme = shellsort($sortme)
$overwrite = FileOpen("c:\log.txt",2)
For $i = 0 to $n-1
$thecount = _StringSubLoc($tmp,$sortme[$i])
If $thecount[0] Then
    FileWriteLine($overwrite,StringLeft($sortme[$i],5) & @TAB & StringRight($sortme[$i],StringLen($sortme[$i])-5) & @TAB & $thecount[0] & " occurances")
    StringReplace($tmp,"," & $sortme[$i],"",$thecount[0])
EndIf
Next
FileClose($overwrite)
MsgBox(0,"time",TimerDiff($starttime)/1000)
Func _StringSubLoc($ack, $blah)
    $bl = StringLen($blah)
    $al = StringLen($ack)
    Dim $occ[1]
    $occ[0] = 0
    If StringInStr($ack, $blah) Then
        For $x = 1 To $al - $bl
            If StringMid($ack, $x, $bl) = $blah Then
                $occ[0] = $occ[0] + 1
                _ArrayAdd($occ, $x + 1)
            EndIf
        Next
    Else
        Return (-1)
        Exit
    EndIf
    Return ($occ)
EndFunc 
Func shellsort($InArray)
    Dim $inner,$outer,$temp; declare variables
    _ArrayDelete($InArray,0)
$h = 1
While $h <= $n/3
    $h = $h * 3 + 1
WEnd

While $h >0
    For $outer = $h To $n-2
        $temp = StringStripWS($InArray[$outer],1)
        $inner = $outer
        While $inner > ($h - 1) And StringStripWS($InArray[$inner-$h],1) >= $temp
            $InArray[$inner] = $InArray[$inner-$h]
            $inner = $inner - $h
        WEnd
        $InArray[$inner] = $temp
    Next
$h = ($h - 1)/3
WEnd
Return($InArray)
EndFunc
Posted

A BIG thank you to SmOke_N, cameronsdad, and LxP for all the help with this project! From all the code posts I have been able to get a script tested and working that accomplishes my task. :P Without your assistance I would have probably gone insane by now. I ran it against a McAfee logfile containing ~6700 entries and spanning 20 days and the results were perfect!

Posted

A BIG thank you to SmOke_N, cameronsdad, and LxP for all the help with this project! From all the code posts I have been able to get a script tested and working that accomplishes my task. :P Without your assistance I would have probably gone insane by now. I ran it against a McAfee logfile containing ~6700 entries and spanning 20 days and the results were perfect!

glad to help, but i'm still not comfortable calling my code my final submission. I will have my code optimized before i go home today. Even if you end up not using it, i'm not happy with code i've already put up, so i want to replay again after i'm happy w/ the result.
  • Moderators
Posted

glad to help, but i'm still not comfortable calling my code my final submission. I will have my code optimized before i go home today. Even if you end up not using it, i'm not happy with code i've already put up, so i want to replay again after i'm happy w/ the result.

Well with the headache it caused me... I'm glad to call mine a 'Final Submission'!! :P

Glad they worked for you, not testing either LxP's or Cameronsdad, which did you use for the project... I'm sure you being the end-user tested all 3 for efficency, would be nice to know which I should look at for future references.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted

Well with the headache it caused me... I'm glad to call mine a 'Final Submission'!! :lmao:

Glad they worked for you, not testing either LxP's or Cameronsdad, which did you use for the project... I'm sure you being the end-user tested all 3 for efficency, would be nice to know which I should look at for future references.

here we go. final submission. i'm comfortable having this one represent my effort. All i did was ALOT of fine tuning and optimizing on my other submission. cut the time to process 136 entries from the disgusting 33 seconds before all the way down to .35 seconds. :P

#include<file.au3>
#include<array.au3>
FileDelete("C:\log.txt")
FileCopy("c:\originallog.txt", "c:\log.txt", 1)
Global $occ = 0
$input = FileOpen("c:\log.txt", 0)
$starttime = TimerInit()
Dim $con[1]
$con[0] = 1
$tmp = ""
While 1
    $line = FileReadLine($input)
    If @error Then ExitLoop
    If StringMid($line, 2, 1) = ":" Then 
        $start = StringInStr($line, " ... Found the ") + 15
        ReDim $con[$con[0] + 1]
        $con[0] = $con[0] + 1
        $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3))
        $tmp = $tmp & "," & $con[$con[0] - 1]
    EndIf
WEnd
FileClose($input)
$tmp = StringTrimLeft($tmp, 1)
$sortme = StringSplit($tmp, ",")
Global $n = $sortme[0]
$sortme = shellsort($sortme)
$overwrite = FileOpen("c:\log.txt", 2)
For $i = 0 To $n - 1
    $thecount = _StringSubLoc($tmp, $sortme[$i])
    If $thecount Then
        FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances")
        $tmp = StringReplace($tmp, $sortme[$i], " ", 0)
    EndIf
    
Next
FileClose($overwrite)
MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries")
Func _StringSubLoc($ack, $blah, $so = 1)
    $test = StringInStr($ack, $blah)
    If $test Then
        $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so)
    Else
        $so = 0
    EndIf
    Return ($so)
EndFunc   
Func shellsort($InArray)
    Dim $inner, $outer, $temp
    _ArrayDelete($InArray, 0)
    $h = 1
    While $h <= $n / 3
        $h = $h * 3 + 1
    WEnd
    
    While $h > 0
        For $outer = $h To $n - 2
            $temp = StringStripWS($InArray[$outer], 1)
            $inner = $outer
            While $inner > ($h - 1) And StringStripWS($InArray[$inner - $h], 1) >= $temp
                $InArray[$inner] = $InArray[$inner - $h]
                $inner = $inner - $h
            WEnd
            $InArray[$inner] = $temp
        Next
        $h = ($h - 1) / 3
    WEnd
    Return ($InArray)
EndFunc
Posted

Well with the headache it caused me... I'm glad to call mine a 'Final Submission'!! :P

Glad they worked for you, not testing either LxP's or Cameronsdad, which did you use for the project... I'm sure you being the end-user tested all 3 for efficency, would be nice to know which I should look at for future references.

Well considering I was not able to do it myself, I am hesitant to critique any of the three methods. For reference I ran all three aganist a logfile with 1510 records. SmOke_N's completed in 12 sec., LxP's completed in 2 sec., and I was unable to get Cameronsdad's to complete.

The only thing, other than output formatting, I noted was LxP's would not accunt for any records containing the following line (which was probably my fault for not including the scenario in the file I attached):

V:\TEST\12-26T7575acd0a70a01145012a0.msg ... Found potentially unwanted program Exploit-MIME.gen.c.

SmOke_N's did account for that line. I have attached the log file I used for testing.

Again, THANK YOU ALL for your help!!!!

vlog.txt

  • Moderators
Posted

here we go. final submission. i'm comfortable having this one represent my effort. All i did was ALOT of fine tuning and optimizing on my other submission. cut the time to process 136 entries from the disgusting 33 seconds before all the way down to .35 seconds. :P

Hmmm, I think that may be faster than mine? Good work!

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted (edited)

Well considering I was not able to do it myself, I am hesitant to critique any of the three methods. For reference I ran all three aganist a logfile with 1510 records. SmOke_N's completed in 12 sec., LxP's completed in 2 sec., and I was unable to get Cameronsdad's to complete.

The only thing, other than output formatting, I noted was LxP's would not accunt for any records containing the following line (which was probably my fault for not including the scenario in the file I attached):

V:\TEST\12-26T7575acd0a70a01145012a0.msg ... Found potentially unwanted program Exploit-MIME.gen.c.

SmOke_N's did account for that line. I have attached the log file I used for testing.

Again, THANK YOU ALL for your help!!!!

vlog.txt

please try my newest submission, you just have to change the reference to the log file. i think mine MAY beat alex's...

***edit***

tested myself with that many, NOPE. his is fastest.

***edit*** i'm a tard. thought of another way to speed it up, give me a few min and i'll have a final final submission.

Edited by cameronsdad
Posted

here we go. final submission. i'm comfortable having this one represent my effort. All i did was ALOT of fine tuning and optimizing on my other submission. cut the time to process 136 entries from the disgusting 33 seconds before all the way down to .35 seconds. :P

#include<file.au3>
#include<array.au3>
FileDelete("C:\log.txt")
FileCopy("c:\originallog.txt", "c:\log.txt", 1)
Global $occ = 0
$input = FileOpen("c:\log.txt", 0)
$starttime = TimerInit()
Dim $con[1]
$con[0] = 1
$tmp = ""
While 1
    $line = FileReadLine($input)
    If @error Then ExitLoop
    If StringMid($line, 2, 1) = ":" Then 
        $start = StringInStr($line, " ... Found the ") + 15
        ReDim $con[$con[0] + 1]
        $con[0] = $con[0] + 1
        $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3))
        $tmp = $tmp & "," & $con[$con[0] - 1]
    EndIf
WEnd
FileClose($input)
$tmp = StringTrimLeft($tmp, 1)
$sortme = StringSplit($tmp, ",")
Global $n = $sortme[0]
$sortme = shellsort($sortme)
$overwrite = FileOpen("c:\log.txt", 2)
For $i = 0 To $n - 1
    $thecount = _StringSubLoc($tmp, $sortme[$i])
    If $thecount Then
        FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances")
        $tmp = StringReplace($tmp, $sortme[$i], " ", 0)
    EndIf
    
Next
FileClose($overwrite)
MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries")
Func _StringSubLoc($ack, $blah, $so = 1)
    $test = StringInStr($ack, $blah)
    If $test Then
        $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so)
    Else
        $so = 0
    EndIf
    Return ($so)
EndFunc   
Func shellsort($InArray)
    Dim $inner, $outer, $temp
    _ArrayDelete($InArray, 0)
    $h = 1
    While $h <= $n / 3
        $h = $h * 3 + 1
    WEnd
    
    While $h > 0
        For $outer = $h To $n - 2
            $temp = StringStripWS($InArray[$outer], 1)
            $inner = $outer
            While $inner > ($h - 1) And StringStripWS($InArray[$inner - $h], 1) >= $temp
                $InArray[$inner] = $InArray[$inner - $h]
                $inner = $inner - $h
            WEnd
            $InArray[$inner] = $temp
        Next
        $h = ($h - 1) / 3
    WEnd
    Return ($InArray)
EndFunc
Sorry cameronsdad, looks like my reply posted just after you posted your final. It worked like a charm this time (and accounted for the MIME record mentioned earlier)! Took 14 sec. to process 1510 records. Nice! Thank you for all the help!
Posted

Sorry cameronsdad, looks like my reply posted just after you posted your final. It worked like a charm this time (and accounted for the MIME record mentioned earlier)! Took 14 sec. to process 1510 records. Nice! Thank you for all the help!

wait, it gets better. this should shave the time considerably:

#include<file.au3>
#include<array.au3>
FileDelete("C:\log.txt")
FileCopy("c:\originallog.txt", "c:\log.txt", 1)
Global $occ = 0
$input = FileOpen("c:\log.txt", 0)
$starttime = TimerInit()
Dim $con[1]
$con[0] = 1
$tmp = ""
While 1
    $line = FileReadLine($input)
    If @error Then ExitLoop
    If StringMid($line, 2, 1) = ":" Then 
        $start = StringInStr($line, " ... Found the ") + 15
        ReDim $con[$con[0] + 1]
        $con[0] = $con[0] + 1
        $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3))
        $tmp = $tmp & "," & $con[$con[0] - 1]
    EndIf
WEnd
FileClose($input)
$tmp = StringTrimLeft($tmp, 1)
$sortme = StringSplit($tmp, ",")
Global $n = $sortme[0]
$overwrite = FileOpen("c:\log.txt", 2)
For $i = 0 To $n - 1
    $thecount = _StringSubLoc($tmp, $sortme[$i])
    If $thecount Then
        FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances")
        $tmp = StringReplace($tmp, $sortme[$i], " ", 0)
    EndIf
    
Next
FileClose($overwrite)
MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries")
Func _StringSubLoc($ack, $blah, $so = 1)
    $test = StringInStr($ack, $blah)
    If $test Then
        $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so)
    Else
        $so = 0
    EndIf
    Return ($so)
EndFunc
  • Moderators
Posted

Jesus Christ!!! ... LxP's took .318 seconds on mine (I'm sure the other issue can be fixed easily).. Mine took 8.6 seconds... and Cameronsdad's was right there with me, but nicely done in a UDF for multiple users to use.

As far as cameronsdads is concerned, there is an output file and an input file, make sure you have the correct input file name: 'originallog.txt', because your output file name will be log.txt... or switch the names around in the script, but it in fact does work.

Good work to all you!, and glad your happy MightyGuru!

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted

Jesus Christ!!! ... LxP's took .318 seconds on mine (I'm sure the other issue can be fixed easily).. Mine took 8.6 seconds... and Cameronsdad's was right there with me, but nicely done in a UDF for multiple users to use.

As far as cameronsdads is concerned, there is an output file and an input file, make sure you have the correct input file name: 'originallog.txt', because your output file name will be log.txt... or switch the names around in the script, but it in fact does work.

Good work to all you!, and glad your happy MightyGuru!

yeah i got tired of replacing the log.txt every time i ran a test so i made an original to overwrite the output from the previous attempt. did you try my final final?
Posted

wait, it gets better. this should shave the time considerably:

#include<file.au3>
#include<array.au3>
FileDelete("C:\log.txt")
FileCopy("c:\originallog.txt", "c:\log.txt", 1)
Global $occ = 0
$input = FileOpen("c:\log.txt", 0)
$starttime = TimerInit()
Dim $con[1]
$con[0] = 1
$tmp = ""
While 1
    $line = FileReadLine($input)
    If @error Then ExitLoop
    If StringMid($line, 2, 1) = ":" Then 
        $start = StringInStr($line, " ... Found the ") + 15
        ReDim $con[$con[0] + 1]
        $con[0] = $con[0] + 1
        $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3))
        $tmp = $tmp & "," & $con[$con[0] - 1]
    EndIf
WEnd
FileClose($input)
$tmp = StringTrimLeft($tmp, 1)
$sortme = StringSplit($tmp, ",")
Global $n = $sortme[0]
$overwrite = FileOpen("c:\log.txt", 2)
For $i = 0 To $n - 1
    $thecount = _StringSubLoc($tmp, $sortme[$i])
    If $thecount Then
        FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances")
        $tmp = StringReplace($tmp, $sortme[$i], " ", 0)
    EndIf
    
Next
FileClose($overwrite)
MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries")
Func _StringSubLoc($ack, $blah, $so = 1)
    $test = StringInStr($ack, $blah)
    If $test Then
        $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so)
    Else
        $so = 0
    EndIf
    Return ($so)
EndFunc
UPDATE: cameronsdad's newest revision completes the 1510 records in 4.7sec!
  • Moderators
Posted

Yeh, I got 3.8 to 4.0 seconds... wtg... and I SUCK!

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

  • Moderators
Posted (edited)

Errr, that makes me look more like an ass than anything Sean!! LMAO!!, I keep getting errors.

Edit: Nice Alex! 0.34 seconds!

Edited by SmOke_N

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted

Errr, that makes me look more like an ass than anything Sean!! LMAO!!, I keep getting errors.

Edit: Nice Alex! 0.34 seconds!

oops... i took off the obfuscated post... i must've done something wrong obfuscating it...
  • Moderators
Posted

Sean... This is your code obfuscated:... No time difference.

Global Const $654B8B4232A9E48C75BB1FC8C7E9E2D2 = Round(99/3+15*100/4-13^2+81/3-17-245+99/3+15*100/4-13^2+81/3-17)

Global Const $654B884232A9E88C75BB1FC8C7E9E2D2 = X046BCCDE3EA6B4997('7274', $654B8B4232A9E48C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C7E9EBD2 = X045B5CDE3EA6B4997('8A', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C7E972D2 = X045B5CDE3EA6B4997('5D', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC837E9E2D2 = X045B5CDE3EA6B4997('68', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B823299E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('6C', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75B11FC8C7E9E2D2 = X045B5CDE3EA6B4997('6A', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1AC8C7E9E2D2 = X045B5CDE3EA6B4997('AA', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4212A9E88C72BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('72', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $65FB8B4232A9E88C75BB1F98C7E9E2D2 = X045B5CDE3EA6B4997('A196939A9A61605C929A9A', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232ACE88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('9A9D9C95', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FCAC7E9E2D2 = X045B5CDE3EA6B4997('8196939A9A73A69391A3A293', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $65BB8B4232A9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('96A59C92', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C7E9E2C2 = X045B5CDE3EA6B4997('A1A2A0979C95', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C719E2D2 = X045B5CDE3EA6B4997('9EA0979CA2', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654BCB4232A9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('979CA2', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9EC8C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('5B', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8F4232A9E08C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C2E9E2D2 = X045B5CDE3EA6B4997('4E684E', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FE8C7E9E2D2 = X045B5CDE3EA6B4997('5C8A', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C3E9E2D2 = X045B5CDE3EA6B4997('5C5D', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C7E9E7D2 = X045B5CDE3EA6B4997('5C', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C7E9E2B2 = X045B5CDE3EA6B4997('8A8A', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC3C7E9E2D2 = X045B5CDE3EA6B4997('A48D', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88875BB12C8C7E9E2D2 = X045B5CDE3EA6B4997('89', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C7E962D2 = X045B5CDE3EA6B4997('8B4E6B4E', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232D9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('71688A9A9D955CA2A6A2', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8A4232A9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('91688A9DA09795979C8F9A9A9D955CA2A6A2', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB3FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E5C5C5C4E749DA39C924EA296934E', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B423239E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('5A', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A1E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E9D9191A3A08F9C9193A1', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB1FC8C749E2D2 = X045B5CDE3EA6B4997('A2979B93', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB12C8C7E9E2D2 = X045B5CDE3EA6B4997('97A24EA29D9D994E', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C75BB6FC8C7E9E2D2 = X045B5CDE3EA6B4997('4EA193919D9C92A14EA29D4E9EA09D9193A1A14E', $654B884232A9E88C75BB1FC8C7E9E2D2)

Global Const $654B8B4232A9E88C74BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E939CA2A09793A1', $654B884232A9E88C75BB1FC8C7E9E2D2)

Func X0B3731E3DCD63D5F1($654B8B4232A9E88675BB1FC8C7E9E2D2)

Local $654B8B4232A9E88C75BB1FC8C1E9E2D2 = FileGetSize($654B8B4232A9E88675BB1FC8C7E9E2D2) - 1

If @error Or $654B8B4232A9E88C75BB1FC8C1E9E2D2 = -1 Then Return 0

Return StringLen(StringAddCR(FileRead($654B8B4232A9E88675BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C1E9E2D2))) - $654B8B4232A9E88C75BB1FC8C1E9E2D2 + 1

EndFunc

Func X0B3231E3DCD63D8F1($654B8B4232A9E88675BB1FC8C7E9E2D2)

Local $654B8B4232A9E88C75BB11C8C7E9E2D2

Local $654B8BB232A9E88C75BB1FC8C7E9E2D2

$654B8B4232A9E88C75BB11C8C7E9E2D2 = FileOpen($654B8B4232A9E88675BB1FC8C7E9E2D2, 2)

If $654B8B4232A9E88C75BB11C8C7E9E2D2 = -1 Then

SetError(1)

Return 0

EndIf

$654B8BB232A9E88C75BB1FC8C7E9E2D2 = FileWrite($654B8B4232A9E88C75BB11C8C7E9E2D2, "")

If $654B8BB232A9E88C75BB1FC8C7E9E2D2 = -1 Then

SetError(2)

Return 0

EndIf

FileClose($654B8B4232A9E88C75BB11C8C7E9E2D2)

Return 1

EndFunc

Func X0B3731E3DC963D8F1($654B8B4232A9E88C75BB1FC8C709E2D2, $654B8B4232A9E88C75BB1FC8C5E9E2D2 = "*", $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 0)

Local $654B8B4232A9E88C77BB1FC8C7E9E2D2, $654B8B4232A9E88C74BB12C8C7E9E2D2, $654B8B4232A9E88A75BB1FC8C7E9E2D2[1]

If Not FileExists($654B8B4232A9E88C75BB1FC8C709E2D2) Then

SetError(1)

Return ""

EndIf

If (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9EBD2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1FC8C7E972D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1FC837E9E2D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B823299E88C75BB1FC8C7E9E2D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75B11FC8C7E9E2D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1AC8C7E9E2D2)) or (StringStripWS($654B8B4232A9E88C75BB1FC8C5E9E2D2, 8) = "") Then

SetError(2)

Return 0

EndIf

If Not ($654B8B4232A9E88C75FB1FC8CEE9E2D2 = 0 Or $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 1 Or $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 2) Then

SetError(3)

Return ""

EndIf

$654B8B4232A9E88A75BB1FC8C7E9E2D2[0] = 0

$654B8B4232A9E88C77BB1FC8C7E9E2D2 = FileFindFirstFile($654B8B4232A9E88C75BB1FC8C709E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 & $654B8B4232A9E88C75BB1FC8C5E9E2D2)

If $654B8B4232A9E88C77BB1FC8C7E9E2D2 = -1 Then

SetError(0)

Return 0

EndIf

While 1

$654B8B4232A9E88C74BB12C8C7E9E2D2 = FileFindNextFile($654B8B4232A9E88C77BB1FC8C7E9E2D2)

If @error Then ExitLoop

If $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 1 Then

If StringInStr(FileGetAttrib($654B8B4232A9E88C75BB1FC8C709E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 & $654B8B4232A9E88C74BB12C8C7E9E2D2), $654B8B4212A9E88C72BB1FC8C7E9E2D2) <> 0 Then ContinueLoop

EndIf

If $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 2 Then

If StringInStr(FileGetAttrib($654B8B4232A9E88C75BB1FC8C709E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 & $654B8B4232A9E88C74BB12C8C7E9E2D2), $654B8B4212A9E88C72BB1FC8C7E9E2D2) = 0 Then ContinueLoop

EndIf

ReDim $654B8B4232A9E88A75BB1FC8C7E9E2D2[UBound($654B8B4232A9E88A75BB1FC8C7E9E2D2) + 1]

$654B8B4232A9E88A75BB1FC8C7E9E2D2[0] = $654B8B4232A9E88A75BB1FC8C7E9E2D2[0] + 1

$654B8B4232A9E88A75BB1FC8C7E9E2D2[UBound($654B8B4232A9E88A75BB1FC8C7E9E2D2) - 1] = $654B8B4232A9E88C74BB12C8C7E9E2D2

WEnd

FileClose($654B8B4232A9E88C77BB1FC8C7E9E2D2)

SetError(0)

If $654B8B4232A9E88A75BB1FC8C7E9E2D2[0] = 0 Then Return ""

Return $654B8B4232A9E88A75BB1FC8C7E9E2D2

EndFunc

Func X0B373EE3DCD63D8F1($654B8B4232A9E88C75BB2FC8C7E9E2D2, $614B8B4232A9E88C75BB1FC8C7E9E2D2 = @SW_HIDE)

Local $654B8B4232A9E88375BB1FC8C7E9E2D2 = DllCall($65FB8B4232A9E88C75BB1F98C7E9E2D2, $654B8B4232ACE88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FCAC7E9E2D2, _

$65BB8B4232A9E88C75BB1FC8C7E9E2D2, 0, _

$654B8B4232A9E88C75BB1FC8C7E9E2C2, $654B8B4232A9E88C75BB1FC8C719E2D2, _

$654B8B4232A9E88C75BB1FC8C7E9E2C2, $654B8B4232A9E88C75BB2FC8C7E9E2D2, _

$654B8B4232A9E88C75BB1FC8C7E9E2C2, "", _

$654B8B4232A9E88C75BB1FC8C7E9E2C2, "", _

$654BCB4232A9E88C75BB1FC8C7E9E2D2, $614B8B4232A9E88C75BB1FC8C7E9E2D2)

If $654B8B4232A9E88375BB1FC8C7E9E2D2[0] > 32 And Not @error Then

Return 1

Else

SetError($654B8B4232A9E88375BB1FC8C7E9E2D2[0])

Return 0

EndIf

EndFunc

Func X0B3731E3DCB63D8F1($654B8B4232A9E88675BB1FC8C7E9E2D2, ByRef $6C4B8B4232A9E88C75BB1FC8C7E9E2D2)

Local $654B8BE232A9E88C75BB1FC8C7E9E2D2

$654B8BE232A9E88C75BB1FC8C7E9E2D2 = FileOpen($654B8B4232A9E88675BB1FC8C7E9E2D2, 0)

If $654B8BE232A9E88C75BB1FC8C7E9E2D2 = -1 Then

SetError(1)

Return 0

EndIf

$6C4B8B4232A9E88C75BB1FC8C7E9E2D2 = StringSplit( StringStripCR( FileRead($654B8BE232A9E88C75BB1FC8C7E9E2D2, FileGetSize($654B8B4232A9E88675BB1FC8C7E9E2D2))), @LF)

FileClose($654B8BE232A9E88C75BB1FC8C7E9E2D2)

Return 1

EndFunc

Func X0B3731E3DC763D8F1($654B8B4232A9E88675BB1FC8C7E9E2D2, $6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0, $659B8B4232A9E88C75BB1FC8C7E9E2D2 = 0)

Local $654B8BE232A9E88C75BB1FC8C7E9E2D2

If Not IsArray($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) Then

SetError(2)

Return 0

EndIf

Local $624B8B4232A9E88C75BB1FC8C7E9E2D2 = UBound($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) - 1

If $659B8B4232A9E88C75BB1FC8C7E9E2D2 < 1 Or $659B8B4232A9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BB1FC8C7E9E2D2

If $654B8B423EA9E88C75BB1FC8C7E9E2D2 < 0 Or $654B8B423EA9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0

$654B8BE232A9E88C75BB1FC8C7E9E2D2 = FileOpen($654B8B4232A9E88675BB1FC8C7E9E2D2, 2)

If $654B8BE232A9E88C75BB1FC8C7E9E2D2 = -1 Then

SetError(1)

Return 0

EndIf

FileWrite($654B8BE232A9E88C75BB1FC8C7E9E2D2, $6F4B8B4232A9E88C75BB1FC8C7E9E2D2[$654B8B423EA9E88C75BB1FC8C7E9E2D2])

For $654B8B423D19E88C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 + 1 To $659B8B4232A9E88C75BB1FC8C7E9E2D2

FileWrite($654B8BE232A9E88C75BB1FC8C7E9E2D2, @crlf & $6F4B8B4232A9E88C75BB1FC8C7E9E2D2[$654B8B423D19E88C75BB1FC8C7E9E2D2])

Next

FileClose($654B8BE232A9E88C75BB1FC8C7E9E2D2)

Return 1

EndFunc

Func X0B3731E3DCD73D8F1($654B8B4232A9E88C15BB1FC8C7E9E2D2, $654B8B4232A9B88C75BB1FC8C7E9E2D2)

Local $654B8B4232A9E88CF5BB1FC6C7E9E2D2

Local $654B8B4232A9E38C75BB1FC8C7E9E2D2

Local $654B8B4232A0E88C75BB1FC8C7E9E2D2

Local $654B8B4232A9E88C75BB11C8C7E9E2D2

Local $654B8BB232A9E88C75BB1FC8C7E9E2D2

$654B8B4232A9E88CF5BB1FC6C7E9E2D2 = @YEAR & $654B8B4232A9EC8C75BB1FC8C7E9E2D2 & @MON & $654B8B4232A9EC8C75BB1FC8C7E9E2D2 & @MDAY

$654B8B4232A9E38C75BB1FC8C7E9E2D2 = @HOUR & $654B8B4232A9E88C75BB1FC837E9E2D2 & @MIN & $654B8B4232A9E88C75BB1FC837E9E2D2 & @SEC

$654B8B4232A0E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88CF5BB1FC6C7E9E2D2 & $654B8F4232A9E08C75BB1FC8C7E9E2D2 & $654B8B4232A9E38C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C2E9E2D2 & $654B8B4232A9B88C75BB1FC8C7E9E2D2

$654B8B4232A9E88C75BB11C8C7E9E2D2 = FileOpen($654B8B4232A9E88C15BB1FC8C7E9E2D2, 1)

If $654B8B4232A9E88C75BB11C8C7E9E2D2 = -1 Then

SetError(1)

Return 0

EndIf

$654B8BB232A9E88C75BB1FC8C7E9E2D2 = FileWriteLine($654B8B4232A9E88C75BB11C8C7E9E2D2, $654B8B4232A0E88C75BB1FC8C7E9E2D2)

If $654B8BB232A9E88C75BB1FC8C7E9E2D2 = -1 Then

SetError(2)

Return 0

EndIf

FileClose($654B8B4232A9E88C75BB11C8C7E9E2D2)

Return 1

EndFunc

Func X0B3731E3DCD60D8F1($654B8B4232A9E88C7CBB1FC8C7E9E2D2)

Local $654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2E2, $654B8B4231A9E88C7CBB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC897E9E2D2, $651B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC887E9E2D2, $684B8B4232A9E88C75BB1FC8C7E9E2D2

Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C9E9E2D2

X0BA731E31CD63D8F1($654B8B4232A9E88C7CBB1FC8C7E9E2D2, $654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2E2, $654B8B4231A9E88C7CBB1FC8C7E9E2D2)

X0BA731E31CD63D8F1(@WorkingDir, $654B8B4232A9E88C75BB1FC897E9E2D2, $651B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC887E9E2D2, $654B8B4232A9E88C75BB1FC887E9E2D2)

If Not StringLen($654B8B4231A9EE8C75BB1FC8C7E9E2D2) Then

$654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC897E9E2D2

$654B894232A9E88C75BB1FC8C7E9E2D2 = $651B8B4232A9E88C75BB1FC8C7E9E2D2 & $654B894232A9E88C75BB1FC8C7E9E2D2

EndIf

If Not StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) And Not StringLen($654B8B4232A9E88C75BB1FC8C8E9E2E2) And Not StringLen($654B8B4231A9E88C7CBB1FC8C7E9E2D2) Then

If $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC897E9E2D2 Then Return X0B3231D3DCD63D8F1($654B8B4232A9E88C75BB1FC897E9E2D2, $651B8B4232A9E88C75BB1FC8C7E9E2D2, "", "")

Return X0B3231D3DCD63D8F1($654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9EBD2, "", "")

EndIf

While StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FE8C7E9E2D2) Or StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C3E9E2D2)

$654B8B4232A9E88C75BB1FC8C9E9E2D2 = StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FE8C7E9E2D2)

If $654B8B4232A9E88C75BB1FC8C9E9E2D2 = 0 Then $654B8B4232A9E88C75BB1FC8C9E9E2D2 = StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C3E9E2D2)

If $654B8B4232A9E88C75BB1FC8C9E9E2D2 = 0 Then ExitLoop

If StringMid($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C9E9E2D2 - 1, 1) = $654B8B4232A9E88C75BB1FC8C7E9E7D2 Then

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = ($654B8B4232A9E88C75BB1FC8C9E9E2D2 - 3) To 0 Step - 1

If StringMid($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9EBD2 Or StringMid($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E972D2 Then ExitLoop

Next

If $654B8B7232A9E88C75BB1FC8C7E9E2D2 > 0 Then

$654B894232A9E88C75BB1FC8C7E9E2D2 = StringLeft($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2) & StringRight($654B894232A9E88C75BB1FC8C7E9E2D2, StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) - ($654B8B4232A9E88C75BB1FC8C9E9E2D2 + 1))

Else

$654B894232A9E88C75BB1FC8C7E9E2D2 = StringRight($654B894232A9E88C75BB1FC8C7E9E2D2, StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) - ($654B8B4232A9E88C75BB1FC8C9E9E2D2 + 1))

EndIf

Else

$654B894232A9E88C75BB1FC8C7E9E2D2 = StringLeft($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C9E9E2D2 - 1) & StringRight($654B894232A9E88C75BB1FC8C7E9E2D2, StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) - $654B8B4232A9E88C75BB1FC8C9E9E2D2 - 1)

EndIf

If Not StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) Then $654B894232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C7E9EBD2

WEnd

Return X0B3231D3DCD63D8F1($654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2E2, $654B8B4231A9E88C7CBB1FC8C7E9E2D2)

EndFunc

Func X0B3231D3DCD63D8F1($654B8B4232A9E88C751B1FC8C7E9E2D2, $654B8B4232A9788C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB4FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E3D2)

Local $654B8B4D32A9E88C75BB1FC8C7E9E2D2

If StringLen($654B8B4232A9E88C751B1FC8C7E9E2D2) Then

If Not (StringLeft($654B8B4232A9E88C751B1FC8C7E9E2D2, 2) = $654B8B4232A9E88C75BB1FC8C7E9E2B2) Then $654B8B4232A9E88C751B1FC8C7E9E2D2 = StringLeft($654B8B4232A9E88C751B1FC8C7E9E2D2, 1) & $654B8B4232A9E88C75BB1FC837E9E2D2

EndIf

If StringLen($654B8B4232A9788C75BB1FC8C7E9E2D2) Then

If Not (StringRight($654B8B4232A9788C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9EBD2) And Not (StringRight($654B8B4232A9788C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E972D2) Then $654B8B4232A9788C75BB1FC8C7E9E2D2 = $654B8B4232A9788C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2

EndIf

If StringLen($654B8B4232A9E88C75BB1FC8C7E9E3D2) Then

If Not (StringLeft($654B8B4232A9E88C75BB1FC8C7E9E3D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9E7D2) Then $654B8B4232A9E88C75BB1FC8C7E9E3D2 = $654B8B4232A9E88C75BB1FC8C7E9E7D2 & $654B8B4232A9E88C75BB1FC8C7E9E3D2

EndIf

$654B8B4D32A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C751B1FC8C7E9E2D2 & $654B8B4232A9788C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB4FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9E3D2

Return $654B8B4D32A9E88C75BB1FC8C7E9E2D2

EndFunc

Func X0BA731E31CD63D8F1($624B8B4232A9E88C75BBDFC8C7E9E2D2, ByRef $654B8B4232A9E88C751B1FC8C7E9E2D2, ByRef $654B8B4232A9788C75BB1FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB4FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB1FC8C7E9E3D2)

Local $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = ""

Local $654B894232A9E88C75BB1FC8C7E9E2D2 = ""

Local $654B8B4432A9E88C75BB1FC8C7E9E2D2 = ""

Local $654B8B4231A9E88C7CBB1FC8C7E9E2D2 = ""

Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E222

Local $654B864232A9E88C75BB1FC8C7E9E2D2[5]

$654B864232A9E88C75BB1FC8C7E9E2D2[0] = $624B8B4232A9E88C75BBDFC8C7E9E2D2

If StringMid($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2, 1) = $654B8B4232A9E88C75BB1FC837E9E2D2 Then

$654B8B4231A9EE8C75BB1FC8C7E9E2D2 = StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2)

$624B8B4232A9E88C75BBDFC8C7E9E2D2 = StringTrimLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2)

ElseIf StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2) = $654B8B4232A9E88C75BB1FC8C7E9E2B2 Then

$624B8B4232A9E88C75BBDFC8C7E9E2D2 = StringTrimLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2)

$654B8B4232A9E88C75BB1FC8C7E9E222 = StringInStr($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9EBD2)

If $654B8B4232A9E88C75BB1FC8C7E9E222 = 0 Then $654B8B4232A9E88C75BB1FC8C7E9E222 = StringInStr($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E972D2)

If $654B8B4232A9E88C75BB1FC8C7E9E222 = 0 Then

$654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C7E9E2B2 & $624B8B4232A9E88C75BBDFC8C7E9E2D2

$624B8B4232A9E88C75BBDFC8C7E9E2D2 = ""

Else

$654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C7E9E2B2 & StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E222 - 1)

$624B8B4232A9E88C75BBDFC8C7E9E2D2 = StringTrimLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E222 - 1)

EndIf

EndIf

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = StringLen($624B8B4232A9E88C75BBDFC8C7E9E2D2) To 0 Step - 1

If StringMid($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9EBD2 Or StringMid($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E972D2 Then

$654B894232A9E88C75BB1FC8C7E9E2D2 = StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2)

$654B8B4432A9E88C75BB1FC8C7E9E2D2 = StringRight($624B8B4232A9E88C75BBDFC8C7E9E2D2, StringLen($624B8B4232A9E88C75BBDFC8C7E9E2D2) - $654B8B7232A9E88C75BB1FC8C7E9E2D2)

ExitLoop

EndIf

Next

If StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) = 0 Then $654B8B4432A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BBDFC8C7E9E2D2

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = StringLen($654B8B4432A9E88C75BB1FC8C7E9E2D2) To 0 Step - 1

If StringMid($654B8B4432A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9E7D2 Then

$654B8B4231A9E88C7CBB1FC8C7E9E2D2 = StringRight($654B8B4432A9E88C75BB1FC8C7E9E2D2, StringLen($654B8B4432A9E88C75BB1FC8C7E9E2D2) - ($654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1))

$654B8B4432A9E88C75BB1FC8C7E9E2D2 = StringLeft($654B8B4432A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1)

ExitLoop

EndIf

Next

$654B8B4232A9E88C751B1FC8C7E9E2D2 = $654B8B4231A9EE8C75BB1FC8C7E9E2D2

$654B8B4232A9788C75BB1FC8C7E9E2D2 = $654B894232A9E88C75BB1FC8C7E9E2D2

$654B8B4232A9E88C75BB4FC8C7E9E2D2 = $654B8B4432A9E88C75BB1FC8C7E9E2D2

$654B8B4232A9E88C75BB1FC8C7E9E3D2 = $654B8B4231A9E88C7CBB1FC8C7E9E2D2

$654B864232A9E88C75BB1FC8C7E9E2D2[1] = $654B8B4231A9EE8C75BB1FC8C7E9E2D2

$654B864232A9E88C75BB1FC8C7E9E2D2[2] = $654B894232A9E88C75BB1FC8C7E9E2D2

$654B864232A9E88C75BB1FC8C7E9E2D2[3] = $654B8B4432A9E88C75BB1FC8C7E9E2D2

$654B864232A9E88C75BB1FC8C7E9E2D2[4] = $654B8B4231A9E88C7CBB1FC8C7E9E2D2

Return $654B864232A9E88C75BB1FC8C7E9E2D2

EndFunc

Func X0B3731E3DCD63D8F1($654B8B42C2A9E88C75BB1FC8C7E9E2D2, $654B8B4232A5E88C75BB1FC8C7E9E2D2, $654B8B423299E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E2E2D2 = 0, $654B8B4232A9E88C75BB1FC8C7E0E2D2 = 1)

Local $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 0

Local $654B8B4232A9E88C75BB1FC8C7E912D2, $654B8B4232A9E08C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BE1FC8C7E9E2D2, $654B8B4232A9E88C75BF1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E932D2, $654B8B4832A9E88CF5BB1FC8C7E9E2D2, $654B8BE232A9E88C75BB1FC8C7E9E2D2

$654B8BE232A9E88C75BB1FC8C7E9E2D2 = FileOpen($654B8B42C2A9E88C75BB1FC8C7E9E2D2, 0)

If $654B8BE232A9E88C75BB1FC8C7E9E2D2 = -1 Then

SetError(1)

Return -1

EndIf

Local $654B8B4232A9E88C75BB1FCDC7E9E2D2

Local $654B8B4232A9E88C75BB1FCDC7E9E2D2 = FileRead($654B8BE232A9E88C75BB1FC8C7E9E2D2, FileGetSize($654B8B42C2A9E88C75BB1FC8C7E9E2D2))

If StringRight($654B8B4232A9E88C75BB1FCDC7E9E2D2, 2) = @CRLF Then

$654B8B4832A9E88CF5BB1FC8C7E9E2D2 = @CRLF

ElseIf StringRight($654B8B4232A9E88C75BB1FCDC7E9E2D2, 1) = @CR Then

$654B8B4832A9E88CF5BB1FC8C7E9E2D2 = @CR

ElseIf StringRight($654B8B4232A9E88C75BB1FCDC7E9E2D2, 1) = @LF Then

$654B8B4832A9E88CF5BB1FC8C7E9E2D2 = @LF

Else

$654B8B4832A9E88CF5BB1FC8C7E9E2D2 = ""

EndIf

$654B8B4232A9E88C75BE1FC8C7E9E2D2 = StringSplit(StringStripCR($654B8B4232A9E88C75BB1FCDC7E9E2D2), @LF)

FileClose($654B8BE232A9E88C75BB1FC8C7E9E2D2)

$654B8B4232A9E88C75BB1FC8C7E912D2 = X0B3731E3DCD93D8F1()

$654B8B4232A9E08C75BB1FC8C7E9E2D2 = FileOpen($654B8B4232A9E88C75BB1FC8C7E912D2, 2)

If $654B8B4232A9E08C75BB1FC8C7E9E2D2 = -1 Then

SetError(2)

Return -1

EndIf

For $654B8B4232A9E88C75BB1FC8C7E932D2 = 1 To $654B8B4232A9E88C75BE1FC8C7E9E2D2[0]

If StringInStr($654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2], $654B8B4232A5E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E2E2D2) Then

$654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2] = StringReplace($654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2], $654B8B4232A5E88C75BB1FC8C7E9E2D2, $654B8B423299E88C75BB1FC8C7E9E2D2, 1 - $654B8B4232A9E88C75BB1FC8C7E0E2D2, $654B8B4232A9E88C75BB1FC8C7E2E2D2)

$654B8B4A32A9E88C75BB1FC8C7E9E2D2 = $654B8B4A32A9E88C75BB1FC8C7E9E2D2 + 1

If $654B8B4232A9E88C75BB1FC8C7E0E2D2 = 0 Then

$654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 1

ExitLoop

EndIf

EndIf

Next

For $654B8B4232A9E88C75BB1FC8C7E932D2 = 1 To $654B8B4232A9E88C75BE1FC8C7E9E2D2[0] - 1

If FileWriteLine($654B8B4232A9E08C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2]) = 0 Then

SetError(3)

FileClose($654B8B4232A9E08C75BB1FC8C7E9E2D2)

Return -1

EndIf

Next

If $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2] <> "" Then FileWrite($654B8B4232A9E08C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2] & $654B8B4832A9E88CF5BB1FC8C7E9E2D2)

FileClose($654B8B4232A9E08C75BB1FC8C7E9E2D2)

If FileDelete($654B8B42C2A9E88C75BB1FC8C7E9E2D2) = 0 Then

SetError(4)

Return -1

EndIf

If FileMove($654B8B4232A9E88C75BB1FC8C7E912D2, $654B8B42C2A9E88C75BB1FC8C7E9E2D2) = 0 Then

SetError(5)

Return -1

EndIf

Return $654B8B4A32A9E88C75BB1FC8C7E9E2D2

EndFunc

Func X0B3731E3DCD93D8F1($654B8B4232A9E88C75BB0FC8C7E9E2D2 = @TempDir, $654B8B4232A9E88C75BB1FC8C7E9E2D2 = "~", $654B8B4232A9E88C75BB1FC8C789E2D2 = ".tmp", $654B8B9232A9E88C75BB1FC8C7E9E2D2 = 7)

Local $654B6B4232A9E88C75BB1FC8C7E9E2D2

If Not FileExists($654B8B4232A9E88C75BB0FC8C7E9E2D2) Then $654B8B4232A9E88C75BB0FC8C7E9E2D2 = @TempDir

If Not FileExists($654B8B4232A9E88C75BB0FC8C7E9E2D2) Then $654B8B4232A9E88C75BB0FC8C7E9E2D2 = @ScriptDir

If StringRight($654B8B4232A9E88C75BB0FC8C7E9E2D2, 1) <> $654B8B4232A9E88C75BB1FC8C7E9EBD2 Then $654B8B4232A9E88C75BB0FC8C7E9E2D2 = $654B8B4232A9E88C75BB0FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2

Do

$654B6B4232A9E88C75BB1FC8C7E9E2D2 = ""

While StringLen($654B6B4232A9E88C75BB1FC8C7E9E2D2) < $654B8B9232A9E88C75BB1FC8C7E9E2D2

$654B6B4232A9E88C75BB1FC8C7E9E2D2 = $654B6B4232A9E88C75BB1FC8C7E9E2D2 & Chr(Random(97, 122, 1))

WEnd

$654B6B4232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB0FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9E2D2 & $654B6B4232A9E88C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C789E2D2

Until Not FileExists($654B6B4232A9E88C75BB1FC8C7E9E2D2)

Return ($654B6B4232A9E88C75BB1FC8C7E9E2D2)

EndFunc

Func X0B1731E3DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9988C75BB1FC8C7E9E2D2)

If IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

ReDim $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) + 1]

$654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1] = $654B8B4232A9988C75BB1FC8C7E9E2D2

SetError(0)

Return 1

Else

SetError(1)

Return 0

EndIf

EndFunc

Func X0B3731E3DCD6BD8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E8EC75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0)

Local $654B8B4232A9EA8C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2

Local $654B8B4232A9EE8C75BB1FC8C7E9E2D2

Local $654B8B4232A9E88C72BB1FC8C7E9E2D2

If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then

SetError(1)

Return ""

EndIf

$654B8B4232A9EE8C75BB1FC8C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1

If $654B8B4232A9EE8C75BB1FC8C7E9E2D2 < 1 then

SetError(1)

Return ""

EndIf

$654B8B4232A9E88C72BB1FC8C7E9E2D2 = Int( ($654B8B4232A9EE8C75BB1FC8C7E9E2D2 + $654B8B4232A9EA8C75BB1FC8C7E9E2D2) / 2)

If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9EA8C75BB1FC8C7E9E2D2] > $654B8B4232A9E8EC75BB1FC8C7E9E2D2 Or $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9EE8C75BB1FC8C7E9E2D2] < $654B8B4232A9E8EC75BB1FC8C7E9E2D2 Then

SetError(2)

Return ""

EndIf

While $654B8B4232A9EA8C75BB1FC8C7E9E2D2 <= $654B8B4232A9E88C72BB1FC8C7E9E2D2 And $654B8B4232A9E8EC75BB1FC8C7E9E2D2 <> $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C72BB1FC8C7E9E2D2]

If $654B8B4232A9E8EC75BB1FC8C7E9E2D2 < $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C72BB1FC8C7E9E2D2] Then

$654B8B4232A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C72BB1FC8C7E9E2D2 - 1

Else

$654B8B4232A9EA8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C72BB1FC8C7E9E2D2 + 1

EndIf

$654B8B4232A9E88C72BB1FC8C7E9E2D2 = Int( ($654B8B4232A9EE8C75BB1FC8C7E9E2D2 + $654B8B4232A9EA8C75BB1FC8C7E9E2D2) / 2)

WEnd

If $654B8B4232A9EA8C75BB1FC8C7E9E2D2 > $654B8B4232A9EE8C75BB1FC8C7E9E2D2 Then

SetError(3)

Return ""

Else

SetError(0)

Return $654B8B4232A9E88C72BB1FC8C7E9E2D2

EndIf

EndFunc

Func X0B7731E3DCD63D8F1($654B8B423279E88C75BF1FC8C7E9E2D2, $654B814232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9088C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75BB1EC8C7E9E2D2 = 0, $654B8B4432A9EA8C75BB1FC8C7E9E2D2 = 0, $654B8B4232A6E88C75BB1FC8C7E9E2D2 = 0, $654B8F4232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C71BB1FC8C7E9E2D2 = 0, $654B8B423209E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75BB1F68C7E9E2D2 = 0, $654B8B0232A9E88C75BB0FC8C7E9E2D2 = 0, $654B8B4232A9E88C7ABB1FC8C7E9E2D2 = 0, $654B8B4C32A9E88C75BBDFC8C7E9E2D2 = 0, $654B8B4232A9EA8C75BB1FC8C7EBE2D2 = 0, $654B8E4232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75BB1FC8C7E9E262 = 0, $654B8B4232A9E88C75BB1FC0C7E9E2D2 = 0, $654B8B423269E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C757B1FC8C7E9E2D2 = 0, $654B8B9232A9E88C75BB1FC8C7ECE2D2 = 0, $654B8B4232A9E88CD5BB1FC8C7E9E2D2 = 0)

Local $659B8B4232A9E88C75BB1FC8C7E9E2D2 = @NumParams

Local $65FB8B4232A9E88C75BB1FC8C7E9E2D2[$659B8B4232A9E88C75BB1FC8C7E9E2D2]

Local $654B8B4232A9E88C75BB1FC8C7E9A2D2

For $654B8B4232A9E88C75BB1FC8C7E9A2D2 = 0 To ($659B8B4232A9E88C75BB1FC8C7E9E2D2 - 1)

$65FB8B4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9A2D2] = Eval($654B8B4232A9E88C75BB1FC3C7E9E2D2 & String($654B8B4232A9E88C75BB1FC8C7E9A2D2))

Next

Return $65FB8B4232A9E88C75BB1FC8C7E9E2D2

EndFunc

Func X0B3761E3DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232AAE88C75BB1FC8C7E9E2D2)

Local $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0, $654B8B4232A9E88C75BB1FC6C7E9E2D2 = 0, $654B8B4232A9E88C75BB1FC8C7E9E292 = 0

If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then

SetError(1)

Return ""

EndIf

Local $654B8B4232A9E88C75BB1FC6C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2)

If $654B8B4232A9E88C75BB1FC6C7E9E2D2 = 1 Then

SetError(2)

Return ""

EndIf

Local $654B8D4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1]

If $654B8B4232AAE88C75BB1FC8C7E9E2D2 < 0 Then

$654B8B4232AAE88C75BB1FC8C7E9E2D2 = 0

EndIf

If $654B8B4232AAE88C75BB1FC8C7E9E2D2 > ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) Then

$654B8B4232AAE88C75BB1FC8C7E9E2D2 = ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1)

EndIf

If $654B8B4232AAE88C75BB1FC8C7E9E2D2 > 0 Then

For $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0 To $654B8B4232AAE88C75BB1FC8C7E9E2D2 - 1

$654B8D4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2]

Next

EndIf

If $654B8B4232AAE88C75BB1FC8C7E9E2D2 < ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) Then

For $654B8B4232A9E88075BB1FC8C7E9EAD2 = ($654B8B4232AAE88C75BB1FC8C7E9E2D2 + 1) To ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1)

$654B8D4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2 - 1] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2]

Next

EndIf

$654B8B4232A9E88C77BB1FC8C8E9E2D2 = $654B8D4232A9E88C75BB1FC8C7E9E2D2

SetError(0)

Return 1

EndFunc

Func X0B3731E3DCF63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75BB1FC8C7E902D2)

Local $654B8B4232A9E88C75BB1F98C7E9E2D2 = 0, $654B8B4232A0E88C75BB1FC8C7E9E2D2 = ""

If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then

SetError(1)

Return 0

EndIf

If UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2,0) >1 Then

SetError(2)

Return 0

EndIf

For $654B8B4232A9E88C75BB1F98C7E9E2D2 = 0 To UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1

$654B8B4232A0E88C75BB1FC8C7E9E2D2 = $654B8B4232A0E88C75BB1FC8C7E9E2D2 & $654B8B4232A9E88875BB12C8C7E9E2D2 & $654B8B4232A9E88C75BB1F98C7E9E2D2 & "] = " & StringStripCR($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C75BB1F98C7E9E2D2]) & @CR

Next

MsgBox(4096, $654B8B4232A9E88C75BB1FC8C7E902D2, $654B8B4232A0E88C75BB1FC8C7E9E2D2)

SetError(0)

Return 1

EndFunc

Func X0B373183DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232AAE88C75BB1FC8C7E9E2D2, $654B8B4232A9988C75BB1FC8C7E9E2D2 = "")

Local $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0

If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

SetError(1)

Return 0

EndIf

ReDim $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) + 1]

For $654B8B4232A9E88075BB1FC8C7E9EAD2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1 To $654B8B4232AAE88C75BB1FC8C7E9E2D2 + 1 Step - 1

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2 - 1]

Next

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] = $654B8B4232A9988C75BB1FC8C7E9E2D2

Return 1

EndFunc

Func X0B3731E3D2D63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0)

If IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

Return $654B8B4232A9E88C77BB1FC8C8E9E2D2[X0B3731E3D1D63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2) ]

Else

SetError(1)

Return ""

EndIf

EndFunc

Func X0B3731E3D1D63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0)

Local $654B8B4232A9E88075BB1FC8C7E9EAD2, $654B8B4232A9E88C75BB1FC8C779E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2

If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

SetError(1)

Return ""

EndIf

Local $654B8B4232A9E88C75BB1FC6C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2)

For $654B8B4232A9E88075BB1FC8C7E9EAD2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1)

If $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 1 Then

If Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C75BB1FC8C779E2D2]) < Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2]) Then

$654B8B4232A9E88C75BB1FC8C779E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2

EndIf

Else

If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C75BB1FC8C779E2D2] < $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] Then

$654B8B4232A9E88C75BB1FC8C779E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2

EndIf

EndIf

Next

SetError(0)

Return $654B8B4232A9E88C75BB1FC8C779E2D2

EndFunc

Func X0B3731E2DCD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0)

If IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

Return $654B8B4232A9E88C77BB1FC8C8E9E2D2[X0B3771E3DCD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2) ]

Else

SetError(1)

Return ""

EndIf

EndFunc

Func X0B3771E3DCD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0)

Local $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0, $654B8B4232A9E82C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2

If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

SetError(1)

Return ""

EndIf

Local $654B8B4232A9E88C75BB1FC6C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2)

For $654B8B4232A9E88075BB1FC8C7E9EAD2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1)

If $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 1 Then

If Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E82C75BB1FC8C7E9E2D2]) > Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2]) Then

$654B8B4232A9E82C75BB1FC8C7E9E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2

EndIf

Else

If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E82C75BB1FC8C7E9E2D2] > $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] Then

$654B8B4232A9E82C75BB1FC8C7E9E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2

EndIf

EndIf

Next

SetError(0)

Return $654B8B4232A9E82C75BB1FC8C7E9E2D2

EndFunc

Func X0B3731E3DCDA3D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2)

Local $654B8B4232A9E88C75BB1F48C7E9E2D2

If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then

SetError(1)

Return ""

EndIf

$654B8B4232A9E88C75BB1F48C7E9E2D2 = $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1]

If UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) = 1 Then

$654B8B4232A9E88C77BB1FC8C8E9E2D2 = ""

Else

ReDim $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1]

EndIf

Return $654B8B4232A9E88C75BB1F48C7E9E2D2

EndFunc

Func X0B373103DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9988C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75B91FC8C7E9E2D2 = 0)

Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232ADE88C75BB1FC8C7E9E2D2

If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then

SetError(1)

Return 0

EndIf

If (Not IsArray($654B8B4232A9988C75BB1FC8C7E9E2D2)) Then

If $654B8B4232A9E88C75B91FC8C7E9E2D2 = 1 Then

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) To 1

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1]

Next

$654B8B4232A9E88C77BB1FC8C8E9E2D2[0] = $654B8B4232A9988C75BB1FC8C7E9E2D2

Else

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = 0 To (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 2)

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 + 1]

Next

Local $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1)

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9988C75BB1FC8C7E9E2D2

EndIf

SetError(0)

Return 1

Else

If UBound($654B8B4232A9988C75BB1FC8C7E9E2D2) > UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

SetError(1)

Return -1

Else

For $654B8B4232ADE88C75BB1FC8C7E9E2D2 = 0 to (UBound($654B8B4232A9988C75BB1FC8C7E9E2D2) - 1)

If $654B8B4232A9E88C75B91FC8C7E9E2D2 = 1 Then

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) To 1

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1]

Next

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] = $654B8B4232A9988C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2]

Else

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = 0 To (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 2)

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 + 1]

Next

Local $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1)

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9988C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2]

EndIf

Next

EndIf

EndIf

SetError(0)

Return 1

EndFunc

Func X0B3431E3DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0, $659B8B4232A9E88C75BB1FC8C7E9E2D2 = 0)

If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

SetError(1)

Return 0

EndIf

Local $654B8B4232A9E88875BB1FC8C7E9E2D2, $624B8B4232A9E88C75BB1FC8C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1

If $659B8B4232A9E88C75BB1FC8C7E9E2D2 < 1 Or $659B8B4232A9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BB1FC8C7E9E2D2

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To $654B8B423EA9E88C75BB1FC8C7E9E2D2 + Int(($659B8B4232A9E88C75BB1FC8C7E9E2D2 - $654B8B423EA9E88C75BB1FC8C7E9E2D2 - 1) / 2)

$654B8B4232A9E88875BB1FC8C7E9E2D2 = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2]

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$659B8B4232A9E88C75BB1FC8C7E9E2D2]

$654B8B4232A9E88C77BB1FC8C8E9E2D2[$659B8B4232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88875BB1FC8C7E9E2D2

$659B8B4232A9E88C75BB1FC8C7E9E2D2 = $659B8B4232A9E88C75BB1FC8C7E9E2D2 - 1

Next

Return 1

EndFunc

Func X0B3731E3DCD63A8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E28C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2D2 = 0, $654B854232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 0)

Local $654B8B4232A9E88CF5BB1FC8C7E9E2D2, $654B8B4232A9E88C754B1FC8C7E9E2D2

If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then

SetError(1)

Return ""

EndIf

$654B8B4232A9E88C754B1FC8C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1

If $654B854232A9E88C75BB1FC8C7E9E2D2 = 0 Then $654B854232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C754B1FC8C7E9E2D2

If $654B8B4232A9E88C75BB1FC8C8E9E2D2 > $654B8B4232A9E88C754B1FC8C7E9E2D2 Then

SetError(2)

Return ""

EndIf

If $654B854232A9E88C75BB1FC8C7E9E2D2 > $654B8B4232A9E88C754B1FC8C7E9E2D2 Then

SetError(3)

Return ""

EndIf

If $654B8B4232A9E88C75BB1FC8C8E9E2D2 > $654B854232A9E88C75BB1FC8C7E9E2D2 Then

SetError(4)

Return ""

EndIf

If Not ($654B8B4232A9E88C75CB1FC8C7E9E2D2 = 0 Or $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 1) Then

SetError(5)

Return ""

EndIf

For $654B8B4232A9E88CF5BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C8E9E2D2 To $654B854232A9E88C75BB1FC8C7E9E2D2

Select

Case $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 0

If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88CF5BB1FC8C7E9E2D2] = $654B8B4232A9E28C75BB1FC8C7E9E2D2 Then

SetError(0)

Return $654B8B4232A9E88CF5BB1FC8C7E9E2D2

EndIf

Case $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 1

If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88CF5BB1FC8C7E9E2D2] == $654B8B4232A9E28C75BB1FC8C7E9E2D2 Then

SetError(0)

Return $654B8B4232A9E88CF5BB1FC8C7E9E2D2

EndIf

EndSelect

Next

SetError(0)

Return ""

EndFunc

Func X0B3731E3DCD63DDF1(ByRef $6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BA1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0, $659B8B4232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9ED8C75BB1FC8C7E9E2D2 = 1, $654B8B4232A9E88C45BB1FC8C7E9E2D2 = 0)

If Not IsArray($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) Then

SetError(1)

Return 0

EndIf

Local $624B8B4232A9E88C75BB1FC8C7E9E2D2 = UBound($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) - 1

If $659B8B4232A9E88C75BB1FC8C7E9E2D2 < 1 Or $659B8B4232A9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BB1FC8C7E9E2D2

If $654B8B4232A9ED8C75BB1FC8C7E9E2D2 = 1 Then

X0B3751E3DCD63D8F1($6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2, $659B8B4232A9E88C75BB1FC8C7E9E2D2)

If $654B8B4232A9E88C75BA1FC8C7E9E2D2 Then X0B3431E3DCD63D8F1($6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2, $659B8B4232A9E88C75BB1FC8C7E9E2D2)

Else

X0B3731E3DCD13D8F1($6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2, $659B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9ED8C75BB1FC8C7E9E2D2, $654B8B4232A9E88C45BB1FC8C7E9E2D2, $654B8B4232A9E88C75BA1FC8C7E9E2D2)

EndIf

Return 1

EndFunc

Func X0B3751E3DCD63D8F1(ByRef $654B864232A9E88C75BB1FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB1FC8C0E9E2D2, ByRef $654B8B4232A9E88C75EB1FC8C719E2D2)

If $654B8B4232A9E88C75EB1FC8C719E2D2 - $654B8B4232A9E88C75BB1FC8C0E9E2D2 < 10 Then

Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232ADE88C75BB1FC8C7E9E2D2, $654B8B423219E88C75BB1FC8C7E9E2D2

For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C0E9E2D2 + 1 To $654B8B4232A9E88C75EB1FC8C719E2D2

$654B8B423219E88C75BB1FC8C7E9E2D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2]

$654B8B4232ADE88C75BB1FC8C7E9E2D2 = $654B8B7232A9E88C75BB1FC8C7E9E2D2

While $654B8B4232ADE88C75BB1FC8C7E9E2D2 > $654B8B4232A9E88C75BB1FC8C0E9E2D2 _

And ( (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]) = IsNumber($654B8B423219E88C75BB1FC8C7E9E2D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1] > $654B8B423219E88C75BB1FC8C7E9E2D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]) <> IsNumber($654B8B423219E88C75BB1FC8C7E9E2D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]) > String($654B8B423219E88C75BB1FC8C7E9E2D2)))

$654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]

$654B8B4232ADE88C75BB1FC8C7E9E2D2 = $654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1

Wend

$654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] = $654B8B423219E88C75BB1FC8C7E9E2D2

Next

Return

EndIf

Local $654B8B4232A9E88C75BB1FC8C7E9E1D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[Int(($654B8B4232A9E88C75BB1FC8C0E9E2D2 + $654B8B4232A9E88C75EB1FC8C719E2D2)/2)], $654B8B423219E88C75BB1FC8C7E9E2D2

Local $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C75BB1FC8C0E9E2D2

Local $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75EB1FC8C719E2D2

Do

While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2] < $654B8B4232A9E88C75BB1FC8C7E9E1D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]) < String($654B8B4232A9E88C75BB1FC8C7E9E1D2)))

$654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1

Wend

While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2] > $654B8B4232A9E88C75BB1FC8C7E9E1D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]) > String($654B8B4232A9E88C75BB1FC8C7E9E1D2)))

$654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1

Wend

If $654B8B4232A9E88C71BB1FC8C7E9EBD2 <= $654B8B4232A9E88C75BB1FC8C7E9E2A2 Then

$654B8B423219E88C75BB1FC8C7E9E2D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]

$654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2] = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]

$654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2] = $654B8B423219E88C75BB1FC8C7E9E2D2

$654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1

$654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1

EndIf

Until $654B8B4232A9E88C71BB1FC8C7E9EBD2 > $654B8B4232A9E88C75BB1FC8C7E9E2A2

X0B3751E3DCD63D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C0E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E2A2)

X0B3751E3DCD63D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C71BB1FC8C7E9EBD2, $654B8B4232A9E88C75EB1FC8C719E2D2)

EndFunc

Func X0B3731E3DCD13D8F1(ByRef $654B864232A9E88C75BB1FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB1FC8C0E9E2D2, ByRef $654B8B4232A9E88C75EB1FC8C719E2D2, ByRef $654B8B4233A9E88C75BB1FC8C7E9E2D2, ByRef $654B8B423259E88C75BB1FC8C7E9E2D2, ByRef $65EB8B4232A9E88C75BB1FC8C7E9E2D2)

If $654B8B4232A9E88C75BB1FC8C0E9E2D2 >= $654B8B4232A9E88C75EB1FC8C719E2D2 Then Return

Local $654B8B423219E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E6D2 = $654B8B4233A9E88C75BB1FC8C7E9E2D2 - 1

Local $654B8B4232A9E88C75BB1FC8C7E9E1D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[Int(($654B8B4232A9E88C75BB1FC8C0E9E2D2 + $654B8B4232A9E88C75EB1FC8C719E2D2)/2)][$654B8B423259E88C75BB1FC8C7E9E2D2]

Local $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C75BB1FC8C0E9E2D2

Local $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75EB1FC8C719E2D2

Do

If $65EB8B4232A9E88C75BB1FC8C7E9E2D2 Then

While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2] > $654B8B4232A9E88C75BB1FC8C7E9E1D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) > String($654B8B4232A9E88C75BB1FC8C7E9E1D2)))

$654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1

Wend

While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2] < $654B8B4232A9E88C75BB1FC8C7E9E1D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) < String($654B8B4232A9E88C75BB1FC8C7E9E1D2)))

$654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1

Wend

Else

While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2] < $654B8B4232A9E88C75BB1FC8C7E9E1D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) < String($654B8B4232A9E88C75BB1FC8C7E9E1D2)))

$654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1

Wend

While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2] > $654B8B4232A9E88C75BB1FC8C7E9E1D2) _

Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) > String($654B8B4232A9E88C75BB1FC8C7E9E1D2)))

$654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1

Wend

EndIf

If $654B8B4232A9E88C71BB1FC8C7E9EBD2 <= $654B8B4232A9E88C75BB1FC8C7E9E2A2 Then

For $654B8B423D19E88C75BB1FC8C7E9E2D2 = 0 To $654B8B4232A9E88C75BB1FC8C7E9E6D2

$654B8B423219E88C75BB1FC8C7E9E2D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423D19E88C75BB1FC8C7E9E2D2]

$654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423D19E88C75BB1FC8C7E9E2D2] = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423D19E88C75BB1FC8C7E9E2D2]

$654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423D19E88C75BB1FC8C7E9E2D2] = $654B8B423219E88C75BB1FC8C7E9E2D2

Next

$654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1

$654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1

EndIf

Until $654B8B4232A9E88C71BB1FC8C7E9EBD2 > $654B8B4232A9E88C75BB1FC8C7E9E2A2

X0B3731E3DCD13D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C0E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E2A2, $654B8B4233A9E88C75BB1FC8C7E9E2D2, $654B8B423259E88C75BB1FC8C7E9E2D2, $65EB8B4232A9E88C75BB1FC8C7E9E2D2)

X0B3731E3DCD13D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C71BB1FC8C7E9EBD2, $654B8B4232A9E88C75EB1FC8C719E2D2, $654B8B4233A9E88C75BB1FC8C7E9E2D2, $654B8B423259E88C75BB1FC8C7E9E2D2, $65EB8B4232A9E88C75BB1FC8C7E9E2D2)

EndFunc

Func X0B3731E3DC113D8F1(ByRef $654B8B4232A9E88C75BB1FC8C719EBD2, ByRef $654B854232A9E88C75BB1FC8C7E9E2B2)

Local $654B8B4212A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C719EBD2

$654B8B4232A9E88C75BB1FC8C719EBD2 = $654B854232A9E88C75BB1FC8C7E9E2B2

$654B854232A9E88C75BB1FC8C7E9E2B2 = $654B8B4212A9E88C75BB1FC8C7E9E2D2

SetError(0)

EndFunc

Func X0B3731E31CD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0)

Local $654B8B4232A9E88075BB1FC8C7E9EAD2, $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C05BB1FC8C7E9E2D2 = "", $654B8B4232A9E84C75BB1FC8C7E9E2D2 = ""

If (IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then

For $654B8B4232A9E88075BB1FC8C7E9EAD2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1)

$654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 1

If $654B8B4232A9E88075BB1FC8C7E9EAD2 > $654B8B423EA9E88C75BB1FC8C7E9E2D2 Then

$654B8B4232A9E88C05BB1FC8C7E9E2D2 = @CR

EndIf

$654B8B4232A9E84C75BB1FC8C7E9E2D2 = &

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

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.
×
×
  • Create New...