#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=C:\CIntRep_214.ico #AutoIt3Wrapper_Outfile=SpecialCharactersViewer.exe #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseX64=N #AutoIt3Wrapper_Res_Description=AscII and Unicode Characters Viewer. #AutoIt3Wrapper_Res_Fileversion=1.0.1.0 #AutoIt3Wrapper_Res_LegalCopyright=wakillon 2013 #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% #AutoIt3Wrapper_Res_Field=Compile date|%longdate% %time% #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Region ;************ Includes ************ #Include #Include #Include #EndRegion ;************ Includes ************ Opt ( 'GUIOnEventMode', 1 ) Opt ( 'MustDeclareVars', 1 ) #Region ------ Global Variables ------------------------------ Global $iColumns = 40, $iLines = 20 ; $iColumns = 31, $iLines = 32 (settings for my netbook) Global $iLabelWidth = 28, $iLabelHeight = 28 Global $iLabelPreviewFontSize = 68 Global $aIdLabelChr[$iLines*$iColumns] Global $iUbound = UBound ( $aIdLabelChr ) -1 Global $iUnicodeMax = 65535 Global $iLastPage Global $iGuiChildWidth = ( 10 *2 ) + $iColumns*$iLabelWidth -3 Global $iGuiMainWidth = $iGuiChildWidth + 139 Global $hGuiMain, $hGuiChild, $idButtonNext, $idButtonPrev, $idComboGoTo, $idComboFont Global $sFont1, $c=0, $p, $pOld=-1, $sRead, $aCursorPos, $iNext, $iPrevious, $idlabelPreview1, $idlabelPreview2 Global $idlabelFont2, $idEditVal, $idEditSelectedChars Global $aColor[4] = [0x000000, 0xFF0000, 0x00FF00, 0x0000FF], $idLabelColor[4], $aNameList Global $SCROLL_AMOUNTS[1][3], $iStep = 20 Global $hUser32dll = DllOpen ( 'user32.dll' ) Global $hKernel32dll = DllOpen ( 'kernel32.dll' ) Global $n, $iIndex #EndRegion --- Global Variables ------------------------------ $SCROLL_AMOUNTS[0][0] = 1 HotKeySet ( '{ESC}', '_Exit' ) _Gui () #Region ------ Main Loop ------------------------------ While 1 If _GetIdleTime () > 500 Then If _GetWinHandleMouseOver () = $hGuiChild Then $aCursorPos = GUIGetCursorInfo ( $hGuiChild ) If Not @error Then $sRead = GUICtrlRead ( $aCursorPos[4] ); ID of the control that the mouse cursor is hovering over (or 0 if none) If $sRead <> '0' Then If ( $c < UBound ( $aIdLabelChr ) ) And $aCursorPos[4] - $aIdLabelChr[0] < 256 Then $p = Asc ( $sRead ) Else $p = AscW ( $sRead ) EndIf If $p <> $pOld Then If ( $c = $iLastPage And $p <> 0 ) Or $c <> $iLastPage Then AdlibUnRegister ( '_ToolTipTimer' ) $n = '' $iIndex = _ArraySearch ( $aNameList, StringFormat ( '%05i', $p ), 0, 0, 0, 1 ) ; partial search If Not @error Then $n = StringMid ( $aNameList[$iIndex], StringInStr ( $aNameList[$iIndex], '|' )+1 ) ToolTip ( 'Decimal : ' & $p & @CRLF & _CharacterGetInfo ( $p ), MouseGetPos(0), MouseGetPos(1), $n, 1, 1+4 ) AdlibRegister ( '_ToolTipTimer', 4000 ) EndIf $pOld = $p EndIf EndIf Else ToolTip ( '' ) EndIf Else ToolTip ( '' ) EndIf Else ToolTip ( '' ) EndIf Sleep ( 300 ) WEnd #EndRegion --- Main Loop ------------------------------ Func _GetIdleTime () Local $tLASTINPUTINFO = DllStructCreate ( 'uint;dword' ) DllStructSetData ( $tLASTINPUTINFO, 1, DllStructGetSize ( $tLASTINPUTINFO ) ) Local $Ret = DllCall ( $hKernel32dll, 'dword', 'GetTickCount' ) If Not @error Then DllCall ( $hUser32dll, 'int', 'GetLastInputInfo', 'ptr', DllStructGetPtr ( $tLASTINPUTINFO ) ) If Not @error Then Return $Ret[0] - DllStructGetData ( $tLASTINPUTINFO, 2 ) EndFunc ;==> _GetIdleTime ( ) Func _CharacterGetInfo ( $iDecCode ) If $iDecCode > 255 Then Return 'Unicode : U+' & Hex ( Int ( $iDecCode ), 4 ) Else If $iDecCode < 128 Then Return 'AscII' Else Return 'Extended AscII' EndIf EndIf EndFunc ;==> _CharacterGetInfo () Func _Exit () GUISetState ( @SW_HIDE, $hGuiMain ) GUISetState ( @SW_HIDE, $hGuiChild ) Sleep ( 300 ) $aNameList = 0 GUIDelete ( $hGuiMain ) $aIdLabelChr = 0 DllClose ( $hUser32dll ) DllClose ( $hKernel32dll ) Exit EndFunc ;==> _Exit () Func _FileReadToArray ( $sFilePath, ByRef $aArray ) Local $hFile = FileOpen ( $sFilePath, $FO_READ ) If $hFile = -1 Then Return SetError ( 1, 0, 0 ) Local $aFile = FileRead ( $hFile, FileGetSize ( $sFilePath ) ) If StringRight ( $aFile, 1 ) = @LF Then $aFile = StringTrimRight ( $aFile, 1 ) If StringRight ( $aFile, 1 ) = @CR Then $aFile = StringTrimRight ( $aFile, 1 ) FileClose ( $hFile ) If StringInStr ( $aFile, @LF ) Then $aArray = StringSplit ( StringStripCR ( $aFile ), @LF ) ElseIf StringInStr ( $aFile, @CR ) Then $aArray = StringSplit ( $aFile, @CR ) Else If StringLen ( $aFile ) Then Dim $aArray[2] = [1, $aFile] Else Return SetError ( 2, 0, 0 ) EndIf EndIf Return 1 EndFunc ;==> _FileReadToArray () Func _FontGetDefault () Local $aDefFontData[5] = [9, 400, 0, 'Tahoma', 2] Local $hWnd = WinGetHandle ( AutoItWinGetTitle () ) Local $hThemeDLL = DllOpen ( 'uxtheme.dll' ) Local $hTheme = DllCall ( $hThemeDLL, 'ptr', 'OpenThemeData', 'hwnd', $hWnd, 'wstr', 'Static' ) If @error Then Return $aDefFontData $hTheme = $hTheme[0] Local Const $LOGFONT = 'LONG lfHeight;LONG lfWidth;LONG lfEscapement;LONG lfOrientation;LONG lfWeight;BYTE lfItalic;BYTE lfUnderline;BYTE lfStrikeOut;BYTE lfCharSet;BYTE lfOutPrecision;BYTE lfClipPrecision;BYTE lfQuality;BYTE lfPitchAndFamily;WCHAR lfFaceName [32];' Local $tFont = DllStructCreate ( $LOGFONT ) Local $pFont = DllStructGetPtr ( $tFont ) DllCall ( $hThemeDLL, 'long', 'GetThemeSysFont', 'HANDLE', $hTheme, 'int', 805, 'ptr', $pFont ) If @error Then Return $aDefFontData Local $hDC = DllCall ( $hUser32dll, 'handle', 'GetDC', 'hwnd', $hWnd ) If @error Then Return $aDefFontData $hDC = $hDC[0] Local $iPixel_Y = DllCall ( 'gdi32.dll', 'int', 'GetDeviceCaps', 'handle', $hDC, 'int', 90 ) If Not @error Then $iPixel_Y = $iPixel_Y[0] $aDefFontData[0] = -Round ( ( ( 1 * DllStructGetData ( $tFont, 1 ) ) * 72 / $iPixel_Y ), 1 ) EndIf DllCall ( $hUser32dll, 'int', 'ReleaseDC', 'hwnd', $hWnd, 'handle', $hDC ) $aDefFontData[1] = DllStructGetData ( $tFont, 'lfWeight' ) $aDefFontData[2] = 2 * ( True = DllStructGetData ( $tFont, 'lfItalic' ) ) + 4 * ( True = DllStructGetData ( $tFont, 'lfUnderline' ) ) + 8 * ( True = DllStructGetData ( $tFont, 'lfStrikeOut' ) ) $aDefFontData[3] = DllStructGetData ( $tFont, 'lfFaceName' ) $aDefFontData[4] = DllStructGetData ( $tFont, 'lfQuality' ) Return $aDefFontData EndFunc ;==> _FontGetDefault () Func _FontLabelChange () Local $sNewFont = GUICtrlRead ( $idComboFont ) GUICtrlSetFont ( $idlabelPreview2, 72, 500, 1, $sNewFont, 5 ) ControlSetText ( $hGuiMain, '', $idlabelFont2, $sNewFont ) ;~ GUICtrlSetState ( $idButtonNext, 256 ) ; $GUI_FOCUS EndFunc ;==> _FontLabelChange () Func _FontNameClean ( $sString ) Local $iStr1 = StringInStr ( $sString, ',' ), $iStr2 = 0 If $iStr1 Then $iStr2 = StringInStr ( $sString, ' ', 0, 1, $iStr1 -3 ) Return StringMid ( $sString, 1, $iStr2 -1 ) Else Return $sString EndIf EndFunc ;==> _FontNameClean () Func _GetWinHandleMouseOver () Local $iOldOpt = Opt ( 'MouseCoordMode', 1 ) ; absolute screen coordinates Local $aRet = DllCall ( $hUser32dll, 'int', 'WindowFromPoint', 'long', MouseGetPos(0), 'long', MouseGetPos(1) ) Opt ( 'MouseCoordMode', $iOldOpt ) ; $iOldOpt Returns the value of the previous setting for the option. Local $a_Ret = DllCall ( $hUser32dll, 'hwnd', 'GetAncestor', 'hwnd', $aRet[0], 'uint', 2 ) ; $GA_ROOT If Not @error Then Return HWnd ( $a_Ret[0] ) EndFunc ;==> _GetWinHandleMouseOver () Func _Gui () Local $sButtonChar1='', $sButtonChar2='' Switch @OSVersion Case 'WIN_XP', 'WIN_2003', 'WIN_XPe', 'WIN_2000', 'WIN_VISTA' $sFont1 = 'Tahoma' MsgBox ( 262144+4+4096+64, 'Info', '' ) Case Else ; 'WIN_2008R2', 'WIN_7', 'WIN_8', 'WIN_2008' $sButtonChar1 = ChrW ( 9664 ) $sButtonChar2 = ChrW ( 9654 ) $sFont1 = 'Segoe UI Symbol' EndSwitch Local $aFontData = _FontGetDefault() Local $sDefaultFont, $iMsgBox If Not @error Then $sDefaultFont = $aFontData[3] If Not FileExists ( 'C:\CIntRep_214.ico' ) Then Cintrep_214Ico ( 'CIntRep_214.ico', 'C:\' ) $iMsgBox = 1 EndIf $hGuiMain = GUICreate ( 'Special Characters Viewer', $iGuiMainWidth, 570 ) GUISetIcon ( 'C:\CIntRep_214.ico' ) GUISetOnEvent ( -3, '_Exit' ) ; $GUI_EVENT_CLOSE $idButtonPrev = GUICtrlCreateButton ( $sButtonChar1 & ' Prev', $iGuiMainWidth - 129, 10, 55, 25 ) GUICtrlSetFont ( -1, 11, 500, 1, $sFont1, 5 ) GUICtrlSetOnEvent ( -1, '_PagePrevious' ) GUICtrlSetTip ( -1, 'Previous Page' ) $idButtonNext = GUICtrlCreateButton ( 'Next ' & $sButtonChar2, $iGuiMainWidth - 64, 10, 55, 25 ) GUICtrlSetFont ( -1, 11, 500, 1, $sFont1, 5 ) GUICtrlSetOnEvent ( -1, '_PageNext' ) GUICtrlSetTip ( -1, 'Next Page' ) Local $sComboStringPage = '' For $i = 0 To Int ( $iUnicodeMax/$iUbound ) If $i*$iUbound + ( $i<>0 ) * $i <= $iUnicodeMax Then $sComboStringPage &= ( $i )*$iUbound + ( $i<>0 ) * $i & ' To ' & ( $i+1 )*$iUbound + ( $i<>0 ) *$i & '|' $iLastPage = ( $i+1 )*$iUbound + ( $i<>0 ) *$i EndIf Next $idComboGoTo = GUICtrlCreateCombo ( '', $iGuiMainWidth - 129, 45, 120, 25 ) GUICtrlSetData ( -1, StringTrimRight ( $sComboStringPage, 1 ), 0 & ' To ' & $iUbound ) GUICtrlSetOnEvent ( -1, '_PageGoTo' ) $idEditVal = GUICtrlCreateEdit ( '', $iGuiMainWidth - 129, 77, 120, 20, BitOR ( 2048, 0x01 ) ) ; $ES_READONLY, $SS_CENTER GUICtrlSetFont ( -1, 10, 800, 1, 'Arial', 5 ) GUICtrlSetColor ( -1, 0x0000FF ) GUICtrlSetBkColor ( -1, 0xFFFFFF ) $idEditSelectedChars = GUICtrlCreateEdit ( '', $iGuiMainWidth - 129, 110, 120, 125, BitOR ( 2048, 64, 0x00200000, 4 ) ) ; $ES_READONLY, $ES_AUTOVSCROLL, $WS_VSCROLL, $ES_MULTILINE GUICtrlSetFont ( -1, 9, 500, 1, $sFont1, 5 ) GUICtrlSetColor ( -1, 0x000000 ) GUICtrlSetBkColor ( -1, 0xFFFFFF ) GUICtrlCreateLabel ( $sFont1, $iGuiMainWidth - 129, 245, 120, 18, 0x01 ) ; $SS_CENTER GUICtrlSetFont ( -1, 8, 600, 1, 'Arial', 5 ) GUICtrlSetColor ( -1, 0xFF0000 ) $idlabelPreview1 = GUICtrlCreateLabel ( '', $iGuiMainWidth - 129, 260, 120, 120, BitOR ( 0x01, 0x1000 ) ) ; $SS_CENTER , $SS_SUNKEN GUICtrlSetFont ( -1, $iLabelPreviewFontSize, 500, 1, $sFont1, 5 ) GUICtrlSetColor ( -1, 0xFF0000 ) GUICtrlSetBkColor ( -1, 0xFFFFFF ) Local $sComboStringFont = $sDefaultFont & '|' $i=0 Local $aFontName[1], $sFontName While 1 $i+=1 $sFontName = RegEnumVal ( 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts', $i ) If @error <> 0 Then ExitLoop _ArrayAdd ( $aFontName, _FontNameClean ( _StringRemoveBetweenBrackets ( _StringRemoveBetweenBrackets ( $sFontName, 1 ), 2 ) ) ) WEnd _ArraySort ( $aFontName ) ; Alphabetical order For $i = 1 To UBound ( $aFontName ) -1 $sComboStringFont &= $aFontName[$i] & '|' Next $idComboFont = GUICtrlCreateCombo ( '', $iGuiMainWidth - 129, 415, 120, 25 ) ; 395 GUICtrlSetData ( -1, StringTrimRight ( $sComboStringFont, 1 ), $sDefaultFont ) GUICtrlSetOnEvent ( -1, '_FontLabelChange' ) ;~ $idlabelFont2 = GUICtrlCreateLabel ( $sDefaultFont, $iGuiMainWidth - 129, 425, 120, 18, 0x01 ) ; $SS_CENTER ;~ GUICtrlSetFont ( -1, 8, 600, 1, 'Arial', 5 ) ;~ GUICtrlSetColor ( -1, 0xFF0000 ) $idlabelPreview2 = GUICtrlCreateLabel ( '', $iGuiMainWidth - 129, 440, 120, 120, BitOR ( 0x01, 0x1000 ) ) ; $SS_CENTER , $SS_SUNKEN GUICtrlSetFont ( -1, $iLabelPreviewFontSize, 500, 1, $sDefaultFont, 5 ) GUICtrlSetBkColor ( -1, 0xFFFFFF ) For $i = 0 To 3 $idLabelColor[$i] = GUICtrlCreateLabel ( '', $iGuiMainWidth - 129 +1 +$i*34, 390, 15, 15, BitOR ( 0x01, 0x1000 ) ) ; $SS_CENTER , $SS_SUNKEN GUICtrlSetBkColor ( -1, $aColor[$i] ) GUICtrlSetOnEvent ( -1, '_GuiCtrlPreviewChangeColor' ) GUICtrlSetTip ( -1, 'Change Color' ) Next Local $k = -1, $sChr, $t $hGuiChild = GUICreate ( '', $iGuiChildWidth, 570, 0, 0, 0x80000000, 0x00000040, $hGuiMain ) ; $WS_POPUP, $WS_EX_MDICHILD GUISetFont ( 14, 500,1, $sFont1, $hGuiChild, 5 ) For $i = 1 To $iLines $t+=1 For $j = 1 To $iColumns $k+=1 If $k < 256 Then $sChr = Chr ( $k ) ; ascII Else $sChr = ChrW ( $k ) ; unicode EndIf $aIdLabelChr[$k] = GUICtrlCreateLabel ( $sChr, 10 + $iLabelWidth * ( $j-1 ), 10+$iLabelHeight * ( $i-1 ), $iLabelWidth, $iLabelHeight, BitOR ( 0x01, 0x1000, 0x0080 * ( $k=38 ) ) ) ; $SS_CENTER , $SS_SUNKEN, $SS_NOPREFIX ;~ GUICtrlSetFont ( -1, 14, 500, 1, $sFont1, 5 ) $t+=1 If Mod ( $iColumns, 2 ) <> 0 Then ; impair If Mod ( $k, 2 ) = 0 Then GUICtrlSetBkColor ( -1, 0xF8D381 ) Else If Mod ( $t, 2 ) = 0 Then GUICtrlSetBkColor ( -1, 0xF8D381 ) EndIf Next Next WinSetTitle ( $hGuiMain, '', 'SpecialCharactersViewer : 0 To ' & $iUbound & ' by wakillon' ) If $iLines > 20 Then _Scrollbar_Create ( $hGuiChild, 1, $iLines*$iLabelHeight + 25 ) ; $SB_VERT _Scrollbar_Step ( $iStep, $hGuiChild, 1 ) ; $SB_VERT EndIf GUISetState ( @SW_SHOW, $hGuiMain ) GUISetState ( @SW_SHOW, $hGuiChild ) GUIRegisterMsg ( 0x020A, '_WM_MOUSEWHEEL' ) ; $WM_MOUSEWHEEL GUIRegisterMsg ( 0x0111, '_WM_COMMAND' ) ; $WM_COMMAND $c += $iUbound If Not FileExists ( @TempDir & '\SpecialCharNameList.txt' ) Then SpecialCharNameList ( "SpecialCharNameList.txt", @TempDir ) If Not @error And Not _FileReadToArray ( @TempDir & '\SpecialCharNameList.txt', $aNameList ) Then $aNameList = 0 FileDelete ( @TempDir & '\SpecialCharNameList.txt' ) $aFontData = 0 $sComboStringPage = 0 $sComboStringFont = 0 $sDefaultFont = 0 $aFontName = 0 If @OSVersion = 'WIN_XP' And $iMsgBox = 1 Then MsgBox ( 262144+64, 'Info', 'Attention !' & @CRLF & @CRLF & 'On XP, default installed fonts do not permit to display lot of characters...', 6 ) EndFunc ;==> _Gui () Func _GuiCtrlGetStringDimensions ( $hWnd, $sText ) Local $hDC = _WinAPI_GetDC ( $hWnd ) Local $hFont = _SendMessage ( $hWnd, 0x0031 ) ; $WM_GETFONT Local $hSelectObject = _WinAPI_SelectObject ( $hDC, $hFont ) Local $tSIZE = _WinAPI_GetTextExtentPoint32 ( $hDC, $sText ) _WinAPI_SelectObject ( $hDC, $hSelectObject ) _WinAPI_ReleaseDC ( $hWnd, $hDC ) Local $aReturn[2] = [DllStructGetData ( $tSIZE, 1 ), DllStructGetData ( $tSIZE, 2 )] Return $aReturn EndFunc ;==> _GuiCtrlGetStringDimensions () Func _GuiCtrlPreviewChangeColor () GUICtrlSetColor ( $idlabelPreview2, $aColor[@GUI_CtrlId - $idLabelColor[0]] ) ;~ GUICtrlSetColor ( $idlabelFont2, $aColor[@GUI_CtrlId - $idLabelColor[0]] ) GUICtrlSetColor ( $idlabelPreview1, $aColor[@GUI_CtrlId - $idLabelColor[0]] ) EndFunc ;==> _GuiCtrlPreviewChangeColor () Func _PageGoTo () Local $sComboRead = GUICtrlRead ( $idComboGoTo ) Local $aSplit = StringSplit ( $sComboRead, ' To ', 1+2 ) If @error Then Return SetError ( 1, 0, 0 ) $c = Number ( $aSplit[0] -1 ) $iPrevious = 0 _PageNext () GUICtrlSetState ( $idButtonNext, 256 ) ; $GUI_FOCUS EndFunc ;==> _PageGoTo () Func _PageNext () If $c > $iUnicodeMax Then Return GUICtrlSetState ( $idButtonNext, 128 ) ; $GUI_DISABLE GUICtrlSetState ( $idButtonPrev, 128 ) ; $GUI_DISABLE If $iPrevious = 1 Then $iPrevious = 0 $c += $iUbound EndIf Local $s = $c GUISetState ( @SW_LOCK, $hGuiChild ) For $i = 0 To $iUbound $c +=1 If $c < 256 Then ControlSetText ( $hGuiChild, '', $aIdLabelChr[$i], Chr ( $c ) ) ; ascII Else ControlSetText ( $hGuiChild, '', $aIdLabelChr[$i], ChrW ( $c ) ) ; unicode EndIf Next GUISetState ( @SW_UNLOCK , $hGuiChild ) $iNext = 1 WinSetTitle ( $hGuiMain, '', 'SpecialCharactersViewer : ' & $s +1 & ' To ' & $s +1+$iUbound & ' by wakillon' ) GUICtrlSetState ( $idButtonNext, 64 ) ; $GUI_ENABLE GUICtrlSetState ( $idButtonPrev, 64 ) ; $GUI_ENABLE EndFunc ;==> _PageNext () Func _PagePrevious () If Asc ( GUICtrlRead ( $aIdLabelChr[0] ) ) = 0 Or $c = 0 Then Return GUICtrlSetState ( $idButtonNext, 128 ) ; $GUI_DISABLE GUICtrlSetState ( $idButtonPrev, 128 ) ; $GUI_DISABLE Local $s If $iNext = 1 Then $iNext = 0 $c -= $iUbound EndIf $s = $c GUISetState ( @SW_LOCK, $hGuiChild ) For $i = $iUbound To 0 Step -1 $c -=1 If $c < 256 Then ControlSetText ( $hGuiChild, '', $aIdLabelChr[$i], Chr ( $c ) ) ; ascII Else ControlSetText ( $hGuiChild, '', $aIdLabelChr[$i], ChrW ( $c ) ) ; unicode EndIf Next GUISetState ( @SW_UNLOCK , $hGuiChild ) $iPrevious = 1 WinSetTitle ( $hGuiMain, '', 'SpecialCharactersViewer : ' & $s -1 - $iUbound & ' To ' & $s -1 & ' by wakillon' ) GUICtrlSetState ( $idButtonNext, 64 ) ; $GUI_ENABLE GUICtrlSetState ( $idButtonPrev, 64 ) ; $GUI_ENABLE EndFunc ;==> _PagePrevious () #Region ------ Part of GuiScroll by Kip ------------------------------ Func _Scrollbar_Create ( $hWnd, $iBar, $iMax ) Local $Size = WinGetClientSize ( $hWnd ) If $iBar = 0 Then ; $SB_HORZ $Size = $Size[0] ElseIf $iBar = 1 Then ; $SB_VERT $Size = $Size[1] Else Return 0 EndIf ReDim $SCROLL_AMOUNTS[UBound ( $SCROLL_AMOUNTS ) +1][3] $SCROLL_AMOUNTS[UBound ( $SCROLL_AMOUNTS )-1][0] = $hWnd $SCROLL_AMOUNTS[UBound ( $SCROLL_AMOUNTS )-1][1] = $iBar $SCROLL_AMOUNTS[UBound ( $SCROLL_AMOUNTS )-1][2] = $SCROLL_AMOUNTS[0][0] _GUIScrollBars_EnableScrollBar ( $hWnd, $iBar ) _GUIScrollBars_SetScrollRange ( $hWnd, $iBar, 0, $iMax -1 ) _GUIScrollBars_SetScrollInfoPage ( $hWnd, $iBar, $Size ) GUIRegisterMsg ( 0x0115, '_WM_VSCROLL' ) ; $WM_VSCROLL Return $iMax EndFunc ;==> _Scrollbar_Create () Func _Scrollbar_GetPos ( $hWnd, $iBar ) Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx ( $hWnd, $iBar ) Return DllStructGetData ( $tSCROLLINFO, 'nPos' ) EndFunc ;==> _Scrollbar_GetPos () Func _Scrollbar_Step ( $iStep, $hWnd=0, $iBar=0 ) If Not $hWnd Or Not $iBar Then $SCROLL_AMOUNTS[0][0] = $iStep Return 1 EndIf Local $iID = 0 For $i = 1 to UBound ( $SCROLL_AMOUNTS )-1 If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $iBar Then $iID = $i ExitLoop EndIf Next If Not $iID Then Return 0 $SCROLL_AMOUNTS[$iID][2] = $iStep Return 1 EndFunc ;==> _Scrollbar_Step () #EndRegion --- Part of GuiScroll by Kip ------------------------------ Func _StringBetween ( $s_String, $s_Start, $s_End, $v_Case = -1 ) Local $s_case = '' If $v_Case = Default Or $v_Case = -1 Then $s_case = '(?i)' Local $s_pattern_escape = '(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)' $s_Start = StringRegExpReplace ( $s_Start, $s_pattern_escape, '\\$1' ) $s_End = StringRegExpReplace ( $s_End, $s_pattern_escape, '\\$1' ) If $s_Start = '' Then $s_Start = '\A' If $s_End = '' Then $s_End = '\z' Local $a_ret = StringRegExp ( $s_String, '(?s)' & $s_case & $s_Start & '(.*?)' & $s_End, 3 ) If @error Then Return SetError ( 1, 0, 0 ) Return $a_ret EndFunc ;==> _StringBetween () Func _StringRemoveBetweenBrackets ( $sString, $iFlag=1 ) ; 1 [ ], 2 ( ), 3 { }, 4 < >, 5 ‹ ›, 6 « » Local $aBrackets[13] = [12, '[' ,']' ,'(' ,')' ,'{', '}', '<', '>', '‹', '›', '«', '»'] Local $sChr1 = $aBrackets[$iFlag*2-1], $sChr2 = $aBrackets[$iFlag*2] Local $iStringInStr1, $iStringInStr2 Local $aStringBetween = _StringBetween ( $sString, $sChr1, $sChr2 ) If Not @error Then For $i = 0 To UBound ( $aStringBetween ) -1 $iStringInStr1 = StringInStr ( $sString, $sChr1 & $aStringBetween[$i] & $sChr2 ) -1 $iStringInStr2 = StringLen ( $aStringBetween[$i] ) + 2 $sString = StringLeft ( $sString, $iStringInStr1 ) & StringRight ( $sString, StringLen ( $sString ) -$iStringInStr1 -$iStringInStr2 ) Next Else Return $sString EndIf Return StringStripWS ( $sString, 7 ) EndFunc ;==> _StringRemoveBetweenBrackets () Func _ToolTipTimer () AdlibUnRegister ( '_ToolTipTimer' ) ToolTip ( '' ) ;~ $pOld = -1 EndFunc ;==> _ToolTipTimer () #Region ------ Windows Messages ------------------------------ Func _WM_COMMAND ( $hWnd, $iMsg, $wParam, $lParam ) Local $nID = BitAND ( $wParam, 0x0000FFFF ) Switch $nID Case $aIdLabelChr[0] To $aIdLabelChr[$iUbound] Local $d = $c If $iPrevious Then $d += $iUbound Local $iIndex = Int ( $nID - $aIdLabelChr[0] + ( $d / ( $iUbound ) -1 ) * ( $iUbound ) ) If $iIndex <= $iUnicodeMax Then Local $sPrefix = 'ChrW(' Local $sChr = ChrW ( $iIndex ) If $iIndex < 256 Then $sPrefix = 'Chr(' $sChr = Chr ( $iIndex ) EndIf ControlSetText ( $hGuiMain, '', $idEditVal, $sPrefix & $iIndex & ')' ) $iLabelPreviewFontSize = 68 Local $aStringDimension Do ; adapt size font to char dimensions. $iLabelPreviewFontSize -=1 GUICtrlSetFont ( $idlabelPreview1, $iLabelPreviewFontSize, 500, 1, $sFont1, 5 ) $aStringDimension = _GuiCtrlGetStringDimensions ( GUICtrlGetHandle ( $idlabelPreview1 ), $sChr ) Until $aStringDimension[0] < 120 And $aStringDimension[1] < 120 GUICtrlSetFont ( $idlabelPreview2, $iLabelPreviewFontSize, 500, 1, GUICtrlRead ( $idComboFont ), 5 ) GuiCtrlSetStyle ( $idlabelPreview1, BitOR ( 0x01, 0x1000, 0x0080 * ( $iIndex=38 ) ) ) ; $SS_NOPREFIX style permit to display ampersand char. $SS_CENTER, $SS_SUNKEN, $SS_NOPREFIX GuiCtrlSetStyle ( $idlabelPreview2, BitOR ( 0x01, 0x1000, 0x0080 * ( $iIndex=38 ) ) ) ; $SS_CENTER, $SS_SUNKEN, $SS_NOPREFIX ControlSetText ( $hGuiMain, '', $idlabelPreview1, $sChr ) ControlSetText ( $hGuiMain, '', $idlabelPreview2, $sChr ) ControlSetText ( $hGuiMain, '', $idEditSelectedChars, $sChr & ' : ' & $sPrefix & $iIndex & ')' & @CRLF & GUICtrlRead ( $idEditSelectedChars ) ) EndIf EndSwitch Return 'GUI_RUNDEFMSG' EndFunc ;==> _WM_COMMAND () Func _WM_MOUSEWHEEL ( $hWnd, $iMsg, $wParam, $lParam ) _SendMessage ( $hWnd, 0x0115, Int ( BitShift ( $wParam, 16 ) <= 0 ) ) ; $WM_VSCROLL, $SB_LINEUP or $SB_LINEDOWN Return 'GUI_RUNDEFMSG' EndFunc ;==> _WM_MOUSEWHEEL () Func _WM_VSCROLL ( $hWnd, $iMsg, $wParam, $lParam ) ; by Kip Local $nScrollCode = BitAND ( $wParam, 0x0000FFFF ) Local $index = -1, $yPos Local $Min, $Max, $Page, $Pos, $TrackPos Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx ( $hWnd, 1 ) ; $SB_VERT $Min = DllStructGetData ( $tSCROLLINFO, 'nMin' ) $Max = DllStructGetData ( $tSCROLLINFO, 'nMax' ) $Page = DllStructGetData ( $tSCROLLINFO, 'nPage' ) $yPos = DllStructGetData ( $tSCROLLINFO, 'nPos' ) $Pos = $yPos $TrackPos = DllStructGetData ( $tSCROLLINFO, 'nTrackPos' ) Local $iRound = 0 For $i = 1 to UBound ( $SCROLL_AMOUNTS ) -1 If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = 1 Then $iRound = $SCROLL_AMOUNTS[$i][2] ; $SB_VERT Next If Not $iRound Then Return 'GUI_RUNDEFMSG' Switch $nScrollCode Case 6 ; $SB_TOP DllStructSetData ( $tSCROLLINFO, 'nPos', $Min ) Case 7 ; $SB_BOTTOM DllStructSetData ( $tSCROLLINFO, 'nPos', $Max ) Case 0 ; $SB_LINEUP DllStructSetData ( $tSCROLLINFO, 'nPos', $Pos - $iRound ) Case 1 ; $SB_LINEDOWN DllStructSetData ( $tSCROLLINFO, 'nPos', $Pos + $iRound ) Case 2 ; $SB_PAGEUP DllStructSetData ( $tSCROLLINFO, 'nPos', $Pos - $Page ) Case 3 ; $SB_PAGEDOWN DllStructSetData ( $tSCROLLINFO, 'nPos', $Pos + $Page ) Case 0x5 ; $SB_THUMBTRACK DllStructSetData ( $tSCROLLINFO, 'nPos', Round ( $TrackPos/$iRound )*$iRound ) EndSwitch DllStructSetData ( $tSCROLLINFO, 'fMask', 0x04 ) ; $SIF_POS _GUIScrollBars_SetScrollInfo ( $hWnd, 1, $tSCROLLINFO ) ; $SB_VERT _GUIScrollBars_GetScrollInfo ( $hWnd, 1, $tSCROLLINFO ) ; $SB_VERT $Pos = DllStructGetData ( $tSCROLLINFO, 'nPos' ) If ( $Pos <> $yPos ) Then _GUIScrollBars_ScrollWindow ( $hWnd, 0, $yPos - $Pos ) Return 'GUI_RUNDEFMSG' EndFunc ;==> _WM_VSCROLL () #EndRegion --- Windows Messages ------------------------------ #Region ------ Decompression Fonctions ------------------------------ Func _Base64Decode ( $input_string ) ; by trancexx Local $struct = DllStructCreate ( 'int' ) Local $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', 0, 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 ) If @error Or Not $a_Call[0] Then Return SetError ( 1, 0, '' ) Local $a = DllStructCreate ( 'byte[' & DllStructGetData ( $struct, 1) & ']' ) $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', DllStructGetPtr ( $a ), 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 ) If @error Or Not $a_Call[0] Then Return SetError ( 2, 0, '' ) Return DllStructGetData ( $a, 1 ) EndFunc ;==> _Base64Decode () Func _LzmaDec ( $Source ) ; by Ward Local $__LZMADLL = @TempDir & '\LZMA.DLL' If Not FileExists ( $__LZMADLL ) Then Lzmadll ( 'LZMA.DLL', @TempDir ) If @error Then Return SetError ( 1, 0, $Source ) If BinaryLen ( $Source ) < 9 Then Return SetError ( 2, 0, $Source ) Local $Src = DllStructCreate ( 'byte[' & BinaryLen ( $Source ) & ']' ), $Ret DllStructSetData ( $Src, 1, $Source ) $Ret = DllCall ( $__LZMADLL, 'uint:cdecl', 'LzmaDecGetSize', 'ptr', DllStructGetPtr ( $Src ) ) If @Error Then Return SetError ( 3, 0, $Source ) Local $DestSize = $Ret[0] If $DestSize = 0 Then Return SetError ( 4, 0, $Source ) Local $Dest = DllStructCreate ( 'byte[' & $DestSize & ']' ) $Ret = DllCall ( $__LZMADLL, 'int:cdecl', 'LzmaDec', 'ptr', DllStructGetPtr ( $Dest ), 'uint*', $DestSize, 'ptr', DllStructGetPtr ( $Src ), 'uint', BinaryLen ( $Source ) ) If Not @Error Then Return SetExtended ( $Ret[0], DllStructGetData ( $Dest, 1 ) ) Else Return SetError ( 5, 0, $Source ) EndIf EndFunc ;==> _LzmaDec () Func _LzntDecompress ( $bBinary ); by trancexx $bBinary = Binary ( $bBinary ) Local $tInput = DllStructCreate ( 'byte[' & BinaryLen ( $bBinary ) & ']' ) DllStructSetData ( $tInput, 1, $bBinary ) Local $tBuffer = DllStructCreate ( 'byte[' & 16 * DllStructGetSize ( $tInput ) & ']' ) Local $a_Call = DllCall ( 'ntdll.dll', 'int', 'RtlDecompressBuffer', 'ushort', 2, 'ptr', DllStructGetPtr ( $tBuffer ), 'dword', DllStructGetSize ( $tBuffer ), 'ptr', DllStructGetPtr ( $tInput ), 'dword', DllStructGetSize ( $tInput ), 'dword*', 0 ) If @error Or $a_Call[0] Then Return SetError ( 1, 0, '' ) Local $tOutput = DllStructCreate ( 'byte[' & $a_Call[6] & ']', DllStructGetPtr ( $tBuffer ) ) Return SetError ( 0, 0, DllStructGetData ( $tOutput, 1 ) ) EndFunc ;==> _LzntDecompress () #EndRegion --- Decompression Fonctions ------------------------------ #Region ------ Compressed Files ------------------------------ Func Cintrep_214Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) Local $sFileBin = '0xDDB30000000100020010100101701800680300002604000004782000680400B4008E004C28014C000C20000C0F019C0200005C4C00468C392220851F85B782212C448C003C19A43E0FC45A1F208D2B7FB27C1B2C438F00421BA64818BA671B00B36717BF661F90330878B079152C4290461D00AB5320C5772ECA8E003AD5A624BD771DC880761F943B70AD76101600934B1EAE5B26CE840034D09946E5C339DD00AF42DEB62BC7842300CF821E98446AAC740109163F934F1FB76E2F00DC9D3AD69E49EBC80024B66F1E96472DCF009148E4BC32D08F2800D68E1E9D4D63AB7301861781BD921B9A4D3C00E9BD48EFCA22B36D08459A5B000A228B3F2D00D1924EE8BF3ADA9B002FDE9A1EA2565DAA010819C2991A9C531CB5106E469D61060A218C45002DD19453EDC340E200A635E5A51FAA635702A907197EC09849A06801CC35208D492ED3975700F1C846E9AF3AEBAE401EB26F50A7721B592000904F2ED59B5AF4CC0046F0B926D99C1F8E024D1E712292552CD69F403CEABF1B9454248921E0945815975A3F9B3F000F0020FFFF0000F8C000F07F000000E03F0000C01F100000800F00060700000202C0CB87010000CF80D5C009C0C000E1C000F3C30CC50063CBD94101000040C0E0210023C07F1B1B26781687752800002187261A267817D9C1A06FFF237E1D8D3F06A83E80892C1A24791BD980710AFFA071FFC071FF237C1E3094208B2FA01D7C078C33A019227B20D86073FF80732AFFA073FFC073FFE073FF22807E249B208E36027507001F8F3A19207D25D8554075FF6075FF8075FFA075FF15C075FFE075FF0076FF20802029A31F923D2E951F914041181F7F2AD72077FF554077FF6077FF8077FFA077FF55C077FFE077FF0078FF2078FF801F832EA91F9645AA30501C802FD70079FF2079FF554079FF6079FF8079FFA079FF55C079FFE079FF007AFF207AFF01407AFF1D8534AF1F99844D06E5071B883A8C007B2AFF207BFF407BFF607BFF1B008436D021964E5B1AA88739F6E07BFF007CFF207C2AFF407CFF607CFF6006B51F889E5508661091488D207D02FF407DFF18853ACC20089A5412E1021E944C445018873DF4007EFF207EFF15407EFF607EFF807EFF198A4040BA1EA45E0A650818008E478E16863EC71C0C9A54C14E06001E98533F50168841F32080FF4080FF156080FF8080FFA080FF178B8645A057070016894109F133001C9A573B148A45F1554082FF6082FF8082FFA082FF30148844F2BF4A64089B5CA037138B49EE6084FF808400FF14914FF71A9F5F06413F0707001A9C5F3311008C4CED129658FB1A189E614F3F060F00139356E02F128F51593F051F001F00FD1F00F9618C60006D8C62F2A06E01E80AC76000EF748D' $sFileBin = Binary ( _LzntDecompress ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Cintrep_214Ico () Func Lzmadll ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) Local $sFileBin = '0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000D00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000A343B8DAE722D689E722D689E722D689643ED889E622D689883DD289E522D689E722D789F422D689693DC289E622D689E722D689EF22D689693DC589E322D68952696368E722D6890000000000000000504500004C010300448DAF4B0000000000000000E0000E210B01050C00600000001000000080000090E100000090000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000C8F000007000000000F00000C800000000000000000000000000000000000000000000000000000038F100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000800000001000000000000000040000000000000000000000000000800000E0555058310000000000600000009000000054000000040000000000000000000000000000400000E055505832000000000010000000F000000002000000580000000000000000000000000000400000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000332E303300555058210D090208106E62B27EE4412138C300008351000000A4000026030030FFFF77FFC800010053B28CB9060088C82C01516A0859D0E8730230D0E2F85988FFFFFFFF840DFFFEFFFFE2E68B5D088B4D0C8A451085DB7413E3118A1330C20FB6D23284FFFFFFDB15001DFF43E2EF5BC9C20C005589E5FF750CE80300974283C4045DC3FDEDC8650F48C81062536A058F45F8DDFEFFBF4E0C833B0A73088323006A0758EB5A832B0AC745F01D004BDBDB6DB306F45B8D0D50503C1C6A0009F8EDCBB275080802181410538B4536DB7FFFEEC00A505647FC8945FC83030A9C45148943052D6A6BDB76F70953E82A92884309722C15FC9876FD9C6C65145DECF0836D14DD6EFFBF344D108B550C8B0239410573058B04890269EC509EEDB6BB03F45045055108145069105273FF67E77E6D670CC424837DF4027505B659F2CC7D5D5FC9E553817BAEFE777BDBCA381F8B8DEB0F686B016EFFFDFFC2CD3C31C05B02435243204572726F720D0A00CCAE61738F0055B80192435D4090008CBDBB734EE1C7000515C74024000604C9C9D69D2CD9FF06201CC9C9C9C91814100C0FDFDEC908283E7C908D7426A4567F2F2C6CAF55311ACA0F88EE7B1A8B423DF6EEFF0485C0752583FB050F8F8C118D4C1B0E96D3E089B2BD5FBB1A8DB43514BC27062B08E7F97CB73815010A0CFE0010963FCB9FE7721485F6CB4A1885C9A9ED32F67D5A1C6F8E2B207867746DFBB79B240ED1F9178D41107502D1F86B241B1582B59B2C2B5B5EAD7636E81EBABF96060F95C048250CFE150493E977EB885D54022CCF90096FB8021880B50905754B433FDE601FDAC76D3DEB900FBB426B7763EF3E01FE8DB65FDBAD95C3899F536BFF72F66E906F9F83E0E08D484089C217D76E98ED631404F3F089DE100AE57BDB585710730B4DBBC22097C10B420803376F1BDF7F23A4E583EC3C8975F8B9248B4B8985EEDFF87DFC8D7DC860C8F3A5890424E88AECF125CC2EB7CC18F88B89ECB86FB7FB6EEF55BA664357BFDB563F53BB110D0BFFEDC606024601019089D989F84349A9C1C2DBFF6FBAEB0690881C32404239C872F743B2157EE109F962C7DC5F51E98DBF4F8E18BDF1B799897310895DF48B460F1F39D87BBBD02EF589C30A5F5C241A44240495DBE51D6F0CA0BF60295E08015E1A1F6B7C97B98B2DAA764F575052351ECE7D1CBB4848A73A5CC1F76F6FBF210881C280C33C05102C0489142481C718BD0877AF8B39575125B9312A894C2492452E772BC80B04587425B9BBBF93B000528248191B870897C9EDEFB680CF8FF042C1E3058D343B0190A37DB7B74EB583AC25288D930589CCDBB22C4BB789410508080C0CCBB22CCB101014141818BFB6B92D1C2F8C27411C3E088D8E17027BDDE401CD8605413BDBE9B75AFFAD1D' $sFileBin &= 'F00B0F8E67760C03427BF709F08D9F640981C60C2906AF77EBBBDB74DAB8801883EE80891C4DEB80EC7B6BFD4808FF4DF079E0972F97640538C8C8F7B7812C918784010B3088C8C8C8C8348C3890C8C8C8C83C944098C8C8C8C8449C48A0C8C8C8C84CA450A8C8C8C8C854AC58B0C8C8C8C85CB460B8C8C8C8C864BC68C0C8C8C8C86CC470C8C8C8C8C874CC78D0C8C8C8C87CD480D8C3C8C8C884DC88E09C384EC7F8C8050C2B2DB9E42144EF4663605CCF31F02B2C1919D9CA48060BF44CF81C19191950FC54002C323232F258045C0839323232600C643819C8C8C8F3F8963CFC40979F91E7009744048AA0BCB8009D8E3F743AD3E68B91A825ED1C913608B2BA54291CB373226958AF5F102CD353026480C35A05649E4E03A45F5665892A7D84745F0301FB179636687056DC14531486454A81F40B5F50BD91DA3B5F08476E86058C2C43255F5DB7C329765B80E4BEE4F25832B29DDAEF640B8830323232328C34903832323232943C9840323232329C44A04832323232A44CA85032323232AC54B05832323232B45CB86032323232BC64C06832323232C46CC87032323232CC74D07832323232D47CD88033323232DC84E0884C96CCD65587875874A719416A416E5E56C791CE7824D5896B8B9AD191EE34D28B6589710B5091919191F854FC58232323CF002C5C0460089F232323640CF8963819798E8C3CFC3C009740D3E91919044417675C891348A56A5E89F65FC2C4480C9F4C048D4874749F6EB81B83189038895DA8B8A54D8FC142B71BF90822C991C483FAFD347FB6040BBD75C883FEB145BC3D6BF9CCCD062587A30A40989FFE7DC9F483009EB5DC89BB040845D083F857B6F8DD33868F251101BC76060D2FE1B62630BE6B8993984ABA6FB85FBF04398B9427B39C05FECC000FDB75BFB7941D83A4BC43D4850AEC36740F50BAC4ED65D8017E4C04037FC6C289E776044E6FBB7145E056E0BC9CCD456B3F16C70EF80989435F2FB80FD43A16BF7811BF0B8B7AEBB472F421CC0E2F8B5020ADA391ED395B0D060C007D767DC606011314C6406A5018CEC9168C7D062C30E8B2782F384F8F5D856EB150FD93758E70308E521BD9B674795D8C759011FC3C8E75A3F18B53B329C68DF587FE7783FF1239F07407C7433009C2D2017328D1B2ADBE932011532C04183B05BAD896EF6110D970058E5AE1BBFEA6FE76308B48DFB97EFF568BB52942C05F6E4B1483C20183D176B56CED00C1E6610E8989A0C4106F15728F4B2FFAF48845F76DBBDBDCEB09182A0C21004DF7741817876D77FF55F788104039431C7B7441C622FF4CFF36EC1B2CFFA509D075CC6550236B93FD89F0C1E8186788536A1D1078C789D86B0C7CEBB6FF89D7365A0BF3C20C4C8086F051ABFF1723890B74458B034E89F1D1E8960DBFF0AD94F255F0D3E8E401F7D821D00F43FDAEC085080C0C812BEE0077CEC165F083EDAC2BA725035CDC3E755F61241B246F0C2DF091E9C60D89C613213835BCFD37FF0FB71A89F9C1E90B89660FAFCB382B2BB4DD2C5F08CA29D8CF05775D4B18FFB781F96C66891876328916508FFB7EF7AD4EF8D811560C2B89FA29C329CA8DD13103DBD025A1E119890E36D3E163BFE9A96690FFC75689D60194B765386081CBA93F5789DA36DDDA6D5607FAC1EAB11456AC01DBB7B6D0150FE70E00FB5FE376DC9B188C210F573B56BEC1634BB9A13C4A084231C9BA851768EF4B1FDE63C9EB0356B4B7F6DF413D3C77F64A79EC619C83C31060D82DD76D80C85307326A76C853B7B3C5B64FD15198C97FC6536887BD5652489FC89D5B68EF6D3E144608A65DA325438742DBFA31C2C1418B483D0812D2AC75A7D488A66F86D79EC55F5C31FFB6070AD6150AAF049F441FECC89FE90CDBEE21F26501D0FF30596D50EECE5400CE70033C90EF330A07FBC8F7D021C676BD5A2E02381763081F6DD26008F0C6035185C655EC746F9460578B064FEC4FC118F8666B106E06D3EB83E30169326E1722722809D82E75D9560EDC72584F1C0C45313CECBB12B82910753955E85F7D34ED7FB624CF5F1C89FE83E601D1EF60AD8DB91BB23424635BFF38BA8009ECDC09F0423B7CD6CA1D8EC3482F2F31B45684FF80C231F6E0C6E309C3EB2856F80BBBC22BADD1EA230457F7DB81E30B1B5B701AD931C6F8521C19AF6DFF8101DE89D383FB01BF5BC85B7FE4DA77807AC4081DB347032FD88585D2511D2ACADB4BC3F6F183E153EE777801FFF7A4CFAD50480873E4A62E69214BEE4B75D4D96F081D6D81025B6166176A0405ED0DB6BF000444500406425D7F76F31B986B4DDB90B90B00238C1484155C1630CAED5F1F025AB660D881FAD1D2EA5FA34BF34D3FBC2055800415F686AD90CF944DDFEC8D0413B6BD6DEEFF17C1E00689CE8D8438044B14E811C281F26F8E8DEDC008D24604F7C1818B0C6DCE6CB7910E57021EE4151286C2B6DD96242101C819E0139673FA49E2A588894DDC5F3B75EC0F8307228D706BC80867CAB1B1F0F18D443B0407CCCEE4B88BD1DB4BDC0C04B246460776CE040F773D03EC1CCE76A3163F736514B5B5D26C46F83BDFA83A01E6DCC122F1414DE03F80418F3DFC3D0F76CC33318D9F11903AF0BA08E49BB9262D3577DCF0E862973072D63F480C0964C3BDCE848F08095F2081522B021FA8E524C12E18F8D639F32360731B26B75FEF536FDA436A8311DC1F72EC1BD813020DEB0D90004FC9391E18286AC32C4B7734F8D8DE589A106B4548A3DD602A6438967756C756C3B70D4C3A8911F5897CCFC1E2F13BDD0B29541A041D031B100CFBDD5DC06BA77416' $sFileBin &= '228B8493CF488907A44B5837157A915501156CA10D7080286ACFB6972DE7026B8D4797446E941A5DC2DE0F82EB8C903C27100803EFB03D472E938131CB21D8366913CE7F96E87928198703AED887EA28AF6EBAE930C111617504C97F0190342FB7A00141548E4018FF51140242C06816FF3F1568AF1D365726AA2A4D77F7F62B53628398068C839C10444443714325227439C67419B45B28B6FE85940D942039BBC64A6C3A7C15741ABB76F81896101E61322D41DB5DB864103D48FF5C13983A8B9367B5E950E9407FC423772A6EB1E1B6092B0639D7B773B224040733DCB6975C0F75A9CF471273A2041262C2EF0774EFEB94BA33EBCF1FAB52A9B94ECA53D051DBA506C74D6D016FE9041284BE4FEDCF538C948B9C0E06818483095B78181835C6CF0F0CCD420B060541892E7CD79CDB26039C0675465594485BAE0E4A6D3E0CAAF5EACEEFF47C574635CB559C860D5C17DB5C9606408B4CA4C8EED00CAC46003048447607DB0A93013374344C4E5C3D45E440949E292561761B9ED3814E74004DBE37ECEB96336A7F8C170B4BF274CBDF9FCB51814AFC9F37C73E931BE3C396E3A54307CB348DF40D469D487803F2F0EE15C16118BD54330C1A304E136D205F4B5210EA8D023BE4045B0EE08430A0CBE17EFCE078144F9E880B178F36B6E1991E01F0D7059015E4216A6078D31453568D0C7F58B2D310C8DD79829C18A00DF3BD1BA60E9082B4512F18BBBB2957267BE7840E741581C17005B3DD04EFC273034431140610BD91BA5B184F7F89E3EC74321FB58D56BC3B8B7A1897EBEC08DEDD8E1B395A142E85656A8B86B83E5782D73AB1020A6B5F05D096C5235856EF6FA8016E9480FCB2E5C6418B82D8ED4EA5730B0939AD980BB8BF5716E0B1A7BC051418B995B0309F018AF49F0FA193752F092EEBBAAF8DB09FDF17B8A80FB7014D98F488E08B574B3DC976BBD84F38FBA1D7ADE84B79F6097CB7AE5998D68F1517E1B0A417B4D714CD9F4DB79C362A1C2C7021D68678F83BEB29161370E8D8A397214CF0B0DA0CBC9457DE14E30BCE1A87D9975BAD579CFDF5A060891287A0604F0DF01604D283BF57003D8901B700B3DE446EC21CD4F06DBA9D46137C1406B83F5E977D8D3D5C717A7E10FA1A9A5DC3184FBA8D032F0D9C04DD811C790FF02B5CE118BF1F2B83720F8F8D802B538D193538BDBEAFD00A56030F68A7CB0B18FAC8F0C283632F849E4C04B95D1B14F1FCDFF9BE8C0D7F236C08815F585381EC5ADE0E8634F48DB585DCFD90EDAA6BDC97941EBEA6D05995D481AD16D8128D780CE2B0CAE0A946C77EF9D3E28B8D120456580B68F3FD5A0C32050AD54CD92973075B5A7B0C70FA949DE81D947B3BBC85B2AA8D862ACD4C1D0368DF16A9A6D8B870B71910E4DD4BB98FFDBD90B589898DE00D83D8B7458BF8C504955F8B10DCE183D88B3507BA8067674BEF24C5951CE6933E42B35FFDB1890F39D077C3BA0EDDF80E1195B664DBEB2440E04CDA83BDFB3DDB3AC66D416F398E3E77DA7F71F86F6D8B134E8F4183F90376F4B91802A76121FF1F0E1FAD366BDF8DDE03792DE49750E8A9BFADA28081C3A381CC26C75FC15929DA0F891F10EC70D261C786F05E81C47392761F1D31189F40C783E58DCFF712EAB39C01FA2000ED346C8EF858F0BC8D43208C8E8C89B3834FEAF1EC8D75C81B018CB4850AFC90EED96B49A22A039C0D0EC7CF35F70EEC8667EB0718BD275B9404CA400F6F2830BCE8CA54049314CB70D3D94F3CEE2FC37408441BA44541CA5514AC1F513055F34FFC5DD989B92D3159D70427040F18BDC61A1A03C7E49E238EC12349F019B0DF7B08C3600FF4108910F483C5E0D016D4FEECE00EB27B0BD701006D6C60750FD2A17940161C3C8B383C89D70A9D75571C0CDECACEC1902D6FF84DBC8223DC60C85C69365BEDDD88321C0F4B04A5942964B073AE3BFFE13F490DFC3E51008008EB55B0511BB07089D78B96F486743B02FC4163C48BF8227E861A6663F1F2464A1628158E580674F13DF9CFDF60EB0A1C15074FC045E876F5457B059669A4ACE845A89DEC06CF1309C1019E00505608C08E6DD02E1508AC3C184C787787527B8D55C41476271A14BC8984402BC49DA0135337C05960836B055732B659C09C3A86341CA1200CA1D51BA1189E12E85C4B876DD8740896D420C0BEBF57720E6D573E9CFF8E31FF3D7B2DD7B0280179A389BD305CB7EA2236845A0B7FCC7C07DA5F8215786DDB499CDF0D9806719C08949C4F6C23BC72986A45C0F44BE12E76A0BAE724A0010F8673B1F614ED84095B0721081463DB61AA0C0F986CBE763BD2F66DC90E94E258FFBD40FF98444BDDCDB08885AB0590E78EFE5803F8E6DA29F1128D7AFF3A42FF5418ABDC91820426DC69E0F67EB4639E613995397BEF08D076A399AC879F766F1CBCDCFE5FA221907C93FC763F8B4493F0403BBF75354BD02059CFEBA83B146FEB6F17F476218D42FEAF02D52BF18DADC530836D4D9C760BAF352845F7658339C874D45002FDE2D4FE3BA7FF7F0F97C285D07411B903D72EDB120F74945A8BD067D2EFCEF50F831A6A0C83C0020E93C2F5ECEDE6DA81A0313EC085D085FB011E66920119037FDCD9FE42063FD40F96C08AA0DE85087F96C209D0A801730ED3098686A5183BFBA48B1C63ACCB1AB66F972521C72CA401750A05C035F12D0A1286F8C25458688B1926E333AF3F8CDA25D9721A2B030F4689D9B0479A312ED6D865BB645645A8C0A603292CC9810C00441E3D723B5AE0DC01F26BF36CEFC2F8980F95AF0C1451058C192FE3F8A0E0F290573AECED8BE429D0' $sFileBin &= '890A01688317E2F1C1425EBEBD001A83C4A1ED81BEEB7FC4D7827A42BA8D910F0CBE06A474638B2E015F6A165DC54DB029D82A84066E54821BAE052C1136C77346EBB2F9DDB2C8BC72C0BC4D0899033719D9DC5D0B1396D4050BB8BCFF0DA0BB05002065D2CD39DA770E0F82B6FC86335B07D2C807AE62313296A9858DA87F4011ADB5ED227B1DD67A980DC1EFDCD7AD94D6C04A0E8C0B18204C8B8EA312AE47394117FAB254B91D55849B28031C490B50EA739C501C1F6CC02CC46847D029CF6CFE7D81E0F88246550F9590914B68968696930119398686BEB42108957C8D7583EA11A1B3B02A14B7959AD04A75D50A838DF82F0845289FB8694402AB9C06E61B697BB1B39681171C10A4C532F06A6D07860A35EBB44C4610D50410FB2E165CB1D7445B38C02D0B152016FFED00295898DDB6D71A0D46B5048F101B66AD16AE748D1E3D14A143A5C30EDE455FD562DFE00D86919191CD950B3C4038BCB1709D3CBF1A891474F1483F3A212B3D8686EDFA38D20C261426B8AABA108E6F66435F1D67E347013843B0DBCE35D571FB1390DE4FA039097356686FB6201B42027517FF0D3113DF5003CA55B5E2043A38041AC77AD6DB74E9DB9039BDB1231B0839C7C746CB6D0A284879187D0A28E4C3E11F3A9B8E5874277C03523CA0D2250F9C9214427AE3D6AC1C21BD99FFD2843605FF5C4C0BB38021FA0255E55B92E91A74CD49039670259C107D9E83D8B11FF8A10E46968C2A0D22FDAFBEF5FFC0B92E29C1C1E91FF7D983E1C4C106D3E8F16D45365784B44828E002274E2C54BC694E450EBD5ABB111EBA071BF16052AB9D3E07111E0783D3DCC797048EC48D7C15E70D1C84CAB88B9EF2DC60A97C8C80BDDE00808386821C803BFFC12DD52D31B87837483B74E44212C2E90F5F84BE4BBC466F9517ED05A4BD70B7068DD89E5D08855433FFA235EC15FF385D7225734CBDC8476DEF8D064FEDC68BBD519530DEAEF1F63E5C1539C30FF7AD3B85A1C36F43380642955C4186264FD5BD0BB15CFAD88B83560960E2FDBBA083BD2B01888D5B264B0ABC25762338C14A5A0E6848EC76D011567416E47711B4193C1C285B454B2D360BAEAD92AC763F4821C30F7E3FDA13A0279D74999E944DBDDA041B70BE0588D98C66DB019F7841FFB9B229D922A83D186EADD3E8ED0C520259F81FB8E04FE7D0C1E109E86001DC9AEC82D9B4FF062A15043B528DF795B2E62A85A457BDEF76813BC8E8203C8D3C03BBAB1F5E8783519EE8BDE53FBECCE616720FC5D865BED40A6B609710B368048455E442BCD8684305275E2C85B37D068C01CA878D6711BA9FBB642B388D5A84FD166F959DFC6EFB182D8B5495C821700939CA7306898DC80D5EE17905B887B10C1C38BCA25A900F0C3546048DCF838260D25D21F6DD83E70F28C001633DA9CD9675070B09690D04F386BFC9EE18BB44235CE8198C0B216E74B155CFEC61F84AA8FC7C10735B4A046F194E9CD2E5308A57E30433A3908412F278AC2596274A14E1F9E5BF5DB88D5B0DE52991B60740BF2B60C0F5780C00F288185FE295F21452DB0901DA833B1B83E7C606AAB8FE05089D401DE0EF341A517FFFB8A418B985474C98B41C7FF536E277950C01FF798D095F6B850B5721FA975EAF4F8D6171B2505AD8DB37C50A75636931D8564C2021754679B23AB3C04947048B9D8343B5412E3D10657BFCCF3BF5732A5DE04907B0B93842B61B431A98BDF61415873116BA0BFCD14C5F1374E589A01812395C8D74919A4BE8833989C06526BB214348755C2324F2D9FA06069910E6C6B8ABF13B0DF249258512A5B2756AD81780A3F80AAE49FDC176563B4D872CF6DE187D8C3B39FB0F9237FD7533048D17FB4239D1BC6C0786517BB487E9A6F26747EA6B8CCB970E0D0239D82A0D586D22C6C20C5AAB9D54908E888B37ECFD5A52AF8C0991D34588833CA94997946613D9DB39783C478B99C9285226ED1656A6BF9C19295A63FBE52823B0F28D531EDFB991C38A159114BEACD70791BDF4B6CF1F2DDBE3B744272016C5F80F0D1C9A74D5BA49D944484D87C282FCBE511C4A1D076211082C69D7051A385B57E4AC89C3CCC608B8BC0A96EF307048C19285785B9F1E58FA0DC704404BD63055F19ECB05068B6A2807B370A1BEFAC8DC01F03A9031D8CD3DE326A37D115EED06ABC598A182339A46E12D0974BDC2C801D1F40B85CD966860760397C59D2CBC6A7BBA4703951A4CDF023F7EA1BD5C8E1FEBDF850F02BD7EEC6BF3108B0C391C8272E87FB79A9DEE25148DACED8F04E7DB5E73A8185D6348188DC8C06E7BBABFD8850C301BADF9606B7804694433037787F72CCDD67BFEF5487FAB950C6C36B0F0C1E7072C17504C1D8D44F08162273C8B38B98D88B658E1FB4339B80576B60789487536B381AB41180608E16E36FBC9411CBECAC4740643B08E950EB02C6C502E1C75EC88BDC72877859CFE290580C8021193A36C1864C9D0CB6F5EB4397223D19D632F3C4B881BA94B1616A084E76C9C60DF57173A4B5953181761DE4366FB36C10C4A09970F0B102940613BB1F4837B14031006114F38931522D41D3F101F3C762EFDF56CF6128B059E3CBD8A4839D06C7E939A1BD662BE027B0C80D9D95AA90AB334CE96ECBDCA344D7752B8C55A946270A470690EBCD162FCB68F20F4EDE0D8771B5FFE6F06DF18971C894495D84276F383FAEA225DAB039D11200D761E9A22D685B5F61C31435996AD35073E0520DC24BF5E9665E028E42C8B1B1A9D2C1F8B3378252CBE2F4D848D50ACD7360D691421F9B50735A0858BEF1B29D09F96A4F79A9FD58D34' $sFileBin &= 'FF1AD6741DC13286C4ACEE40B6D89E6601D33984782860F0E2417776792E62C48373EB6C2E8C70175F01C1832006D2960132566C2C511B6A3644CEC313321A01852897BDA7C77E16F77F3C308B143987CCE78E19B1BF9F057628890D596AB5C6B3455B43891C09D99BACE18CFB1CD68BE8DC2C6561B60A2C8FE78B91B6D2D35138722491614BD93956241E2052ECC8581C8D1B911A940C8F1462F498FF8EBB677661160AC431409485409DE14E4640E6A38040295293363E2D466F5BAFB320356906B8641AED94D446790F6D0C48025A7290810FFD33DF96E954680EF2E244D893789B63E3E0A91C966C649CF07B934E0A04060C232E2D7428158295816E973376860E30E11B2F77D9C0344B484DB32D090A26D8D3D84A77E9884B86ACC560E07CC41BC4C6528BFE578039C7642C19784D3516801268847787AC4894C038954F950E2CC4864D85D0440B8636F1DFF63024142A7DD84129F8083B8D072956F850762A07697322A2FB676C3600F2384701751442120F94EA07EB221A13043A74EC4A9E2A94966D903DB12FADA4EDAE7738BA094121D9BD100D3219318E8BF80BBCB273C676FB57102A7E1EC7469B102B240254D0468D31F85C100139BA73D39BE0A17623DC7F890852E71CA3C2E9C83704BAC0301DC5B319C52F72E9B08B0F750362945231D231F0748D352E16AC295B0CFD5B1681C809CC90D2E68F8F7DEF2B0C53868911C7421C0079A0B2049D8D9901BDAA5493AC40957404DAA99B2D57AF853035E4E948A7850C47852786757B4213FCFEFC4EAC251B99843880EF7188153B8D3B8F86164C6D3D748D82DACA18007D1706017E07EA6305AB0C682DF02225050BC4E8318363D02F1476521CE707852041399C45B482137143650A73219951E258474F9D5CE78D526F5BD802DE6E7C93F8722BB4E6803CE17D0E3E890C82AB119DDC624E068F41748255F917952458BD1610D3131F91690C16185AE4D66CC9628988F0FA3B28418D42C248CE9549D2E1B516CF2F77E9E0597F036BF1636FE04DB4393BEB1D902B10CDB138EC02E93031E0FE0C6CAC592CE22D278B39600EF9D84F8B5C9F04DC5612182A8C7DA1F0D832BC33B2C2D876B688DD9CB888EB7A8B375F07186B67712AD177E3F871CA1859EAAC406176221E275E9B57293DB1566A34982C2D5A9F7083507A8D913D8F99852CF0CABF98CC3C9374750AA4346887AF85738D63791B3A55B0EA1B72FF040D9E4D17E447DCFE867EC1B63A7B74CB0689188633D0EAC09C9611911BC98FA6C26625D8010C9E071F082CAB54434D9C62D65481A648D4A378F15A8D28761F910BAD6F59ECC250ADDA685850DB8EC562370FC373594BD4F675AB271163443AC2443B7B0706B076420FFF4F3716597826D021BAD4198B2C5B6F05A4149DC6D16C6B7674CB14E8488DF408C3D86B775B18F63B5DB44AF0F9B831A1F6B35C7C9FC18271E1B94EDB17A3FE238C11C6AD4929F907040283C0C317670996068CD5AD487485CC64841B8B352C842105C8AF129D0B91CBB2852AE2DA945667C0C8A5EA1D9C96D9AE8D82859387C4188D14888E615DECC6B6C01521C833E01B8EDFB1E05C39AB2B8D1BD3FB7EF86D8F07886D34A85CE009BA8109AE913290B60C1F9E0517AFEB2F5AC8BD593B76F66BBC21A801C7D0AAA4664160D7D040DAC99444FF8CCF94819434F123F94ECE130287E7ACD7B6CE2B93F469A48B4305086690EF83422C046215C9A10EBC09BC92CF6BCA40040ACC50D0DBBC401688D5CF38F8FD92C06C08C98DCF904A6F9078016B7308F534D240D901108C425D9E6003A73695694790FA3CE4095C38697D14FF96D1389F473B7DBEDFE0F41285B0401F74E5E5B2CD6AF5D6F2F9FD80A77B011BFB130684C1C61366290877DBA408167BCC924CFE7CFE0A6CF508CC0C9EF1206AD6DC8A9F04FF09E2AC17635B133938FC5A1620D620946A54172DD19DD6F726431FB1710C9D2D95CE5A9A4F3358A525EACDA01EA1967BDF36830B077506F805F86A8E142830569CC2F9BB9E4B2F587307CC95F8468375C2D93E082ABD0A1976D8BB341F29FF422A1B244BC3B2B1509D2A551939E9F5668D74556B8490F14A469F9E7DCCE8F8C88725B495803508C604A7AFF37DA5F43985B0F00D48C3849186C22C269CF2D4C8D98B2ABDD9EED03B102906FF1A1E4DA7D8D2C3ECFDB9C307E9D4226D17F0BD11E1C1644A3A5B1FE8C7E8690C1E31883509D581F4260DC9FEC7D3398BB59069B98EC13699A4BFAA4221CABEF470CD5656BC0854BD9034E121BC01DFF5E37081188426CFBE9D948E21238D36F8CC03CE70408692843972DB13F1DA530BF0BC959524BD5284E3C8DCCBD27B4B4E10F78AAFD1844E115A02CAA5D0A78FB4CB5A10897AC833791A10A3876641FCFD6526956403481C7D01AE7E84FC394318730B0D904B7AD8D656F36A3472386F0718798C8B95D06BA0822CF36287D1330B2F439A4C200601614B020842BB07A76C30363F01ACBE271C607E2741F77E8657EE9B504389061188D7B1E032F7FA89FA11645B067182AA9864309B215A07B346501280C749538C9AD9EF8511FE5A241E0311396C7610334F96630731D2B4B8B80DDD19F166A44B83E90428C8C12B598D71E4F68B9514957295C4805FC06ADCD93D562996B5C6A547CCC17830CD31AA407B8AEC8CA3DCDB59818C0C0F83F71582C60C1B056345701A55D6B53D6DDCECDE88438C111009C59775D48C8FDC3B8238EC49386120442DDA235D76D4908CB0E1E886CC30BFA7E0EE64E8F0BED4DD3181A698A44A9F8D55C053948A5946AF75012BCC809161D4A1' $sFileBin &= '6291ADB4AE3C34A2AAFF0B189E763C24EBBD894DC06710805640452D901DA080148FCF40ADE254A620F55126E285E46843D10CC15D54F18D86021CB9887607EC2C89D92E34EE584842BFE811CF0F66C7B59FDF93EE0004098C2776E3B8048A009D00F1BAF69BF96C2C45B80C8C5E440794EE4CE5CE5E5C1C0B750B7697DA946BB3C535478A86986EB1E0FF74C1D3E239D37311C36604581D8076DB46431072F5202C0B2C9DC3B866174240A03F09E1BEDB76F44AEA80C3E6DADF80477EB37B6B0C2B7176ED16AB9E1DBAE1117C380A5A39992C2AF00F625590EADD989C252C29541829222750C2792002DF5C04A689D1498928872814598C98CDA4401308D05B5E4F1802BA8227475DF4428F5FC4837F93C9745A8B87DA908DD5C61B81B71E8F7C574858C4630BE9BC6887147412F7DEA760FC132C2413C70A2EB88238DAD3E37AB38AD64335BC23E8B343357809068CEB968751BCACDF31C9612C896037417F9000BD83E50274835C26AC1A77091F5DD0B7D339C277F25510040953F0201C46D1AB2B7805871742D2AE2B5E812C08CF43790A36008DEC0137F85B406B41496F571CB00B2605466385D2DDCE3A585F7405C24E1EBE9883078FF6F8CA2616BA84100DA8C50D2FFE7E6F38932D0C39BEA051849B5D4D08BB61A870A25013CC832D22025E0EE3E07BED411C450821A145113D1B65194D0C599685BD2E80CFC9537464482D010F08D24444C86ABC820BAA89D09E22EE0D7B85901C541FC61488BD151174D9051C951CB663377141BB899D8B56CA8E50880DB011B8F9340F97FFD04498651981483B45F072772A042C10817FEBEAA0FB895F8D5E205E10B9149E0972B3F30D2AD591DB4DAA8A978F7C7249227E6DC763035E185A337EB8DC968CBC65DB3F4C2173E609DB40CC8BE8A39EECCDCBBBB90DD41329C8FC5C75817E55F620269EB281906D78E56D9CFB7FDEFE841A06B4E1824C01432C2FBA204323BF2E2F88ADB5E6203F0E2B11059B905D9714085D9F415CB934B56F837203F011102B5522446C36B3350C0F14C390689388937F451482BB15E90BDAEE1C8B105778FF280CA0C143EC8D833B2341AFAB72837AD0754DA04AA70C1E7EC7F80D24EA81EFAC501C162D6283E603766E8803C7DA205AA7912C06D00238B24F109C8058BC059A09C74611CA109D2DA1562DB905B0ACC9A189D8067659444DB66F24C2B5AD234820EDB834815A368F4E357E4D12D893755929925B729715BF2CFD9DD8301CA88560444A141C446FEB1AAFE90214E447DDA1EA68FD00876607F47C5AA222A787B6756E2A5A311C3D2A46797BF0F8C99F3001564D1C8DF1B59845D27C1B01B534D69BFF8C4F1D69C26D8677AFB9302B29D88901DAAEE00132F4AC270BE4B8F154C71B46A902437A6DA045E573EDEB88BF8DC181F881D1D0437595140F888428E82F7703ADD9E00F7EF3E37765C71E0ECA5E868F451C903B20C3893FCE2581C4A559157B506E671551BCB314AB5CB5F8EE50DA31755F9E0A9E5585FF74D66105012BD1CE2CA2695A200C10F13F8A500CCA7FFF17EC211577808ABB0A19446C8DCD4848D440EF0381E151CE02F0F1EB8DE2085647538B9A3283390F7C542F5168C701FF82E28BE00D8DD4B298C1806604C00282013D7C7A1ABE83BA0B2807101B069EAF88D1AB9032D16E62ECA50A27B11E7EE5FD47DFC0F9E60CD5D0E8884417019BD86042E17EEB8396ACDBA3F038A9EF3070524A703696F475104F61E870B271EB7C118B065BF4F0666DA7EA85C3082825BECA572A9D0610D10C416A5F93893D8D4315D104B05043C2BF06A24CC8D22906F43099463AA4BF38D72CEC20D8CE30F83C1C81C68AE70C4F57742A65AC5503F055BC5E0B260AB4E76401CD3008FCC57DB191545F3AA10892E6F3ECC24146DC75BE1CA49B6C6F20D9D618DD14839C6CE710420C084749AA76B56C403348361FAA2E44971040488F483D0675A3EE8777788B3A4B245F1B61F8873F43388B73145422C8B6D6C1F639D0726310308E17065B7B5503BAD0F83229F834D5BA9BA1343B18EB031329377794A35A47787E48EB20FDB6B51955DA42C82C3B4DEC73054BD4D8A00B69F82C848888DA97E804314169FF75E089719FAC0B41707CEB993F688B702406AA89788730EC94201CB80DDF523078216DFBA05E92855E0A7B29185191B5A5D8B6597DDA8E76E3161CD916DABB915DB4301C9FB836F00AED585788B08B4934F1BB6E893AD0A880044D1BF6DB76AF3C9724494017D83640441AA120D4F5D48B4AAFD0554F36B46CDD194917CC044C8B0ADB5608D81CC86E3D2813C4772B7000A0D07DAC4F49AAEDC25996791C80A8CFC476CBB575348FED21F30AE4B726477D5F818B374639A40FDB856FFFB7107714C165A8083CACC1E7081A014152AC54FB26E00945A8E40B0FAFC2390AED553DB1FEE904C7424C5BD52B144A4946D095BA7DF481C66C0E22035F900B8A6D6BADBDEFA474414292249E5574DEDAB6F675C021DABC59B80FBC518D44330C259A5B070D089183CD54DB098F19C4998C42BF4D82028992837DE0060FD7F68D858BBDFDBB75EBD38388B5C6C7AC7875BD00A5EA5B72044A01C910856AB675585C68A4D3D1B2ED64B04ECE7506E475CEEDD7DD1E72B4290429C734894F29C24C047AD66E358D4C7A4E76B11F7189AE0D6CBDC0721A426D6BBBEE6B0C555BE0FFEC49B85E015A087629A1604439BBE219D55A1508178586D30261E603925DE5C0B0BDB9059A897B1C51B0141C85F6044373181447FCAD5158004953E8120B354C868E34F3395C1A18BC6DDBB2202CD01A3C0E' $sFileBin &= '400B44720348558372FED872D443F5E348BC407224C37F7AB606779A7A183BF90B7E4297A5705167D2A52E3D122DB17510A90A4BF0A74822046BE90B0468F51DA1150C111AE61D5A5C1668C030E690E02F56964A701765918031687784606CEEFE0458C90C3BBF029ADE1648813FA705D6D1863D3160DE8E115619503900CA05111786F1B259E3041CCB1304657A006C63022B7966636123BA1F8242B049367ED35101CBB0395DB0734F42B09241AE9271B1B073AF5DE0713D3601294E1E0471331B5BDE98CCB03386D38AC1B747C40CF80376058653CD5AE4E4CB711DB2A1746299600D5A5A6203037330015C1BD3D239C281BEF95B620311B003205D70E082064DC307C114E2A7047301F695C9CFA604195D4A0343895D9B90964CA7AF724A1900B9AC5D9573401420AF00D90561E329E4720583EE40F303EF04D0E263A899F27A56F9ADA2148CCE0283FA0DD468C73AC6DAB89401F8E4D31D03DCADB5813644055E17627F807DD30BEB1DD16594AA5A01DB497493B10F8451D9587713AD4591C03244B3EA06D4E182A43AA75833CCB7BEFB8D5C1B016509D64975AF69D48D5E01960C38D8F4DC73C913D4725B9BD8F6D8F25DDCC9119A8B3B5ED94FB408CD1319C0D7C9540962FD6740DAD5ADBE71B002A4B83975E8F5F204F0128D582BF81239C3766E57CB5599CED729C1070DBE09032B7D45BC01C1018B2DA8356DF2191E3B0D3075B7AD18AAFBCE7EC0019FB82CABAD2D0B1A2133C67FE212F0466F1688022975F5B675CDED3F52AC247258DC6689E2652A07B75F73065C5B54838EB0C9B95746140D42F817D1E59C2A55A0EB244C6D02FF61C9AB03F7D621759CEF85DBB6D0A219690DA0479C5C9CF82D362CA06E21DE2601C88D1C424C254C5865136E6A99B0DB83814E6613EB14DD22B295F7913E0B558332BD521EFCEF16EE2A299862F53E2C5B024DBCBECC0EF04E430517CBC1315511456E954DBA5858E0BB57168ADBAE013D29D654C1EEF1168632D2196054E0B86A74948706DFC05D25C0A1A1A34C0FE800DD88CB47DB6162410B1707890D1AC7B230CBFE0B7F1331094709320025129FE2252263F7C34BA68DE0615C724D11E05102212307C00CAB0008456CAE1C8CC8554286C140D8554D2690D70148071183D5B05264CAE07372CDB0407938DCCC750275D80E0BFD64577E30E8680AED4CCE608F4F37B210D0BBA7F9E83355B7F081C1D5A92B6402D9FD15582CB4499FB0A66402E4C83BC8D839DA46D48AD86F655397617D66C8ABE017A043E95D916E3B912555D0EBBFBAE2C6269703A611410D1646801C2DD5446ABCF8D8B841D03DDBC14BE7FA453A94B96E2475BADBB23B7165AC70541B4E6D6C23E3154F99411B71850C64874E370378272E794EB8BEB01DAD0A7C919A1C221001889421D782EF3635A432217D0CC648FB6690CA55FA87426BBE2990D1EF297DA8ABB7B619F7541FF6697001218DDE82055A0D83CB15C1E60421070B0E12FE44F30E0029F7398993460FA12F96031953E4B90E49383708EA83431530023900724BE300ECC0C0D47682484A2D01D8A9737D4691524B8C909372FF711AA306E635F98FCA6D820362357159CFE30E6109735D8704E64BE4C076079F2256C61E02D3E432A67F05B9CBC877163628015390413403EC921C081A570F90317BEA694148F643F0430A890F1819CF6F3430B14075506D70A2207540894D004B081079436D22684B74531B8259B050DC0057D53C4B2C3982C6AE418821CA088D3C74061C40658B9A4B0C388142B42BAB7BEC6118695939F028EAF05A41B0CFA06500F009C78678361EA14662C139C74410C6804BD002E76C81C22D157061DA04FEC2A7DE0C8A1FBF4B04637DC00560037F0BBF43249E60096E9C4DC49903BD14B441800D1848DA2B17B8E50702D8DC837DE46B4BD0D4E1533EEB109F82C60A168E4405775424DC9A87FD9DF1C553771EBEE5045D5FE61E491CBFB872BB8D6785168554F7348648767B0B4BA8B79F0AE06C5717CA213C770F19556D731244A31A048A22C10E2A607F95C43404D34B425F565160840FF07357FB8C58804663013D3758E12E32D85CC62FD860653A7902E3DCDCC84E080F0B7721A1738ADE70C8C836598FCCDCE1B0DD115B5C020412D0674C051E260CCF4F3B970F63B0C3734243F51D089B039003612548C2C68781DD4172BEEBF0CC88C2109586B9034F5E896A941EE8AD48BDDA443527958410BB6D6BEDCCE0870D7E82253F234A5E209C40D113033B84DF1BBA848CEBB4295D3AA695B9665D5C4E3A58369423C2598AAF996B90FDA201712C5D587589D63E4B374B39C205404B28D2C056D1688DA516AA66569A70D0182208C7BDA5DE363A189008D4C1F7D2210F6A0CCEE8817DD41FB9C0D8049B30517E2B3121DA09933D2AC8D5D9486195E022793902A0C3E5D8C4EBDB6177EB9725E198CD885966523CBC91FDE266957725FF8C160F4C642DC4F965729835D78E2A4DE826EC55DD908CECB950E05C070F3DA0216B462839EE3A3C3CD76A12A1625C3CEF61AFE9CF5BDCB2594B02A88B0C33613AB3D6A21CC8C8A901089C4C1E48CF765A07795B75D919B05FF37676ED8229B21793BDEBE943A293CE41C6991F7779E3D08C9AC40CB9B6DA420E19DFFBB588D3FB47D8901D5D0075A9295CEFC2F782440CED8601EB87372A4C5F588283EA407101A600D70F42E18A8ED1D248588E3A88D9745094DED683C80270A0E8499A010B68414B8D60980D9D0B83FDFAB141C6603D5077197A8BAD381B4DD2C186BBAFCCA8E12C45F734D0FEC39266DBC1AD5A0E96FB5DE5' $sFileBin &= 'A164AFE02D135D057B57A0DD5ED1EED2621F4821F0418B37B750FAC9B940639000FB24824FC36D4D5E24EFEDFD48B52F85C9C7404CD4068C88CFC84800587415AA55AAB32524505D2C82605B46070D8F8782070425742605B8082259BB3002BE289154B289E251705EECB6CF562253255FFD609C81E0B9F15FE23C8A1B1A2976759D1C817E5588CE66492001A03A824F7C7690CB484CD99C2BE256C696F00A6702912D24E0725058773C0FF1835017F675E5108844165C1405F702F08946587D5AC0E7D94A103B9F5676D3FBF76E2F59807A5C6B855A14840883C65C3C5E60E97656010346024F18A01009C2B04164EB0B030808344191118E45E6414C4441BB5FB46A1A7A7531F6D739507A1325FA24722C89C19BD60B8B7920667BAC236241601885F60A26BBD3354155DDEBBE758B595A823680508C5BA6106B100F14A0DC49ED9D6854F786970536070E4AA7882DE0D08C4F9F516EEE02252E9072F5378644014E4ECE4640063C383477B02ACEA25052425877CAF048C08A467DF0132B091C408DAF11FD36E806501409DA5AECAA0FB1DA21599E478956FBFD286705D4E3495C3F2E01B209E0823B7D20CF4118677033DC62069D1029CE63817A869F638BC32544CC25412005957B17800950C7069440E2102A4E16F6316C5BA18DFD13BB87C0933BB00434A0DFB72A9C0158C04BE10346872F340537EF43473688D383FB13DC26EA7DB1C0297A75E0C9C1B9CAC5136B7F5D8C84EB00BE59588D715C886116073BDB462F71C534C3756EB98D6A1F5570B9F703C452DBEE36A37FA412013E01D4295A1AADC7F769976158C3512D34AD3AB4D7CEFD04C8A0EC8FA8A37E1E83909CF2E05BB72DD557CCA56ACD0283857B748B90B9B584702B0202F7F1C35C430DFDCA6C317C857A9042D8756CFC5424968CDD7889A1EB8A6C02AE7DB3114504990D14B009373828DC623B4D272A83C05CDE90280CAFFDBCB6B5179E761C01580130458E033D7BA6574A6F966D6046000329E2750F6D816233FF38180D12839B196A0255C90B2E0A9F11B163D85FD089D34772D4DD178539F87206688D1C3EFECE51A5ADCB8DAAD70A8E6010B80C83612267EA0815525F6C946060A3B58D36011E843EEC26E06F0FB7AD582429F301D6FEB8DFE9DC29DF36320CCF015D4B084A9B7676E80149753F32ED53406BEEFF04977525298DB7B17A430624492839D6867CA559A75DAB9F9CB64CC3260B2805B0E80A8B602001AF0A930057EF5D773D736350B4D2FF52F90C4014A65AD8815B0F2F8B432D39B0142B140F118C248AFFC40720217CD6641CF690001793D1EBA396776372816FB804990456925B9FE25753DD8692D942029A4ACBF7EA9E01C10C03AC080418BD89A5289D0FEC6F894E0CD0D8FEEE422E1A80FBE0775B6608D3F62CD48003B4063C01DE622B2AC088089688C8C0B6AD7DD70D1DD100C828C306E2062695E2063079012889C2FA25778374C0EA7663460888D0C05CB4759BA1D02873C10E04FE848623D8ECB986BA1FACD305B1AF18D9A91E4244F18B328C786D347101F1794B2BB0E548C37F2984053973547427897C111CA01D613B3C2478365617891C95023EA41F107402E5C89545D056D0DF28334270F28D5DE8443F1C49089ABE57AC790A3BD743221EA16D656C22E14C7454E3AE068AD934B76CCEA3EE05F40C33E8B1322414BF386F02BB8CA0D8681475B50612C5F4FF2AD064CEDF7976E27F637FC119B4270A5E28741989FA1B64BB66708F4C252B04201D29899191672BA1D8DCE011869D91E4F4614C201CA49334B8EB667E9F72EF7B7C81ECB862B914AF9F8886446772C23EAD0CC58B589989925BAC42F1D91306763501189CED04F0288DAC0F88219F8D01BF1CFD18891485A4A0E665DC104FB38876B23D08894DF621010FD645A0223C893E1D304940D720100C210896F58E059B8D853AF2BEE904B45569BB24833A03749625FBBAC49CCB02A38EBF33F73A5AD8898F8CBBD6EBCDC09DBBB090008B2DB70333C0B58DE24D7F683CFF152310117B6427107CC31F8B4CFD89C8D09A8CD4055AFD8BB57651520301341A1C508901ECC93AD87B682C0DC35F6AFF5021275D617614C30F765F06508C2DBB7C2E8C04C38F13CCD63DD09A13F9068212446DC25F77183B07203C5EC3A99A860E2C6B09CF8FA9D84D446B149629C050519FC9205B371C1A049F02045BBEBB2D5E4C186A015119FC0C4DDB7D832DBF0091693408C32F37394A2E005CEFB6646C6C08518120EC4C2FC20A996C1F2425C5DC48481F0FEF590239CC73E8284F64ECBF770C1F33508B0251507900BFF796AD2FEFD3EF6A1CD9F91C20016A4CAF4BC0C647558BEC0E6816808FF4877704977064A1C15064892587EC085349140BF1565789651BFC7C141EB9B39F2C1096D58D7FB652332C0D5F5E5B8BE5D6C55E2C18A633220F8041B29425AFCF8D9841C74C5406C2D088250706DC3061108D316F5DB27FA338B429A60C5DB4AF8A30112B844DC13650F4FE29C83FA42985152CDB500802040CCFBAADE3B28F38D96089680659B6BF6E0D343F53043F0329D1093053DB680B5043FCD050FF169B8B7845F874395D11348463130AD7F819AF391FE6DAD66D6DF8D71E330C2E4215077E89AD1EC1083B434476B4CF8423D566D5E242EBF10F278813312F14A2EED5DA53406439827AD07BDBC92F374330720A408C16B19DEC6C034766EF4A30F23C29476F0B370A3D3B4244EE04E16BB397FF1F1BDC0D15C119DC0E392173065F5D002D017E306BACCF9E6C119E6DC7468606202C2023B70344B01B48044C1C817827' $sFileBin &= '5406CFDAB94049C04015FFFEFF02B076E2644AF7D281E22083B8ED31C24979EB96A58017339E6C43D300CE2F524227D51FEFE2203990202008B42F5C790374B8F6F084C06C915DED6D3C198B2C01E86780E61C908F1DBC8F1CC9D38186D0186337C452817F78F9D1E9128023C3036D0F2F98146F454194EDADF0C58D8C087A08DE5D68AD8838A38C01F21B53448D34C2AF231ABD4CD70D41733CC82DD68AF8488D7701B63FBDE04BC5915CF9026D74328D576C835CBD2B47B80206EEF7E5E40408D1EA81CA3781FA83E9EEFE96010B515328423D7607814904A149F3EC030B00010418A5D61C819E097C7BB12D50A97B8FFD603860B811B4A1B904735006020140ABD8BAD764AB02F5048E9A3A2755F1DCC1019AEA71F291C716F11EC1B73D8D0CB5B583E0BB01DDC8A639DA96008A205B28E696B8595B363B825314019A6B2493246F099BCA05D6C96DCDA6D90F3D8817773C741C5BE81D0C878622AF10016EAF237C89247FC6FE00B1EC97C5D06D6C31C95B82BBC2EF5FFA740723616E51BA37D929E6CF098E4CC212302E8C8AFF0C212816C045AD9904E8AD36E5BF4FF3F75BC239DA04DD78A9A7D38B790E414444B7412C4DF2CD0BE2094DB66123A102201D1C22DA96C00C8E10F91E78C29D61605E8B56E3667A48C5A31F014B60E132963A731AB120DFC730D4854854D14077F348D17698C62309681CF06B89CE38AD18394304DAB9229E30AC5A1ED76F8CC409D1C8EF1F100389762F855339F275731D2F4FB7CDFD049139D8770E9508421F72EF6E2979A870BFD80DEBF096FF18DA58DAD1D483786D7440466DBF5DCE2D465E042B394644742F0C183D723CB407145FF84F9F96D5599A8EFB14568F2650CC166172FE818EB5451BC2EBBCFF58588B5660F0B316167C647A4BE681E300FC5E562FD9F74620706CB46B8C25D483EC5070C02CEBB19F01682C22AF08E170D8000D5E3C8205A276D45F494E29F9828490DE535CEAAC4DE68387280C29DD5E60098FCB0F8D1487181476CC06BBD64118930C8B3A33248F5D468A4C2475B70E023803F70D76C675AD18135F452502221EB5B7FF06423B55F075EE393073898904536EB476A839073B0141FFA339FA8F26F083C204397310EE0B16D07361FF20C14F900986359F55450DE843D9724F808256FCE9B76DD18D58049EA08D98D07B0673247FE30D1AD375DFF3837DFD746E3B5D2073FB5670A66945CBBA0C1C8D3CC2D8EE9A6BB04D201B090757E429D91C758BD8A8E8E076034B77A65E2217B60C329BC73238C16DEBA8DB7465037349C775634F6CE5DCAEDC4DECE2077F04676DC8B9932DB80C6D759224D4B20D12CC07C728D114D6B5F7600F6131B27D02366CAAF6338B07B9FB726C2B0874C20BAD1D3A79883D0A74453785A5CAF62C73512E2C4B432CE0D6B9ED1683C67C06042889127449F175BB86405DA40C02351A44BFBFDD73CEBFB740474475BB5675EB9E6D10764A72B59F5D35751AC2042DF6233584C856DFD6D0A18F47620113FDAF513C2B064F4D101E4C90E35923AC7A506A51C150378A131B06638CBADC614F0629F1C78E8556C57E6A607365598E051CCB55C8546EC25741C3E1965DD809746E3BCE0E4B1B3B7BB619578845DADD9A80DB7A3806746C04733F0DB70005646B4FA64139C25D808D7D7604756A91A83DAC666975960F7BD03262C276377A02D7ED8043C05B75E8E416C7ED3D0E3BE473EE8FC66B787BA51CED751D4187AFDC49D837AC0BAA01AB02441B7691916D74E4A01C5D44743CB6A2A6846FC29640D6E2522BFDD304407AA33D8BD6E04204693E5770AC4B07F2153F387715FE61C027E80177168C74EC4E5775036A674F206427D78136031314C0D52A62D40CA9085B966E1BD9BF2420152C061C18C91F60691814CB4724895C49D107B83526F023BB7BD73D723CFF27C341FF0729C321C1FB02B74280966547470F704BE8E6DEA2C315EBE81F68854C60CF02A917BBB551025302CCD8CDA290DB6087D6CAE51000201376E7DF02141F1A63FF4C4B4610E6E0E34F40E80F86E5E83E0EC18BC834DB07C4578673103F0C71E1FF74CA4702D44D206A90C6EC310CF1776FFD56282104202B1C8A8B8C82B7B1B716B9B9A02DE4899C0F76BCDF05561C828B4E18BBF87176122E754B1CAB66C26638E7848E586A6A1EEF5C5D890C839A0F261A45F58AEFF21CC920CBC98B46467C4670885FB863135DE8E81176CBF3F5467D062229FBF5C846599646461DF44C72115AD4668BC5102D1F040B64BD70DA059468674F3B51D16F4DC3681C0F173BA9750743EBDC73BB421975F1FFCAC5AF4812DE26F7B4891A1008E30E774EBB6C72F2C5B0BE100CB7F740B8E846DF94E4B67158736673BC13B4AC0A5A16EC8B234BB29910CDD2B0045FBF7D4703B1B69A23F5011708E075282C978512C2415C97D813978D23947FC25DD8A551E208D8721B9731B7F2D7DC23A34FD32CDC584244AE89CED00557C2DB87CB57349AC675F0172BB49AC811B1ED21CF04448C06118ADBCB38A9225DE436500582DF8CB22531F63D0FA99ABA6239576BB581741BCF43ECA539C076168B9CFA015DE8A2184596D1BFA29DA0417725E72259784368A2037FCF820B4BFCE52EEE041E5CB0F862854E4EC67A212414100C0F001F742EE07447B55C1B0975251320432CB6601882EDE365786FE7607A84393629CA79AA07314696C835F0C4EC080DAF44480E09ADBE9A388C6F3C7929836E7705BB03CE4D8397C8EACBB1C1AABA1E3DAC57C8C475E4C067062CE7A4AAC775221903560990C71BD12717C66B95CFF8DC0907C50C7C' $sFileBin &= '9087E45AA9C46D4863B2046DC3DD12E0C3FAB04CFAF0EBB56FC8858C115F3CCB32944C059333170F915C9D7567FF931C87860E2A57D1E4AEDEC864343836971F39E99531AB857F3CC33D989047C9577B891C13198F1109B22FDA4D8E17932C4C552B35A3E102C9716CA43835C983900B3C7BAC0A89B32B8F7C132F6A16FA9696178B5F20E64800AEB5152C7BAC5485AF12EDC483317034F32EA38473C88B1C0E25B420B807050D9E096104B20807FFD283EDCC1C3BEB0AC64E74750ECBC1363101CC76EBC342010A086CE62261B3A3D8032CC7118975978B0CAA133C4E75900FDF63C860239F0E89AD3CDF6181B6A302E79C2797D050E002645CD957654B70BC67B3839223EC248090AF2CA29D01B9B1EC96949066E97E0252872C0C75B0530FAE0254795BBCAAE75794B26A8121912D27F081C9F5D100B96C4CC9ECCC362C1617CD0D5E04B285A40FDF2C3AB31C72D103E8C21138DA062498C2EE2822671B904F9B55F0CAEEECC39148129D9B21D8B42B532436F28386ED3A6BEF32B68C93F8550C932A1512E40A84581F05E8C09B900B3F380D6D8EB0203FFF0CEB7FB26C9B0A5FDF7728E81040BD9535CD4CC80FE7DF7021C9B6EBDAE220D50421F8101BBBE8B481E29406D59499D3916847E614811F3934906C129FBEDD17B44042B017D123FF724BC4A58A287F1027798DD81D66BD851575EA6116064D58E3D41FA45E99CBBF4C9FD252276D8F438915743BF2D56F60A60E3491CF918F0B98A77B8E8C1F1205B04047326088EED80DB04093BF45B850E5701A311600BE6B59059BADD9080880060C50757E506D2868077AE02F811097823E292F8B52482E741839566805A60421788023C79C19805F1275107D44478E95E00F76C07F30411503827F5FC9C9D9907B1006141881CEC9C91C2024DFA8C8570B5E10FB150DEAD96E4B495E1809EA9C6C6F0422060C08F2CDE24FBF69AC8D461CF80A1459BECD0D8C1D383015CC24C5D99E3D6A7C3397545A2CE622552F8D8D65F89F2D1D62EED70E5AFF781946202669010CC0CE3D6C48501D80907F9616006E27E07EDC5E489D74E5B6AAA5F4041D6DCF7425800F13562CA35D20C161CB0C7E6BD5CCB0A27EBB5D433B9174298D7E24EF9E2D3B1B3C898B332875E52A21C5D957040FD9649BB0FF46EC04E32DB04DBCC19A841DBFB614DBCE353E46108214B854094DB667DD28067D8269DC4D18C9205CF20A1C20388C482B6B718CC48C557136778AC786BC08604F168E0375349510689C0764B9ECD8BC7C7483C24E2821E9C106CF968CEBC2AFE06A5950BF71A22BC0CB9058F94E11C23F96B9A7930F4330BE0CFC217BD65D9C24178284AC2CBAC318E1C743286F437D7CBAD3409601D90E18C41C0EB03968B56F1220DEA2C569CE16EC9EF5A10DD876391C24188563D367B3C01472B823109D119427685C730308D98FE02672859BFF8480D88932466F180474B07C1C7585F875A3F1EB2EB489CF6280569789433BC641C72B9A8037F72B3C905138B475CD1140C70A7F4E930D56BC799775D0A3664F0CCDD1B33C4D5D40CA319EF80F9420BF0133148789DF8E4161BB131786EC43905C142161B0618D0CECBEFB5FDE480EE404485D6CEE1FC45826418B04874D680514D09682202B52EBDA12DD570783C74089091E4367B294141CB6588FCF6CD902B94971D8316400E410B58F5F35240F3C95080552C4224CC481C257AF6EC63A13A2164010DC83C25C0931762B75055810E45F10CCEA80B71436AF5E41C0A00C36C283805BC17A08B4858D3CDB3DA8E50C85D66FB078459AA321D19AB2598C86E8F547E239ECA4C548F4DC0D0A7E4CDDB013353AC37B11A029B0DE7705DD291A299A18516399C3C65A1742140DF0106C089E8C84734C65F402AE8020C8A5622AEE3A1B8E8C093DFFDF44CD229A70994E746B512D8F5EA4058AF814A96FFFF6E707C1E70F7701CFC707F7DFB6686B0C3248DB4F138D5B0181C06B00E0FBFE1FF5BB06135F6D2D2514386C138D728D18790869285C904713C251B46BBB019B1BDC068A1DFF9074011F586DA95CF4EE1EA3CDF70CDA746C65887C4F5E58B1E801B144299A588D076FD6BDA05C40505D92766E16BD60C9653E894316800F39108A424811C085A4EFB0238C595BBF93F06C40BE04285B830187871B9B8370C48B0A2ED085124B0BE00D7983FC425D24000A1A0300177AE5EF8993088D5002173881045246C36C1B04F47F40538029DF1D4060300238CAB786B5F619F1A9C301C0291F11B45534E23FC20539CB5EAB6A773E61AF7D67407432FC3D867C39BEBD6FA108ECAAA9964AC6D88BBE14D1A2D771D6964A93ABF8ADC0BB48FB8B8E1C014F4AC018F1770397895EDEE66E85221A73031F4E203F2C59EBA8F3D4161585B6A02F1AE6F9E4F7FF4E76F3DC6ED90018EB2090150E0102DC6BC39C684AA25D19A219B8DB7C0986280D34454D485E24F3016FFB07201124264ED4AAB3353E7C4C481708DCB3456CE1F947721055F0BD08B61F8B2B0C90B7406C0A42BCE26CD29FA2B2D55699EDC1BD01E0BA919A92862A13C240C361667ACCBC100F824A1AA22148803B3C8B9E30AB4F106DED843EF84946F03D8A98DBEEDC399D28E987ADCB44A02755AA964E8133B709205465FEEBAC05235C9C0A8164B64EBAA54AEB9E808A90BEC2E157C418B901F8F2FB555C88303B2872FBFD028F5A3063618B10575D9D1D888B4C41914A18D9B316DB9575DE772081D08C3F2F407504606F16BEEE377DF402470F3E3083E33FC1E31098A2D70ED201C3648A9C6AB1A29ADDB641BF87775E2B86A243C2492F' $sFileBin &= '580F59685991B747EBA89366C266861F5A00753D2161492989D36DC097553322D8029F292037A8083F2F8D63EA5B26487F7B408D5F2C17A66A3B3C474405288FE021874004B6ECEB2A81461385FAFC32881598C5522CEA46E1DD96ACD6AC17892908F7CF01EB8750E973488D8726E0B02D8BEC7E568F0F472B580F1F5116B19533FAAC5783C32C78822212AFAB1920E90ADF09C1BB8C9F833086205601227B80328A0987876F6F3BB4ACE7080CB74390A2DAA159674E1B08921D10F2EB943FAA428F3D8825881CC9172EA20D8C8F0E4143C133456B6F5F430E966478FE368DFC4BC01B087FC1188700EF5BAC7889A45720BA05CFA20D16782440026F3F0086D736846920D3566DD98A32366D20C603825CC48311460B442457E157FFF7050F0E7C6904C9E6706B3859577422ADBA078F30151C5E9D90BEBCC50061F86CFE857437B56C20279397441C8A3FD8007774D6A6E347398FB9F2DD7014A2A7BB40505C8DE0C5BE6450554F36008784046F2F1D8EC1E16190198BB3004E01C4C0172D3B24F192FA06088E6FFCECCE02B680792096402313502A0596E0138DC041D8B951EDD4458D89AC830E08195946961C0C481004D946B6671406101814081C0365641918202C67503029809E03DA63E12FC52C7EB3EF842209C40FE3F1501D5A7E28682039D3C1546BF081A74859C1E3A08A3FC42692F1ED793C43746696260A5A363F0EFBF44D14825C30817B10FEBF243ED110F70C345308316958C15BFC770A59661C839871A45B913CEF8F0E8260296F06125BA968587F405A6F31D8B35A4B917C159057865506BFBBB51B811CB9254932502F8DB65F7D308B5818C75024360E96DC101D9746048A8625388B0C83D0880D6E8E833BD872175DFD12B07BCA6E29DA380416EFF8132A352429EF3F17A92E531A904823232480993928254F6CCFB972148F89988948B354B76D11789140891E20561E550A5C9890234A80213EA9FC149925083D3B294C4388BC063C990EDCCDD5FB39FEBC720DAE50182AD3DB29F9AC0E7449AFF5F625CC5482B52455D1216A80CCFA37102102BA43105A2BF096EAAA6A6AC710022B0451E0005810F3FDCF41D797D01848C79B38440E0274199DDBDC8B3BFC693E086C4172A15850899003B899728D2CFA08EB84EF4A1A86165D518B57EF292A01B0F025F18B31FF4F6FC17B296A6F25320189173B178B010FCDED169A7F040309C3040C095E7829700771E5FF47C6F0FF07A126A400BF0C3F6D0168DB02574401132AB889566E4C44101147D6754F1B0FD58D398D42CD478E0F660DAB60414A84E46A84A17E8B1D1B45A22A1F94E2C6B7FD9873291D2A29C65BC1FE8FF031F2B987B9AE3453043734D0C24B081DC2CFB549FB172BB8064B0907EE0275E795102CEB74EBA29F5DA5B67DC9D733EB1BFF4B5C43498B5AA02EB4FFFB1B01CA114EA44B4B44649F3B5975E0027A81B537272F2A75D5C0215E412F175F58962D259F705D463791A569038856050F47579C0AC056105E08055D17C45B8D13FF4610D4062C8B7E03BAC53C82CB404BBC742F3B460C0AD4842E315658B4C85CF71658B6294C04342E7A76487175D18D34BEEBC427CD944DFF8F554657273D014D0B880AD1055641051C9310A502D98A469BAD21F2B68801B20C99AD0CC8612F25CF02982EAD0A12C95A9FCC95EE3855B3DCFE9080C71555D100B8069220FD5DA266FBD091F0060CE06B74342068D0AE0B98942097DB881DDCCE4954AB87B0C70508210CB0C07283250AA3B86C5D3FD0291495E0D00BB23BC49B2286901B591238F694E04C93D04F3965B625DF4028E0445064EC56F1FFFF88A050054C64646464480C0804766C2C7640CC000B3405380000005B5104031162A62007322403C80A00082403C8400B00ADB24032093FD334CD950B010203042FB0254D0506330203419EB3ED0405060207000A0040A0BB99FF056AF103F7540564290811A00A1905FEFF97675CA00152656C6561736553656D6170686F7265DBF67F5B4C0F7665437269746963616C1763076FEBA6E4B76E15456E746572443D742C00DAB62B47144C5474F66DBB3DF20D57611E460853696E672DDAB737F74F626A2514436C6F7548616E64126D6BDBE60C776146457664413D96EC8B95530A9C730B236E6E976CA727496E7675697AF634DBC880DE694866296BDBB6B95F336C6E630770274AB1FFE76C661E345F6578636570745F6888EEAEDDDC72332A606D6F711A6265672D673CD6BA6876642518637079B28F6FDBFFFF0757076DF09A17F03505F0F902F06901F0D402050B7204196DEDFFFF35F0B90261BBF00705D1F0D302ECF0B101C2181C193DFDFFFFB61F6228FE03F0B31C3522453982204733730528F08B170709FDF6DFDD011B070C05F0340D65F03F06070A0D0D090D070F4BFF63BF0210050D0D06000C06F00C0A040050453D4CCDFF43FE010300448DAF4BE0000E210B01050C0098081B699A27801110B0100B6E166C19020433070CC0CEDC92D01E341007CB66E9D906A0B3D66E8CB15040B21C24C0F01706B26EA7581E2EF9787436B0C176077C979098C40267DBF87220602E726424611B0E7317D27DFB06279C40022763939B636510B32A01FCA2CDED376527421B34B2103EC1B7000000700400240000FF00000000000000000000000000807C2408010F85B901000060BE009000108DBE0080FFFF57EB109090909090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A' $sFileBin &= '064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9D40100008A07472CE83C0177F7803F0375F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C0743C8B5F048D843000E0000001F35083C708FF963CE00000958A074708C074DC89F95748F2AE55FF9640E0000009C07407890383C304EBE16131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE44E000008DBE00F0FFFFBB0010000050546A045357FFD58D87EF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9272EFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005CF000003CF0000000000000000000000000000069F0000054F00000000000000000000000000000000000000000000074F0000082F0000092F00000A2F00000B0F0000000000000BEF00000000000004B45524E454C33322E444C4C006D73766372742E646C6C0000004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F7465637400005669727475616C416C6C6F6300005669727475616C46726565000000667265650000000000000000448DAF4B000000000EF10000010000000300000003000000F0F00000FCF0000008F10000E2100000411100006B10000017F100001FF100002EF100000000010002006C7A6D612E646C6C004C7A6D61446563004C7A6D6144656347657453697A65004C7A6D61456E6300000000E000000C0000009D3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 1, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 2, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Lzmadll () Func SpecialCharNameList ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= 'xcxPoaGuXj/zywFW7POXL5zwmZZOBkJrUfjayD6gnGnfSN5be7dQqJZkp/liRufg0i/hk1DO9Wkld0I2VwjSFuun1HHWqJGGiB9INN+ALvJy98PsHHtq4wGlMtsf/knYJZ3yp4+r+bP/slWf3lVVqLT8dEH28H8hLlzGfJMRRVKM+jNVjVU9b/b/5Y9wClCuoBPLoghRyAreLOKQh/R1n0w//Jx9qcfc6IFCyO5XD5R+mtwzh4fV80/7JKsHbr2O3XcWuZNHWgKnlLXgURW+w3zIUwO2BYp4E5UHCI3bJN6V2xTFDQdjwwUxbvDUf1UmDGHpd0EQjPeWTh6T/cr9+CYW8sbxu8lMUjpMyEJ1S1d0xATaptAqm8TZhu4pRRI/wvWKsunE3dl9UsQ2T64GVY01eCzan2ULLPT5JSGGfpm9QjJm2nV/eNuBrMKczkTBlfn9DKUwycMX+yQ84w7b4SpooHabiESOOiu6Ach+esiMadDPRe6yZBwdkj0EH7guDdoILwv0b53ni/N2hELLzM5CztcYkSHTXOJDiG6cKjqckSPVWKIpVQl8D6z1Y5YgynoOpGLwVjrY8Q2KXfTNqAoNc2aBu5d2oOihekGTWxZPaTZkgC3BnoRhfIiTeRIOrkne/RYwWUm5uxzElpnukrdVHkqQcCE7Bpbj33I85VudjitUPSto8HrNtc3ATAJQA67JEmaA+8xcfkZr6GJvSTaqblho4PyMNgule8HsCjv94TKHnxftvPZ491/9IaTD3mv6LM3WjgL3XG260J8fkyeeT49ahbW04TP0J65ygQHF4Fb9mUg/v7rspAALEU3TgWDAPsFwI794ZbZf4dZWA43D0NC1GaAI026eyiql6DNZ+qFgra42E37UodRgTiGfpNa0CQez2r6lpD9J9e5NbpvXkMg4idGGnmqXWV01lOAhCFgpLT+QZToPlzEOFMS4d9MRxlxNbnP/zUVHroBIsCOjht//iDnBIXivrW6ibX2iFBNKvEk7d9/mP9Xv83GNzIDNFRphmX/ris0gxyY3UxggB9l5TULX2SMZpzNn1soHVHz6b7fskfU4MhbohqMBto6rKcf7FJbjqTmlKD7Igp4UfVHqZqp4iTTEl/Ln2WT8/PlDrftipfd94L8n1TM8ma1Ya7KmRgpoXcka6NUIk3fXqy8QXBb0GgLpukfAh17eASiZIfSz53GUM91HM6Gp7s7eSwCPf4hqJ5XM3BfW6uXxiHwo26ordbUxusBxM7oTmBryVCwBnHH25OAUKgK0V68HtbP/ZpuoyqRfsTFHT+g5etkCmiWMmUdsUQq+/9g+1nZf5WiGqsRploP0KuIL6DyJ1YMJefnMQrSlsca1Jym4CmAFXR6w+5V4XwFF1qzSnfI8tNPPq5cvZOvfG8jPHsdwzsb9wonix/rNRUZp/nuMRsVp2SNIK/6om985BL03L2FjuZwUbCEeCW3kYq2BHi2G2nDbmTxCsjuw7+eyQiMeS1bX34OgPcCapXF/TfGvPM8S3d8Fmq0eaJbnK95vVWqNW680KKHPcicw4tM3rr4tqGa3RyxnFdMcnW1xf0F0UM/zNLnpJ91PXAsE5Pf1UqBmS0TG+5quG/pOJHfogql2Xk5vjodHZt7zNlJbkOdOqNVwStf60OFGRsgUisioLqYzH2I7w0PTAHFEE1YAa/sy+0VR06vCVic2C/XtcvxNzETe7B2VdrfInLCa1WxMwThO+CqMpm19gdcdJV3/Bkn/2ZqEMPbtdNMUeKIlAECV4Hc0alR/VceqbjW4kK2synXUVLhYs710CcfyGNrfDwLhCxgRAMmpe/byNvpwRi90tmYNz9jxMqDiMqGiEYRsIPr0pIKr3aqMphafGoVgweltiUc7eafrVkbkkk7ietAYwsF8il0yIYCt9v6f+cg0v9zW9tXZ8aUCJAqYZUw2YKscxtqrQkIHXD84k9ec9FBx+s1vqlKjqLxNaTNbNs1jWflV67zggNoEjQ2f7n7+E4vMx3o8ssLNX8WZIKaBib6qAEbZ4pDW9gKJmhRT663BM334pfPLLM7OABySz2ACpeLSsNIP5/QckMSQ4kPEhCOuhB0YGLkmZwb1gQOeG7RnDB6ANQzrayvmjqAILTq9CcH1RsapxkMHdEkOSLC8bQfnVzPOVLuwnZaScpUV3Ypsa1oYb+pBpSSQR7P37ZNju7WAR0mtuLZ69RKLgTv44mc14mqqJgLlW9sCoZ53nYcsAOoiZtbnKW/VMvknwY6Otk+0UY4kmJ7MVpgy4/k8LDTJ8ei0uTYM72FUO3zMnHSucP6O1/ivUBmwXHkjXSc+1pgg+4aK0D/uNhbbXvHbV83djKWYgGd+oy/ftw7Js3eNU23Ik51fg7aKK+OxmCGBmAzk2XZ3hoCqapZ+BkNqEBKEZ9OKpnao3jqPPh3Cy21ih1Pzp443cnRUh/THTSPhFPF49Nt8aOEcMyp6U75ZIp+rITQkpmjsJRzjHjFTQyjCoSunmgUN+gQ6pSUW/VYSm2yaEyy8CtRMEZJRcUCMUW4oCIOXhdzY2i/KBBwZrMNDBy1m6dMQ3ntFZ4eVgljCUzJiMaGPlg+UdDNVhyQDpxbPuEXPXGD4apVzLho6ifMn8fmUeoQtJWOt9O2n+pHHoHOg5stScpC9dJ/6AthMltH3WEdvf9sewoK4AVAPpn3JZRDmWJOKVWDmFv1AsapKK965kADDC5d0qeX1qIMBU44nSNf6tNa6n+bl6Zvkezi9+6H2f0wssIKGgMlXWkrrWOKytyXGDZt4cVmJFTNVoGrRzKPG0DWZ9FsvcxPcnhldJgFTnThhcqM5D7qRKLjhQNtRmkAf1fxOHtd8f9s9S7TA3yGg9ylzgT9SEEJ4Gnfme7WDHo5OkvjXpiFz+bcMC5OBFlJCD2vJ0U/K7736XR72wj20XdcBoZYfh64x48AmUnKSKUXSZJgT+Oxs7ZtwxFQ8nGuDKnbnVwAGjjiGUNT0H5y3FwC8fZ4+mu0bW8wGRahItohXb4LvU61GRvlFDf49yjQLU8RncNKyLV3ZzI04dXEc5X3P8M8qo65wC/cqg9tiLRPmbgtGzPtWAvtknV9Fc/2lLfbsVRv9o8O6yqRg956BZSQzo0WwVBmfLInTA2bccnVeOxcfmFr1R5dhZzPWL9LWcbaNffGmSrGovb5BG0uNOvvV7TrDfvwpLoxXPohSlOao2R836Eh4s+HUG3JuZCTRSIZV/RvaW+HEMdXbl/HBfHf3dZvIbBmwgcvHk8NFJMe6+06eK0y/kiADjy435MU3mvsa9PoLZHzL8rPkVCKJ57kkZ1ZBggOqKL7CtxWUYAr7EYoiy9cJ8V77sgt/ijf6hRned1PuKJBer07r8aoy+71HRGITpBlQe02DO/1A1yPgTXC6LE24enjS/ySyvCmx8ftcK/OHsPn70Qgm+z/o/7FYGt0YI5PSVCif+xKYYj/1lh/CwL8DB7ouFrgFAAli37KJ7fVATSbMTR/rBo/GPyKQPvXFLJv11NXUYrrVC4uwBull7qFhxdm2ZHqVB3Gspy/YK5uqjXl4Sj1Z+xKM3ocXT4F9Zc3V1FHWzzG3BrX4SI2tqI3KwvASww5TmEiUDP+MdUZ5cSqF5IhbopeImCjt+2KUMNdDxH7L43QaUirJdXVKcD7NqtXgvhBCIuE2NSleH3dB+oEQB2RuE/JLx8cmeuKjZ4r+o7NZCvXjAaSjmvs1grZoWM6L4JXxKRCBNoGZF+3tTXQOn0DvPVOH5c114r97Clfbxo3DckTv61NQfmEg2hbsImi6oHcrUwcZd1/oJU/ZMUCKNNjv09kA8fwPaAPGzvookikyz74VXTBTknhoL7LhJLQE8wBr92xqLiiY8ffOkzCdpdqpAXbDnTxSGHrVgASXdV2JKIOjHf1O52ycDlg6+XwLjFmc3E10Gwi198wKpRSVZR21ejek4mz7BiQW28QZAyBc9c5S0k3uomJ9U7k4gDJDZ60EXcxQz17N' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'VTF6VyUA+2I6tyyW0R/+oqGBttD+1gqRAu3QrJg/NDjwEEly+SRnvhLvoa1za0CJ8kLFGLqv2zgcWXmAP/EFNaVNBFZ++ODABUO+Sjl0tqgA4Bv5Sjbg0MEBjpRxHtnZnlfq6Fas2ed4Vsol1nKHjM0pemMoCwDIwwMeOMgxbsXXy3PnrI3Y4WWr/p0pJzEp8NvYmFaeCscQV45EN60ywozSMYvbkZSDuO5QLwjgBtoci6TEMQRpvO0kSLlUa61zVsMlSHQZuvSyXmJ5zmZcc/+DueyeNtWGJoxJvWPtIZYhPZAFrbJKkF5glKhgdDsl2XEqCYq7K0o22oMUViezNoa0rEoAXkY6OieBwJZ+wlOcRmEST5dP8C3fFMJhZfNpAsO/CWQ2vbaHsl74ZBpNFESdiMEf94158j7CdrsODx7EmkkvQofa6iki7mHPT3S7fv8whwVx50pStNBDJlOOQdQfP1KVK2BGtG0j0PmXLjnHMLNGOXvPDWdr4pLS5OgR0fexWlAShEX9PM7Xw3JHl5BKl6lXRqU6ZJh14xv/ADx7v8Dz7HQauHepcBvjdjBxPrTRnPqY84rZZc+eMbhB4S91Hpx3G3RqbomiEZZXaGeJkYkMB6PuFsJ9eGYLTK5kdw176wOSHAaLg1O+fkYsr8/YcwLNzuA4ojVOKfpHYrrsVJpAQacr6enIx5WT0lCO0iq79EOGUuAbbtzAlrnofjfoZKveKxAUH6fZJWUrUCJK/taDqZKWm0hYADcA5SJVzk5oDa6x2hWSX3C7MaB7X+kHnLsoR5aYrFAKCQ/JPrV9m/tpsheDT1nZ0QlndrRxP+Ax95mNUiugaKTAT5hGpQ2FqLoYgrN9Ujl2TWx/+Q3DtexchQdUee+8c70+eSfssQfIPqxd4t0aXwaKcJFNmaBsZZ24oWm/eaSI3B1HXYzS0Pr8rco67LsKYMgN6LZuCP4HuOxgdf0+m8sEgpYnokbk1G+1KkqmaUmmzIzEBUMNBZi3Za/0BDVZ8w1fwxxu8Za57pu8DtioaeQcwCEhRD9Ck4GI/gLPzT8u+ri7uAfjPvfskH8trgpi9bkZ/xWNOlGnlyDOE/+9/d/b4BFet/D4NJFg7d5TxYK/rON8fzM/a/EjwaXB9GsL8W/sWSsyiOFmWHZpx4yxSg/LASW+mu6hWbu57cYv0FCRMuIsQNuz0WgugNwctn/gPIgbKgVC/Envc1+qFQ6vFMWhxKqKT9lslohWJwHo9Vhu+UmOStqHQI3jZ1LkLv7wSkdz8YPxuv0rHSziFyWEgUPRH2zXdsbhf69EtY/Q+ilQGbIFlcqExurqkzGAjXcLDU7uK4Q0ksUkxocGzNoV3DyQfPKNipLf69iWCEVpU5LX14ylEotASzHuOcCNU6AHMB6OzErO+KJ8R3kqbRfRwLyuN2GB9gUrpiFqITJXJ1hZ4qE7OmzFQH/VxZVf9xvAuMac9GkzZTT3El9nfo3+5TyDPXPBuVv2vkQTZfdepKlb6boOsV0vgYNkuw7Xk9E+eUHmw1L2351QlMM0727iTacpFz9jEluKltp2q+5EtQmgBCKXDwvytGZBGq3UuhwWC47mOR4ytC6zhitKHzz1Jyr2u3/OHaK8Ado3pQZoL85h2sSy6z9PjyhPOAsmn1cCDh6IVhh+fMIFO9tFo+JXusDY6HD1tSpKvmS3HHp0oaVqdWq2Tz15Bbax+Cqc+2MaCuqh5FWu7JgZH1R86/Yz9orS/jV0lrqZ/S2ZCJngIl9GfGKASya3xPvBsdd/ybheWk6QcJjuXeSbVlvHYZhLd7Y3Md1L0mOBqylP83Ai9ezurYRybTGb7FZiz89xoutZR6UUEhK+ZnThzm8vO9zDg3VWbijnJRej7W8bJzlz9x0KKQnynW0vSI5QI1FQspxOGbs5lriEza7fhtxdTnRcHCtNjEkCyY6hRKvyolsS3lE7taM7U7DGBkCDzW/YV9CqSNrDXKd3DpuvpKHJXF/8r8QVt2V1+Um4wksHSJZYbGfDb7WUkBS9cBL2AtfO7GidDimhXeAj0zy2h8Fq4bVckT/4j8gLUVOO0Oli6bW5TmjwQZEtw24B7ZIS5t3x9V1TFxo1Jozo7OoUtRNYkY58bkes84mcWdDxmZNNgXbiGuzke7UEI7ykcal4t7NIQhhoNzii9BJdupNzzbWCCc3V3cHdiAxIsQ+Igd1xvmChyFLbwvRFQHQPvVb4pq43po/BwRAZIjZS/PZhbB9IJg+LbaKDvTToIMM0jIeWFvGkjOkVUdR9RJq5pBfIqFezvYteOxDDHpvzq/6Zmq3toyHwzPZ+nf8A4XaqwF1F/hQoLUeghyrjZXFhqGFLCjwP2AUExMWJT91+5I5EJz1WmOf0LGIenW3d7hg4JzGrPrdwGCEmV31VAbB3Ryqh/FunwbtizT9xE+rVvCIcYqp6FXz2NyfB7mFNJCiIcBTT5WmjkgWaW1c+iKWX6+cSAE6lKblJZoVwkWAAqRBnjxe3oPXiT236dFtuYI9IZbD5DgLqg/PHxf2PgAT9Vh5elnyBUH28SPM66Jc3Ae2fIWg7Ez3G8UFvzc1bkjUOkWHVEHX9QdmbnvEcFeEDyQHhp8l02sLtsKf9FprT72dnEgeMa7L78t/t6wCqrgimhLeF2q/xN7D5ix9SXcRiQlqXaM6OzLdfwz1HBzkVMw5svkff3Bot79i5Vize6EqD8A+Pq0RbirUy7WXrZAHwosEo1+nQ1+796Gp9MnBo3K5rAh2RODVfomq66W78uCwyCJjNmf535htiCAeASsEbWBxKqy5v4HTbj0CvTRKcfL/q4nno0Hw11jE7uDMskfb3I0ie86tioUbGflpICS4J59yRRafj37iyWYCzS1+ifS6+YL9ucn0qJaLkgnQQ4+IFu14YTjdbROUdy3WWGhR65pwiYsVcDIcZhbb/30sASbJuvhfarwGMBwmk1/yL2RAUGYr+dL6WlOBFjx5p2b1am+N3J7IbZa+Nxys4U150vHW+c+2H3ZGSpter6+SIdrErdmvZyvHXI2HpkMnUnTWobbNKudBBGadG+8hVtAj8zyRsmWxr9Q+V4OrtnieW8G35YJgYoH2FUPDmJsNrm0uQ75zugZzAH40doP6qSx5F4Sz/6tmF61sAEWbYGzvfuk+YRrwYtZCXPcvPlCEujDplwcRxRftjD7D8e/7i4I74SZ3VRAyzRG6EVM9XGqz10oOn1janJ5tctyymyMeymvzz2xJunYxvLZT8begS5TCGksghpP2rlITTMYfc4sPL4d7eGDsnYBlr7gachoNBQtBln1hYMne0gfG5BVd8V7v8QuukShuoZzfTkAFOr6hMAT5sm8Qo67BtMVRPlxzw/iCtgFbkUiVSNXepUW5SPYI+RK6no2mZ+yyKs1pDjouVW+bHTyEkJa42EfY3xrpfpUxKwgJPAVQQ90DV93PS5P2qvxBIB9PNcSPCRfAcGIXt1IHQpj5jAf0lBzcyta9Kn4EgdUfJF4HizVByVRBEygRTL7w80AayNyLKy93P1f1qs8b+Q+1IT+uWawh3odW5/5b3/rvkAqbdIiKLy85tqMWCc2Szx1CzBt9vcJnLU+fJFjnR4d2A3c5SjrZPeMrwTQhiBM8bxTqAhLOAgOW3Sfj1NUj1F67NKg5XDVtvyM1amasbJXJHOIniHutHbVGydKgHKzS0KhLhS4VFXRiMDsLMmxFzzwAANSXJLqN5R8GuI0JXaAXMii7Zqxu5bn+XVCnntejegIJAW2oGUtOzTfVk+BdLHXQm2T6l5kNERaNFNpgV5npxd1FeNe65xcRUUExLbVkz95OeuBU0U7PYDQodtYtSzX2Cx1SdgsJA1PxpSsB9fugYguihvps/RA32uj9EEsrodbkez1EsivdySqu/mUMb6mQQWQ52JwOj7F8rfQSFS5ucYkgGkIA4KWSixhJYKalnzHb4lS1Q9uHuOMJmFc26Jj+m65MF17L+g0NbH+mOQg8iH4+2' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'MaKcLSqwZTl9kuT3sfeJw/VBNEWWaY5+ZZzx+LH1/dzHnCBcRmy1nxFWZqb9NKRlr/tpyEIkRI6ML6erleae221EKAlHc5o+qsrcf2yMKRwwzkeJv4ldBzqx5uZ6pAEjk7Eub2Ef3dr1IBk3xjrS9cblrxNr0wu8KaSq+Obyv/NpVVNuNz+6VSic5IhBk50931nuA+OlFkhEwbF2nzXICxkgWBQdlqFzc+XclRhzac0B5FiQCf0WIR99bvSMbVfgx+OU6o3gu0hvzcBF4mg136UaK7ZkUsCS8ePK2j9IAwgLugdpSEs4ydOxQy5grr0gQnjrVosQ0GR1tDOMwOo9qf194jh8bDzOy5RQiStT5Y5ltLjAy1bpyx2MKcnV6jUbjAorH3aeujlqVJV+nrsfGZr5K6RIHEm/7W0S01NpzgCF7jffiYb5gfj4npxnNntXUTFm+jm0G+4RWMixW/GR1B71N1rk0yiTmyc5y7iHU61HP0Y/HdctCIvs8cVsfA1moQgxyfWW0iV465caMDjA30wDMb+K7bbZ+YJoCp9nebRNL3CS/eQFRqQyIhG5i/CD1QkX5Dp5LyV3bALp9VowtaTDpdWmXSLUHXyVhGECh/0narc4nF5AAA==' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> SpecialCharNameList () #EndRegion --- Compressed Files ------------------------------