diff --git a/MAS/All-In-One-Version-KL/MAS_AIO.cmd b/MAS/All-In-One-Version-KL/MAS_AIO.cmd index 73ac408..aa407a9 100644 --- a/MAS/All-In-One-Version-KL/MAS_AIO.cmd +++ b/MAS/All-In-One-Version-KL/MAS_AIO.cmd @@ -1,5 +1,5 @@ @::de62hd8-random -@set masver=3.1 +@set masver=3.1.lk14 @setlocal DisableDelayedExpansion @echo off @@ -141,30 +141,295 @@ call :dk_color2 %Blue% "Check this webpage for help - " %_Yellow% " %mas%trouble goto dk_done ) -if %winbuild% LSS 6001 ( +if %winbuild% EQU 6000 ( %nceline% echo Unsupported OS version detected [%winbuild%]. -echo MAS only supports Windows Vista/7/8/8.1/10/11 and their Server equivalents. -if %winbuild% EQU 6000 ( echo: echo Windows Vista RTM is not supported because Powershell cannot be installed. echo Upgrade to Windows Vista SP1 or SP2. -) goto dk_done ) -if not exist %ps% ( +if %winbuild% LSS 2600 ( %nceline% -echo PowerShell is not installed in your system. -if %winbuild% LSS 7600 ( -echo Install PowerShell using the following URL. -echo: -echo https://www.catalog.update.microsoft.com/Search.aspx?q=KB968930 -if %_unattended%==0 start https://www.catalog.update.microsoft.com/Search.aspx?q=KB968930 -) +echo Unsupported OS version detected [%winbuild%]. +echo MAS only supports Windows XP/Vista/7/8/8.1/10/11 and their Server equivalents. goto dk_done ) +if exist "%SystemRoot%\System32\choice.exe" set "_choice=%SystemRoot%\System32\choice.exe" +if exist "%~DP0\choice.exe" set "_choice=%~DP0\choice.exe" + +if not defined _choice ( +%nceline% +echo choice.exe is required, but Windows XP does not include it. +echo Please download choice.exe first and place it in the same folder. +echo: +if %_unattended%==0 ( +echo Press any key to exit. +pause %nul1% +) +exit /b +) + +set badps=0 +if not exist "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" set badps=1 +if %badps%==0 cmd /c "%psc% "$PSVersionTable -eq $null"" | find /i "True" %nul1% && set badps=2 +if not %badps%==0 ( +if %winbuild% LSS 7600 ( +setlocal EnableDelayedExpansion +if %_unattended%==0 ( +%nceline% +if %badps%==1 ( +echo PowerShell is required, but Windows XP and Vista do not have it by default. +echo Please download and install Powershell first. +echo: +echo [1] Install PowerShell +echo [0] Exit +) else if %badps%==2 ( +echo PowerShell 2.0 is required, but Windows Server 2008 +echo only includes PowerShell 1.0. Please upgrade Powershell first. +echo: +echo [1] Upgrade PowerShell +echo [0] Exit +) +echo: +echo Choose a menu option using your keyboard [1,0] : +"%_choice%" /C:10 /N +if !errorlevel!==2 (exit /b) +) +cls +echo: +echo =============================== +echo: +if defined PROCESSOR_ARCHITEW6432 ( + if not "%PROCESSOR_ARCHITEW6432%"=="AMD64" ( + echo Invalid WOW archetecture %PROCESSOR_ARCHITEW6432% + echo: + echo Help - %mas%troubleshoot + echo: + if %_unattended%==0 ( + echo Press any key to exit... + pause %nul1% + ) + exit /b + ) + if %winbuild% LSS 6000 ( + set "__ps_dl_type=EXE" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/B/D/9/BD9BB1FF-6609-4B10-9334-6D0C58066AA7/WindowsServer2003-KB968930-x64-ENG.exe" + set "__net20_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x64.exe" + ) else ( + set "__ps_dl_type=MSU" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/3/C/8/3C8CF51E-1D9D-4DAA-AAEA-5C48D1CD055C/Windows6.0-KB968930-x64.msu" + ) +) else ( + if "%PROCESSOR_ARCHITECTURE%"=="x86" ( + if %winbuild% EQU 2600 ( + set "__ps_dl_type=EXE" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/E/C/E/ECE99583-2003-455D-B681-68DB610B44A4/WindowsXP-KB968930-x86-ENG.exe" + set "__net20_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe" + ) else if %winbuild% LSS 6000 ( + set "__ps_dl_type=EXE" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/1/1/7/117FB25C-BB2D-41E1-B01E-0FEB0BC72C30/WindowsServer2003-KB968930-x86-ENG.exe" + set "__net20_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe" + ) else ( + set "__ps_dl_type=MSU" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/A/7/5/A75BC017-63CE-47D6-8FA4-AFB5C21BAC54/Windows6.0-KB968930-x86.msu" + ) + ) else if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( + if %winbuild% LSS 6000 ( + set "__ps_dl_type=EXE" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/B/D/9/BD9BB1FF-6609-4B10-9334-6D0C58066AA7/WindowsServer2003-KB968930-x64-ENG.exe" + set "__net20_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x64.exe" + ) else ( + set "__ps_dl_type=MSU" + set "__ps_dl_url=http://web.archive.org/web/20200801000000id_/download.microsoft.com/download/3/C/8/3C8CF51E-1D9D-4DAA-AAEA-5C48D1CD055C/Windows6.0-KB968930-x64.msu" + ) + ) else ( + echo Invalid archetecture %PROCESSOR_ARCHITECTURE% + echo: + echo Help - %mas%troubleshoot + echo: + if %_unattended%==0 ( + echo Press any key to exit... + pause %nul1% + ) + exit /b + ) +) +if "!__ps_dl_type!"=="EXE" ( + set "_net20sp=" + set "_net20fail=0" + for /f "tokens=2*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" /v SP /t REG_DWORD 2^>nul^|findstr REG_DWORD 2^>nul') do set "_net20sp=%%~B" + if not "!_net20sp!"=="0x1" if not "!_net20sp!"=="0x2" ( + set "_net20fail=1" + echo Downloading .NET Framework 2.0 SP2... + echo strFileURL = "!__net20_dl_url!" > "%temp%\dlNetFx20SP2.vbs" + echo strHDLocation = "%temp%\NetFx20SP2.exe" >> "%temp%\dlNetFx20SP2.vbs" + echo: >> "%temp%\dlNetFx20SP2.vbs" + echo Set objXMLHTTP = CreateObject^("MSXML2.XMLHTTP"^) >> "%temp%\dlNetFx20SP2.vbs" + echo objXMLHTTP.open "GET", strFileURL, false >> "%temp%\dlNetFx20SP2.vbs" + echo objXMLHTTP.send^(^) >> "%temp%\dlNetFx20SP2.vbs" + echo: >> "%temp%\dlNetFx20SP2.vbs" + echo If objXMLHTTP.Status = 200 Then >> "%temp%\dlNetFx20SP2.vbs" + echo Set objADOStream = CreateObject^("ADODB.Stream"^) >> "%temp%\dlNetFx20SP2.vbs" + echo objADOStream.Open >> "%temp%\dlNetFx20SP2.vbs" + echo objADOStream.Type = 1 >> "%temp%\dlNetFx20SP2.vbs" + echo: >> "%temp%\dlNetFx20SP2.vbs" + echo objADOStream.Write objXMLHTTP.ResponseBody >> "%temp%\dlNetFx20SP2.vbs" + echo objADOStream.Position = 0 >> "%temp%\dlNetFx20SP2.vbs" + echo: >> "%temp%\dlNetFx20SP2.vbs" + echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^) >> "%temp%\dlNetFx20SP2.vbs" + echo If objFSO.Fileexists^(strHDLocation^) Then objFSO.DeleteFile strHDLocation >> "%temp%\dlNetFx20SP2.vbs" + echo Set objFSO = Nothing >> "%temp%\dlNetFx20SP2.vbs" + echo: >> "%temp%\dlNetFx20SP2.vbs" + echo objADOStream.SaveToFile strHDLocation >> "%temp%\dlNetFx20SP2.vbs" + echo objADOStream.Close >> "%temp%\dlNetFx20SP2.vbs" + echo Set objADOStream = Nothing >> "%temp%\dlNetFx20SP2.vbs" + echo End if >> "%temp%\dlNetFx20SP2.vbs" + echo: >> "%temp%\dlNetFx20SP2.vbs" + echo Set objXMLHTTP = Nothing >> "%temp%\dlNetFx20SP2.vbs" + cscript "%temp%\dlNetFx20SP2.vbs" %nul% + del /f /q "%temp%\dlNetFx20SP2.vbs" + if not exist "%temp%\NetFx20SP2.exe" ( + echo Download failed + echo: + echo Help - %mas%troubleshoot + ) else ( + echo Installing... + start /wait "" "%temp%\NetFx20SP2.exe" /quiet /norestart + set "_netfxerr=%errorlevel%" + del /f /q "%temp%\NetFx20SP2.exe" + if "!_netfxerr!"=="0" ( + echo Installation complete. + set "_net20fail=0" + ) else if "!_netfxerr!"=="3010" ( + echo A reboot is required to complete the installation of .NET Framework 2.0 SP2. + echo Please rerun this script after rebooting to install PowerShell 2.0. + ) else ( + echo Installation error %_wuerr% + echo: + echo Help - %mas%troubleshoot + ) + ) + ) + if "!_net20fail!"=="0" ( + echo Downloading PowerShell 2.0... + echo strFileURL = "!__ps_dl_url!" > "%temp%\dlKB968930.vbs" + echo strHDLocation = "%temp%\KB968930.exe" >> "%temp%\dlKB968930.vbs" + echo: >> "%temp%\dlKB968930.vbs" + echo Set objXMLHTTP = CreateObject^("MSXML2.XMLHTTP"^) >> "%temp%\dlKB968930.vbs" + echo objXMLHTTP.open "GET", strFileURL, false >> "%temp%\dlKB968930.vbs" + echo objXMLHTTP.send^(^) >> "%temp%\dlKB968930.vbs" + echo: >> "%temp%\dlKB968930.vbs" + echo If objXMLHTTP.Status = 200 Then >> "%temp%\dlKB968930.vbs" + echo Set objADOStream = CreateObject^("ADODB.Stream"^) >> "%temp%\dlKB968930.vbs" + echo objADOStream.Open >> "%temp%\dlKB968930.vbs" + echo objADOStream.Type = 1 >> "%temp%\dlKB968930.vbs" + echo: >> "%temp%\dlKB968930.vbs" + echo objADOStream.Write objXMLHTTP.ResponseBody >> "%temp%\dlKB968930.vbs" + echo objADOStream.Position = 0 >> "%temp%\dlKB968930.vbs" + echo: >> "%temp%\dlKB968930.vbs" + echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^) >> "%temp%\dlKB968930.vbs" + echo If objFSO.Fileexists^(strHDLocation^) Then objFSO.DeleteFile strHDLocation >> "%temp%\dlKB968930.vbs" + echo Set objFSO = Nothing >> "%temp%\dlKB968930.vbs" + echo: >> "%temp%\dlKB968930.vbs" + echo objADOStream.SaveToFile strHDLocation >> "%temp%\dlKB968930.vbs" + echo objADOStream.Close >> "%temp%\dlKB968930.vbs" + echo Set objADOStream = Nothing >> "%temp%\dlKB968930.vbs" + echo End if >> "%temp%\dlKB968930.vbs" + echo: >> "%temp%\dlKB968930.vbs" + echo Set objXMLHTTP = Nothing >> "%temp%\dlKB968930.vbs" + cscript "%temp%\dlKB968930.vbs" %nul% + del /f /q "%temp%\dlKB968930.vbs" + if not exist "%temp%\KB968930.exe" ( + echo Download failed + echo: + echo Help - %mas%troubleshoot + ) else ( + echo Installing... + start /wait "" "%temp%\KB968930.exe" /quiet /norestart + set "_wuerr=%errorlevel%" + if "!_wuerr!"=="0" ( + del /f /q "%temp%\KB968930.exe" + if not exist "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" ( + echo Installation completed, but powershell is still missing. + echo: + echo Help - %mas%troubleshoot + ) else ( + echo Installation complete. + echo: + echo Press any key to go back... + pause %nul1% + goto :ps_install_done + ) + ) else if "!_wuerr!"=="3010" ( + del /f /q "%temp%\KB968930.exe" + echo A reboot is required to complete the installation. + ) else ( + del /f /q "%temp%\KB968930.exe" + echo Installation error %_wuerr% + echo: + echo Help - %mas%troubleshoot + ) + ) + ) +) else ( + echo Downloading PowerShell 2.0... + certutil -urlcache -split -f "!__ps_dl_url!" "%temp%\KB968930.msu" %nul% + if not exist "%temp%\KB968930.msu" ( + echo Download failed + echo: + echo Help - %mas%troubleshoot + ) else ( + echo Installing... + start /wait wusa "%temp%\KB968930.msu" /quiet /norestart + set "_wuerr=%errorlevel%" + del /f /q "%temp%\KB968930.msu" + if "!_wuerr!"=="0" ( + if !badps!==2 ( + echo A reboot is required to complete the installation. + ) else if not exist "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" ( + echo Installation completed, but powershell is still missing. + echo: + echo Help - %mas%troubleshoot + ) else ( + echo Installation complete. + echo: + echo Press any key to go back... + pause %nul1% + goto :ps_install_done + ) + ) else if "!_wuerr!"=="3010" ( + echo A reboot is required to complete the installation. + ) else ( + echo Installation error %_wuerr% + echo: + echo Help - %mas%troubleshoot + ) + ) +) +echo: +if %_unattended%==0 ( +echo Press any key to exit... +pause %nul1% +) +exit /b +) else ( +%nceline% +echo Powershell is missing, damaged, or uninstalled. +echo: +echo Help - %mas%troubleshoot +echo: +if %_unattended%==0 ( +echo Press any key to exit... +pause %nul1% +) +exit /b +) +) +:ps_install_done + ::======================================================================================================================================== :: Fix special character limitations in path name @@ -307,7 +572,7 @@ exit /b set -= set old= set pingp= -set upver=%masver:.=% +for /f "tokens=1,2 delims=." %%a in ("%masver%") do set upver=%%a%%b for %%A in ( activ%-%ated.win @@ -332,7 +597,7 @@ echo [1] Get Latest MAS echo [0] Continue Anyway echo: call :dk_color %_Green% "Choose a menu option using your keyboard [1,0] :" -choice /C:10 /N +"%_choice%" /C:10 /N if !errorlevel!==2 rem if !errorlevel!==1 (start %mas% & exit /b) ) @@ -352,6 +617,7 @@ echo "%_args%" | find /i "/KMS38" %nul% && (setlocal & cls & (call :KMS38Activa echo "%_args%" | find /i "/Z-" %nul% && (setlocal & cls & (call :TSforgeActivation %_args% %_silent%) & endlocal) echo "%_args%" | find /i "/K-" %nul% && (setlocal & cls & (call :KMSActivation %_args% %_silent%) & endlocal) echo "%_args%" | find /i "/Ohook" %nul% && (setlocal & cls & (call :OhookActivation %_args% %_silent%) & endlocal) +echo "%_args%" | find /i "/C-" %nul% && (setlocal & cls & (call :CIDGenActivation %_args% %_silent%) & endlocal) exit /b ) @@ -362,7 +628,7 @@ setlocal DisableDelayedExpansion :: Check desktop location set desktop= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" +if %winbuild% GEQ 6000 for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" if not defined desktop for /f "delims=" %%a in ('%psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" set "_pdesk=%desktop:'=''%" @@ -385,8 +651,9 @@ if not defined terminal mode 76, 34 if %winbuild% GEQ 10240 if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" if not exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _hwidgo=1 if %winbuild% GTR 14393 if exist "%SysPath%\spp\tokens\skus\EnterpriseSN\" set _hwidgo= -if not defined _hwidgo set _tsforgego=1 +if not defined _hwidgo if %winbuild% GEQ 6000 set _tsforgego=1 set _ohookgo=1 +if %winbuild% LSS 6000 set _cidgengo=1 echo: echo: @@ -413,30 +680,36 @@ echo: [3] TSforge - Windows / Office / ESU ) echo: [4] KMS38 - Windows echo: [5] Online KMS - Windows / Office +if defined _cidgengo ( +call :dk_color3 %_White% " [6] " %_Green% "CIDGen" %_White% " - Windows / Office / Plus DME" +) else ( +echo: [6] CIDGen - Windows / Office / Plus DME +) echo: __________________________________________________ echo: -echo: [6] Check Activation Status -echo: [7] Change Windows Edition -echo: [8] Change Office Edition +echo: [7] Check Activation Status +echo: [8] Change Windows Edition +echo: [9] Change Office Edition echo: __________________________________________________ echo: -echo: [9] Troubleshoot +echo: [T] Troubleshoot echo: [E] Extras echo: [H] Help echo: [0] Exit echo: ______________________________________________________________ echo: -call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3...E,H,0] :" -choice /C:123456789EH0 /N +call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3...T,E,H,0] :" +"%_choice%" /C:123456789TEH0 /N set _erl=%errorlevel% -if %_erl%==12 exit /b -if %_erl%==11 start %mas%troubleshoot & goto :MainMenu -if %_erl%==10 goto :Extras -if %_erl%==9 setlocal & call :troubleshoot & cls & endlocal & goto :MainMenu -if %_erl%==8 setlocal & call :change_offedition & cls & endlocal & goto :MainMenu -if %_erl%==7 setlocal & call :change_winedition & cls & endlocal & goto :MainMenu -if %_erl%==6 setlocal & call :check_actstatus & cls & endlocal & goto :MainMenu +if %_erl%==13 exit /b +if %_erl%==12 start %mas%troubleshoot & goto :MainMenu +if %_erl%==11 goto :Extras +if %_erl%==10 setlocal & call :troubleshoot & cls & endlocal & goto :MainMenu +if %_erl%==9 setlocal & call :change_offedition & cls & endlocal & goto :MainMenu +if %_erl%==8 setlocal & call :change_winedition & cls & endlocal & goto :MainMenu +if %_erl%==7 setlocal & call :check_actstatus & cls & endlocal & goto :MainMenu +if %_erl%==6 setlocal & call :CidGenActivation & cls & endlocal & goto :MainMenu if %_erl%==5 setlocal & call :KMSActivation & cls & endlocal & goto :MainMenu if %_erl%==4 setlocal & call :KMS38Activation & cls & endlocal & goto :MainMenu if %_erl%==3 setlocal & call :TSforgeActivation & cls & endlocal & goto :MainMenu @@ -476,7 +749,7 @@ echo: [0] Go to Main Menu echo: ______________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,0] :" -choice /C:120 /N +"%_choice%" /C:120 /N set _erl=%errorlevel% if %_erl%==3 goto :MainMenu @@ -498,7 +771,7 @@ echo $OEM$ folder already exists on the Desktop. echo _____________________________________________________ echo: call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." -choice /c 0 /n +"%_choice%" /c 0 /n goto :Extras ) @@ -529,7 +802,7 @@ echo: [0] Go Back echo: ____________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard :" -choice /C:12345678R0 /N +"%_choice%" /C:12345678R0 /N set _erl=%errorlevel% if %_erl%==10 goto:Extras @@ -584,7 +857,7 @@ echo Check this page %mas%oem-folder echo ___________________________________________________________________ echo: call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." -choice /c 0 /n +"%_choice%" /c 0 /n goto Extras :+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -694,7 +967,7 @@ call :dk_color2 %_White% " " %Green% "%winos% is already permanently activat echo ___________________________________________________________________________________________ if %_unattended%==1 goto dk_done echo: -choice /C:10 /N /M "> [1] Activate Anyway [0] %_exitmsg% : " +"%_choice%" /C:10 /N /M "> [1] Activate Anyway [0] %_exitmsg% : " if errorlevel 2 exit /b ) cls @@ -1097,10 +1370,13 @@ set ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe set psc=%ps% -nop -c set winbuild=1 for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G +:: XP specifies "Microsoft Windows XP" rather than "Microsoft Windows", breaking the above test +ver|findstr "5.1.2600" %nul%&&set winbuild=2600 set _slexe=sppsvc.exe& set _slser=sppsvc if %winbuild% LEQ 6300 (set _slexe=SLsvc.exe& set _slser=SLsvc) if %winbuild% LSS 7600 if exist "%SysPath%\SLsvc.exe" (set _slexe=SLsvc.exe& set _slser=SLsvc) +if %winbuild% LSS 6000 (set "_slexe=nul"& set "_slser=nul") if %_slexe%==SLsvc.exe set _vis=1 set _NCS=1 @@ -1153,11 +1429,14 @@ for /f "tokens=6-7 delims=[]. " %%i in ('ver') do if not "%%j"=="" ( set fullbuild=%%i.%%j ) else ( for /f "tokens=3" %%G in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR" %nul6%') do if not errorlevel 1 set /a "UBR=%%G" -for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx') do ( +for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx 2^>nul') do ( if defined UBR (set "fullbuild=%%G.!UBR!") else (set "fullbuild=%%G.%%H") ) ) +if not defined fullbuild set fullbuild=%winbuild% +if %winbuild% leq 2600 set fullbuild=%winbuild% + echo Checking OS Info [%winos% ^| %fullbuild% ^| %osarch%] exit /b @@ -1372,6 +1651,8 @@ function ReinstallLicenses() { :dk_ckeckwmic +:: WMIC is unreliable on XP and often hangs or gives no output +if %winbuild% LSS 6000 (set _wmic=0&exit /b) if %winbuild% LSS 9200 (set _wmic=1&exit /b) set _wmic=0 for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( @@ -1383,6 +1664,8 @@ exit /b :dk_sppissue +if %winbuild% LSS 6000 (exit /b) + sc start %_slser% %nul% set spperror=%errorlevel% @@ -1447,7 +1730,7 @@ exit /b set w= set results= if exist "%ProgramFiles%\KM%w%Spico" set pupfound= KM%w%Spico -if not defined pupfound ( +if %winbuild% GEQ 6000 if not defined pupfound ( reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "AutoPico" %nul% && set pupfound= KM%w%Spico ) @@ -1607,20 +1890,22 @@ call :dk_color2 %Red% "Checking Boot Mode [%safeboot_option :: https://learn.microsoft.com/windows-hardware/manufacture/desktop/windows-setup-states +if %winbuild% GEQ 6000 ( for /f "skip=2 tokens=2*" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State" /v ImageState') do (set imagestate=%%B) -if /i not "%imagestate%"=="IMAGE_STATE_COMPLETE" ( -call :dk_color %Gray% "Checking Windows Setup State [%imagestate%]" -echo "%imagestate%" | find /i "RESEAL" %nul% && ( +if /i not "!imagestate!"=="IMAGE_STATE_COMPLETE" ( +call :dk_color %Gray% "Checking Windows Setup State [!imagestate!]" +echo "!imagestate!" | find /i "RESEAL" %nul% && ( set error=1 set showfix=1 call :dk_color %Blue% "You need to run it in normal mode in case you are running it in Audit Mode." ) -echo "%imagestate%" | find /i "UNDEPLOYABLE" %nul% && ( +echo "!imagestate!" | find /i "UNDEPLOYABLE" %nul% && ( set fixes=%fixes% %mas%in-place_repair_upgrade call :dk_color2 %Blue% "If the activation fails, do this - " %_Yellow% " %mas%in-place_repair_upgrade" ) ) +) reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE" /v InstRoot %nul% && ( @@ -1998,13 +2283,13 @@ if %_unattended%==1 timeout /t 2 & exit /b if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" -choice /C:10 /N +"%_choice%" /C:10 /N if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." -choice /c 0 /n +"%_choice%" /c 0 /n ) else ( call :dk_color %_Yellow% "Press any key to %_exitmsg%..." pause %nul1% @@ -2164,15 +2449,19 @@ for %%A in (%_act% %_rem%) do (if "%%A"=="1" set _unattended=1) ::======================================================================================================================================== -if %winbuild% LSS 6001 ( +if %winbuild% LSS 2600 ( %nceline% echo Unsupported OS version detected [%winbuild%]. -echo MAS only supports Windows Vista/7/8/8.1/10/11 and their Server equivalents. +echo MAS only supports Windows XP/Vista/7/8/8.1/10/11 and their Server equivalents. +goto dk_done +) + if %winbuild% EQU 6000 ( +%nceline% +echo Unsupported OS version detected [%winbuild%]. echo: echo Windows Vista RTM is not supported because Powershell cannot be installed. echo Upgrade to Windows Vista SP1 or SP2. -) goto dk_done ) @@ -2217,7 +2506,7 @@ echo [0] %_exitmsg% echo ____________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3,0]" -choice /C:1230 /N +"%_choice%" /C:1230 /N set _el=!errorlevel! if !_el!==4 exit /b if !_el!==3 start %mas%genuine-installation-media &goto :oh_menu @@ -2277,6 +2566,7 @@ call :dk_showosinfo echo Initiating Diagnostic Tests... set "_serv=%_slser% Winmgmt" +if %winbuild% LSS 6000 set "_serv=Winmgmt" :: Software Protection :: Windows Management Instrumentation @@ -2973,9 +3263,12 @@ set "ierror=Rename OSPPC.DLL" goto :oh_hookinstall_error ) -if defined _osppPath68 if defined _osppPath86 (mklink "%_hookPath%\sppcs.dll" "%_osppPath86%\sppcs.dll" %nul%) -if defined _osppPath68 if not defined _osppPath86 (mklink "%_hookPath%\sppcs.dll" "%_osppPath68%\sppcs.dll" %nul%) -if defined _osppPath86 if not defined _osppPath68 (mklink "%_hookPath%\sppcs.dll" "%_osppPath86%\sppcs.dll" %nul%) +if %winbuild% GEQ 6000 if defined _osppPath68 if defined _osppPath86 (mklink "%_hookPath%\sppcs.dll" "%_osppPath86%\sppcs.dll" %nul%) +if %winbuild% GEQ 6000 if defined _osppPath68 if not defined _osppPath86 (mklink "%_hookPath%\sppcs.dll" "%_osppPath68%\sppcs.dll" %nul%) +if %winbuild% GEQ 6000 if defined _osppPath86 if not defined _osppPath68 (mklink "%_hookPath%\sppcs.dll" "%_osppPath86%\sppcs.dll" %nul%) +if %winbuild% LSS 6000 if defined _osppPath68 if defined _osppPath86 (copy /y "%_osppPath86%\sppcs.dll" "%_hookPath%\sppcs.dll" %nul%) +if %winbuild% LSS 6000 if defined _osppPath68 if not defined _osppPath86 (copy /y "%_osppPath68%\sppcs.dll" "%_hookPath%\sppcs.dll" %nul%) +if %winbuild% LSS 6000 if defined _osppPath86 if not defined _osppPath68 (copy /y "%_osppPath86%\sppcs.dll" "%_hookPath%\sppcs.dll" %nul%) if not exist "%_hookPath%\sppcs.dll" ( set ierror=mklink sppcs.dll @@ -3376,6 +3669,8 @@ exit /b :oh_checkapps +if %winbuild% LEQ 2600 exit /b + set checkapps= set checknames= for /f "tokens=1" %%i in ('tasklist ^| findstr /I ".exe" %nul6%') do (set "checkapps=!checkapps! -%%i-") @@ -4014,6 +4309,15 @@ if /i "%%A"=="/Z-Reset" (set _resall=1) if not defined tsids set _actman=0 for %%A in (%_actwin% %_actesu% %_actoff% %_actprojvis% %_actwinesuoff% %_actwinhost% %_actoffhost% %_actappx% %_actman% %_resall%) do (if "%%A"=="1" set _unattended=1) +if %winbuild% LSS 6000 ( +%eline% +echo Unsupported OS version detected [%winbuild%]. +echo TSForge Activation is only supported on Windows Vista/7/8/10/11 and their Server equivalents. +echo: +call :dk_color %Blue% "Use Ohook activation option from the main menu." +goto dk_done +) + if %winbuild% LSS 7600 ( reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" /v Install %nul2% | find /i "0x1" %nul1% || ( %eline% @@ -4066,7 +4370,7 @@ echo [0] %_exitmsg% echo ______________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard..." -choice /C:12345ABCDE670 /N +"%_choice%" /C:12345ABCDE670 /N set _el=!errorlevel! if !_el!==13 exit /b @@ -4832,7 +5136,7 @@ call :dk_color %Blue% "Only use this activation when necessary, you can revert t if %_unattended%==0 ( echo: -choice /C:0F /N /M "> [0] Go back [F] Continue : " +"%_choice%" /C:0F /N /M "> [0] Go back [F] Continue : " if !errorlevel!==1 exit /b echo: ) @@ -5055,7 +5359,7 @@ goto :ts_act call :dk_color %Blue% "Although the script will try to remove those IDs from the list, it is not fully guaranteed." echo: -choice /C:0F /N /M "> [0] Go back [F] Continue : " +"%_choice%" /C:0F /N /M "> [0] Go back [F] Continue : " if %errorlevel%==1 exit /b echo: @@ -10929,7 +11233,7 @@ echo [0] %_exitmsg% echo: ______________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,0]" -choice /C:120 /N +"%_choice%" /C:120 /N set _el=!errorlevel! if !_el!==3 exit /b if !_el!==2 goto :k_uninstall @@ -10992,7 +11296,7 @@ call :dk_color2 %_White% " " %Gray% "Activation is not required." echo ___________________________________________________________________________________________ if %_unattended%==1 goto dk_done echo: -choice /C:10 /N /M "> [1] Activate Anyway [0] %_exitmsg% : " +"%_choice%" /C:10 /N /M "> [1] Activate Anyway [0] %_exitmsg% : " if errorlevel 2 exit /b ) cls @@ -11700,6 +12004,15 @@ echo "%%A" | find /i "/K-Server-" >nul && (set "_server=%%A" & call set "_server for %%A in (%_actwin% %_actoff% %_actprojvis% %_actwinoff% %_uni%) do (if "%%A"=="1" set _unattended=1) +if %winbuild% LSS 6000 ( +%eline% +echo Unsupported OS version detected [%winbuild%]. +echo Online %KS% Activation is only supported on Windows Vista/7/8/10/11 and their Server equivalents. +echo: +call :dk_color %Blue% "Use Ohook activation option from the main menu." +goto dk_done +) + ::======================================================================================================================================== if %_uni%==1 goto :ks_uninstall @@ -11754,7 +12067,7 @@ echo [0] %_exitmsg% echo ______________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3,4,5,6,7,8,9,0]" -choice /C:1234567890 /N +"%_choice%" /C:1234567890 /N set _el=!errorlevel! if !_el!==10 exit /b @@ -12283,7 +12596,7 @@ call :ks_clearstuff %nul% if not defined _server ( if %winbuild% GEQ 9200 ( for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" +if %winbuild% GTR 2600 for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" %nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" if defined _C16R ( REM mass grave[.]dev/office-license-is-not-genuine set _server=10.0.0.10 @@ -12527,7 +12840,7 @@ set "uline=_____________________________________________________________________ set "_C16R=" for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" +if %winbuild% GTR 2600 for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" if %winbuild% GEQ 9200 if defined _C16R ( echo: call :dk_color %Gray% "Notice-" @@ -15429,6 +15742,34 @@ elseif ($NT6) echoWindows CONOUT "Error: product key not found.`n" } +if (-Not $NT6) { + try { + $xpwpa = Get-WmiObject win32_WindowsProductActivation + } catch { + $xpwpa = $null + } + if ($xpwpa -ne $null) { + $xpeval = $xpwpa.RemainingEvaluationPeriod + $xpgrace = $xpwpa.RemainingGracePeriod + $xpact = $xpwpa.ActivationRequired + echoWindows + if ($xpeval -eq 2147483647) { + CONOUT "Evaluation: No" + } else { + CONOUT "Evaluation: $xpeval days remaining" + } + if ($xpgrace -eq 2147483647) { + CONOUT "Grace period: No" + } else { + CONOUT "Grace period: $xpgrace days remaining" + } + if ($xpact -eq 0) { + CONOUT "Activation required: No`n" + } else { + CONOUT "Activation required: Yes`n" + } + } +} if ($NT6 -And -Not $NT8) { ClcRun @@ -15526,7 +15867,7 @@ echo: [0] %_exitmsg% echo: _______________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard :" -choice /C:1234560 /N +"%_choice%" /C:1234560 /N set _erl=%errorlevel% if %_erl%==7 exit /b @@ -15578,7 +15919,7 @@ call :dk_color2 %_White% " - " %Gray% "Make sure that Windows update is prop echo: echo %line% echo: -choice /C:09 /N /M "> [9] Continue [0] Go back : " +"%_choice%" /C:09 /N /M "> [9] Continue [0] Go back : " if %errorlevel%==1 goto at_menu cls @@ -15639,7 +15980,7 @@ echo restarting the PC after each time to completely fix everything that it echo: echo %line% echo: -choice /C:09 /N /M "> [9] Continue [0] Go back : " +"%_choice%" /C:09 /N /M "> [9] Continue [0] Go back : " if %errorlevel%==1 goto at_menu cls @@ -15707,7 +16048,7 @@ call :dk_color2 %_White% " - " %Blue% "Apply this option only when it is ne echo: echo %line% echo: -choice /C:09 /N /M "> [9] Continue [0] Go back : " +"%_choice%" /C:09 /N /M "> [9] Continue [0] Go back : " if %errorlevel%==1 goto at_menu ::======================================================================================================================================== @@ -15829,6 +16170,12 @@ echo: call :dk_color %Blue% "Rebuilding SPP licensing tokens..." echo: +if %winbuild% LSS 6000 ( +echo SPP license rebuilding is supported only on Windows Vista/7/8/10/11 and their Server equivalents. +echo Skipping... +goto :rebuildosppsvc +) + call :scandat check if not defined token ( @@ -15949,6 +16296,8 @@ sc config sppuinotify start= demand :: Rebuild OSPP Tokens +:rebuildosppsvc + echo: echo %line% echo: @@ -15961,6 +16310,12 @@ echo Skipping rebuilding OSPP tokens... goto :repairoffice ) +if %winbuild% lss 6000 sc qc osppsvc %nul% | find "SERVICE_NAME: osppsvc" || ( +echo OSPP-based Office is not installed. +echo Skipping rebuilding OSPP tokens... +goto :repairoffice +) + call :scandatospp check if not defined token ( @@ -16084,7 +16439,7 @@ echo: call :dk_color %_Yellow% "A new window will appear, in that window you need to select [Quick Repair] option." if defined terminal ( call :dk_color %_Yellow% "Press [0] to continue..." -choice /c 0 /n +"%_choice%" /c 0 /n ) else ( call :dk_color %_Yellow% "Press any key to continue..." pause %nul1% @@ -16217,7 +16572,7 @@ echo: call :dk_color %Blue% "Its recommended to select [Restart] option and then apply Fix WMI option again." echo %line% echo: -choice /C:21 /N /M "> [1] Restart [2] Revert Back Changes :" +"%_choice%" /C:21 /N /M "> [1] Restart [2] Revert Back Changes :" if !errorlevel!==1 (sc config Winmgmt start= auto %nul%&goto :at_back) echo: echo Restarting... @@ -16313,7 +16668,7 @@ echo %line% echo: if defined terminal ( call :dk_color %_Yellow% "Press [0] key to %_exitmsg%..." -choice /c 0 /n +"%_choice%" /c 0 /n ) else ( call :dk_color %_Yellow% "Press any key to %_exitmsg%..." pause %nul1% @@ -16628,7 +16983,7 @@ for /f "tokens=6-7 delims=[]. " %%i in ('ver') do if not "%%j"=="" ( set fullbuild=%%i.%%j ) else ( for /f "tokens=3" %%G in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR" %nul6%') do if not errorlevel 1 set /a "UBR=%%G" -for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx') do ( +for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx 2^>nul') do ( if defined UBR (set "fullbuild=%%G.!UBR!") else (set "fullbuild=%%G.%%H") ) ) @@ -16710,7 +17065,7 @@ echo: echo Changing this edition may not remove "%osedition%"-specific features. echo: call :dk_color %_Yellow% "Press [7] to continue anyway..." -choice /c 7 /n +"%_choice%" /c 7 /n cls ) @@ -16793,7 +17148,7 @@ echo [1] Continue Anyway echo [0] Go Back echo: call :dk_color %_Green% "Choose a menu option using your keyboard [1,0] :" -choice /C:10 /N +"%_choice%" /C:10 /N if !errorlevel!==2 goto cedmenu2 if !errorlevel!==1 rem ) @@ -16859,7 +17214,7 @@ echo: echo - You will need to activate with HWID option once the edition is changed. %line% echo: -choice /C:21 /N /M "[1] Continue [2] %_exitmsg% : " +"%_choice%" /C:21 /N /M "[1] Continue [2] %_exitmsg% : " if !errorlevel!==1 exit /b ) @@ -16922,7 +17277,7 @@ echo Changing the current edition [%osedition%] %fullbuild% to [%targetedition%] echo: call :dk_color %Blue% "Important - Save your work before continuing, the system will auto-restart." echo: -choice /C:01 /N /M "[1] Continue [0] %_exitmsg% : " +"%_choice%" /C:01 /N /M "[1] Continue [0] %_exitmsg% : " if %errorlevel%==1 exit /b echo: @@ -17487,7 +17842,7 @@ for /f "tokens=6-7 delims=[]. " %%i in ('ver') do if not "%%j"=="" ( set fullbuild=%%i.%%j ) else ( for /f "tokens=3" %%G in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR" %nul6%') do if not errorlevel 1 set /a "UBR=%%G" -for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx') do ( +for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx 2^>nul') do ( if defined UBR (set "fullbuild=%%G.!UBR!") else (set "fullbuild=%%G.%%H") ) ) @@ -17625,7 +17980,7 @@ echo [0] %_exitmsg% echo ____________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3,4,5,0]" -choice /C:123450 /N +"%_choice%" /C:123450 /N set _el=!errorlevel! if !_el!==6 exit /b if !_el!==5 goto :oe_changeupdchnl @@ -17670,7 +18025,7 @@ echo [0] Go Back echo ____________________________________________________________ echo: call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard [1,2,3,4,0]" -choice /C:12340 /N +"%_choice%" /C:12340 /N set _el=!errorlevel! if !_el!==5 goto :oemenu if !_el!==4 set list=SingleApps_Volume&goto :oe_editionchangepre @@ -17825,7 +18180,7 @@ echo [0] Go Back %line% echo: call :dk_color %_Green% "Choose a menu option using your keyboard:" -choice /C:AENOPJRVWLDT10 /N +"%_choice%" /C:AENOPJRVWLDT10 /N set _el=!errorlevel! if !_el!==14 goto :oemenu if !_el!==13 call :excludelist & goto :oe_editionchangefinal @@ -18252,13 +18607,13 @@ echo: if defined fixes ( call :dk_color %White% "Follow ALL the ABOVE blue lines. " call :dk_color2 %Blue% "Press [1] to Open Support Webpage " %Gray% " Press [0] to Ignore" -choice /C:10 /N +"%_choice%" /C:10 /N if !errorlevel!==1 (for %%# in (%fixes%) do (start %%#)) ) if defined terminal ( call :dk_color %_Yellow% "Press [0] key to go back..." -choice /c 0 /n +"%_choice%" /c 0 /n ) else ( call :dk_color %_Yellow% "Press any key to go back..." pause %nul1% @@ -18488,6 +18843,455 @@ if ($appIdsList.Count -gt 0) { } :getappnames: +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:CIDGenActivation + +:: To activate Windows, run the script with "/C-Windows" parameter or change 0 to 1 in below line +set _actwin=0 + +:: To activate Office XP, run the script with "/C-OfficeXP" parameter or change 0 to 1 in below line +set _actoffxp=0 + +:: To activate Office 2003, run the script with "/C-Office03" parameter or change 0 to 1 in below line +set _actoff03=0 + +:: To activate Office 2007, run the script with "/C-Office07" parameter or change 0 to 1 in below line +set _actoff07=0 + +:: To activate Plus! DME, run the script with "/C-PlusDME" parameter or change 0 to 1 in below line +set _actplusdme=0 + +:: If value is changed in above lines or parameter is used then script will run in unattended mode + +::======================================================================================================================================== + +cls +color 07 +title CIDGen Activation %masver% + +set _args= +set _elev= +set _unattended=0 + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +for %%A in (%_args%) do ( +if /i "%%A"=="-el" set _elev=1 +if /i "%%A"=="/C-Windows" set _actwin=1 +if /i "%%A"=="/C-OfficeXP" set _actoffxp=1 +if /i "%%A"=="/C-Office03" set _actoff03=1 +if /i "%%A"=="/C-Office07" set _actoff07=1 +if /i "%%A"=="/C-PlusDME" set _actplusdme=1 +) +) + +for %%A in (%_actwin% %_actoffxp% %_actoff03% %_actoff07% %_actplusdme%) do (if "%%A"=="1" set _unattended=1) + +set _actmanual=0 + +::======================================================================================================================================== + +:cidgen_menu + +if %_unattended%==0 ( +cls +if not defined terminal mode 76, 33 +title CIDGen Activation %masver% + +echo: +echo: +echo: +echo ______________________________________________________________ +echo: +echo [1] Activate - Windows +echo [2] Activate - Office XP +echo [3] Activate - Office 2003 +echo [4] Activate - Office 2007 +echo [5] Activate - Plus DME +echo _______________________________________________ +echo: +echo [6] Activate - Manually enter installation ID +echo _______________________________________________ +echo: +echo [7] Remove CIDGen Activation +echo [8] Download Office +echo [0] %_exitmsg% +echo ______________________________________________________________ +echo: +call :dk_color2 %_White% " " %_Green% "Choose a menu option using your keyboard..." +"%_choice%" /C:123456780 /N +set _el=!errorlevel! + +if !_el!==9 exit /b +if !_el!==8 start %mas%genuine-installation-media & goto :ts_menu +if !_el!==7 call :cidgen_remove & cls & goto :cidgen_menu +if !_el!==6 cls & setlocal & set "_actmanual=1" & call :cidgen_start & endlocal & cls & goto :cidgen_menu +if !_el!==5 cls & setlocal & set "_actplusdme=1" & call :cidgen_start & endlocal & cls & goto :cidgen_menu +if !_el!==4 cls & setlocal & set "_actoff07=1" & call :cidgen_start & endlocal & cls & goto :cidgen_menu +if !_el!==3 cls & setlocal & set "_actoff03=1" & call :cidgen_start & endlocal & cls & goto :cidgen_menu +if !_el!==2 cls & setlocal & set "_actoffxp=1" & call :cidgen_start & endlocal & cls & goto :cidgen_menu +if !_el!==1 cls & setlocal & set "_actwin=1" & call :cidgen_start & endlocal & cls & goto :cidgen_menu +goto :ts_menu +) + +::======================================================================================================================================== + +:cidgen_start + +cls + +if not defined terminal ( +mode 125, 32 +if exist "%SysPath%\spp\store_test\" mode 134, 32 +%psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" %nul% +) +title CIDGen Activation %masver% +setlocal EnableDelayedExpansion + +echo: +echo Initializing... +call :dk_chkmal + +set spp=SoftwareLicensingProduct +set sps=SoftwareLicensingService + +call :dk_ckeckwmic +call :dk_checksku +call :dk_product +call :dk_sppissue + +::======================================================================================================================================== + +set error= + +cls +echo: +call :dk_showosinfo + +echo Initiating Diagnostic Tests... + +set "_serv=Winmgmt" +:: Windows Management Instrumentation + +set notwinact=1 +call :dk_errorcheck + +::======================================================================================================================================== + +if "%_actwin%"=="0" goto cidgen_offxp +echo: +echo Processing Windows... + +if %winbuild% GEQ 6000 ( +%eline% +echo Unsupported OS version detected [%winbuild%]. +echo CIDGen Activation is only supported on Windows XP and Server 2003. +echo: +call :dk_color %Blue% "Use TSforge activation option from the main menu." +goto cidgen_offxp +) + +:: Check if system is permanently activated or not + +for /f "delims=" %%a in ('%psc% "(Get-WmiObject win32_WindowsProductActivation).RemainingEvaluationPeriod"') do set evalremaining=%%a +for /f "delims=" %%a in ('%psc% "(Get-WmiObject win32_WindowsProductActivation).RemainingGracePeriod"') do set graceremaining=%%a +for /f "delims=" %%a in ('%psc% "(Get-WmiObject win32_WindowsProductActivation).ActivationRequired"') do set activationrequired=%%a +if "%evalremaining%"=="2147483647" if "%graceremaining%"=="2147483647" if "%activationrequired%"=="0" ( +echo: +call :dk_color2 %_White% " " %Green% "%winos% is already permanently activated." +goto cidgen_offxp +) + +if not "%evalremaining%"=="2147483647" ( + call :dk_color %Red% "Checking Evaluation Edition [%evalremaining% days remaining]" + set fixes=%fixes% %mas%evaluation_editions + call :dk_color2 %Blue% "Help - " %_Yellow% " %mas%evaluation_editions" + set _error=1 + goto cidgen_offxp +) + +for /f "delims=" %%a in ('%psc% "((Get-WmiObject win32_WindowsProductActivation).GetInstallationID()).InstallationID"') do set iid=%%a +if "%iid%"=="" ( + call :dk_color %Red% "Getting Installation ID [Not Found]" + set _error=1 + goto cidgen_offxp +) +echo Requesting Installation ID [%iid%] +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':cidgen32.exe\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); [IO.File]::WriteAllBytes('%temp%\cidgen32.exe', $bytes) +for /f "delims=" %%a in ('"%temp%\cidgen32.exe" %iid% 0') do set cid=%%a +set ciderr=%errorlevel% +del /f /q "%temp%\cidgen32.exe" %nul% +if "%cid%"=="" ( + call :dk_color %Red% "Generating Confirmation ID [Error %ciderr%]" + set _error=1 + goto cidgen_offxp +) +echo Generating Confirmation ID [%cid%] +for /f "delims=" %%a in ('%psc% "try{((Get-WmiObject win32_WindowsProductActivation).ActivateOffline('%cid%')).ReturnValue}catch{'1'}"') do set "ret=%%a" +if not "%ret%"=="0" ( + call :dk_color %Red% "Depositing Confirmation ID [Failed]" + set _error=1 + goto cidgen_offxp +) +echo Depositing Confirmation ID [Succeeded] +for /f "delims=" %%a in ('%psc% "(Get-WmiObject win32_WindowsProductActivation).RemainingGracePeriod"') do set graceremaining=%%a +for /f "delims=" %%a in ('%psc% "(Get-WmiObject win32_WindowsProductActivation).ActivationRequired"') do set activationrequired=%%a +if "%graceremaining%"=="2147483647" if "%activationrequired%"=="0" ( +echo: +call :dk_color2 %_White% " " %Green% "%winos% is permanently activated." +goto cidgen_offxp +) +call :dk_color %Red% "The confirmation ID was accepted, but activation did not succeed." +echo %graceremaining% days grace period remaining. +goto cidgen_offxp + +::======================================================================================================================================== + +:cidgen_offxp +if "%_actoffxp%"=="0" goto cidgen_off03 +echo: +echo Processing Office XP... +%eline% +echo Automatic CIDGen Activation is not currently available for Office XP. +echo: +call :dk_color %Blue% "Manually enter installation ID from the CIDGen menu." +goto cidgen_off03 + +::======================================================================================================================================== + +:cidgen_off03 +if "%_actoff03%"=="0" goto cidgen_off07 +echo: +echo Processing Office 2003... +%eline% +echo Automatic CIDGen Activation is not currently available for Office 2003. +echo: +call :dk_color %Blue% "Manually enter installation ID from the CIDGen menu." +goto cidgen_off07 + +::======================================================================================================================================== + +:cidgen_off07 +if "%_actoff07%"=="0" goto cidgen_plusdme +echo: +echo Processing Office 2007... +%eline% +echo Automatic CIDGen Activation is not currently available for Office 2007. +echo: +call :dk_color %Blue% "Manually enter installation ID from the CIDGen menu." +goto cidgen_plusdme + +::======================================================================================================================================== + +:cidgen_plusdme +if "%_actplusdme%"=="0" goto cidgen_manual +echo: +echo Processing Plus DME... +%eline% +echo Automatic CIDGen Activation is not currently available for Plus DME. +echo: +call :dk_color %Blue% "Manually enter installation ID from the CIDGen menu." +goto cidgen_manual + +::======================================================================================================================================== + +:cidgen_manual +if "%_actmanual%"=="0" goto dk_done +echo: +echo Processing Manual Activation... +echo: + +call :dk_color %Gray% "Specify version: 1 = Windows XP / Server 2003, 2 = Office XP," +call :dk_color %Gray% " 3 = Office 2003, 4 = Office 2007, 5 = Plus! DME" +"%_choice%" /C:12345 /N +set iidtype=!errorlevel! +if not !iidtype!==1 if not !iidtype!==2 if not !iidtype!==5 ( +call :dk_color %Gray% "Enter / Paste the Product ID, or just press Enter to return:" +set /p pid= +if "!pid!"=="" goto dk_done +) else ( +set pid=00000-000-0000000-00000 +) +call :dk_color %Gray% "Enter / Paste the Installation ID, or just press Enter to return:" +set /p iid= +if "%iid%"=="" goto dk_done +call :dk_color %Gray% "Generating Confirmation ID" +%psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':cidgen32.exe\:.*';$encoded = ($f[1]) -replace '-', 'A' -replace '_', 'a';$bytes = [Con%b%vert]::FromBas%b%e64String($encoded); [IO.File]::WriteAllBytes('%temp%\cidgen32.exe', $bytes) +set /a iidtype-=1 +for /f "delims=" %%a in ('"%temp%\cidgen32.exe" !iid! !iidtype! !pid!') do set cid=%%a +set ciderr=%errorlevel% +del /f /q "%temp%\cidgen32.exe" %nul% +if "%cid%"=="" ( + call :dk_color %Red% "Error %ciderr%" + set _error=1 + goto dk_done +) +call :dk_color %Green% "%cid%" +goto dk_done + +::======================================================================================================================================== + +:cidgen_remove + +cls +if not defined terminal ( +mode 100, 30 +) +title Remove CIDGen Activation %masver% + +echo: +echo CIDGen activation doesn't modify any Windows components and doesn't install any new files. +echo: +echo Instead, it requests an installation ID (typically used for activation over the telephone), +echo and then generates the confirmation ID (normally generated by Microsoft) +echo: +call :dk_color %Gray% "If you want to reset the activation status," +call :dk_color %Blue% "%_fixmsg%" +echo: + +goto :dk_done + +::======================================================================================================================================== +:: +:: This below block of text is encoded in base64 format +:: The block in labels "cidgen32.exe" contains below file +:: +:: 4aa7dd08b60ab24ac5c95ba6dc75c0d81e96d4faf591496d30622c3eef26e390 *cidgen32.exe +:: +:: The files are encoded in base64 to make AIO version. +:: +:: stackoverflow.com/a/35335273 +:: Here you can check how to extract cidgen32.exe files from base64 +:: +:: For any further question, feel free to contact us on mass grave[.]dev/contactus +:: +::======================================================================================================================================== +:: +:: Replace "-" with "A" and "_" with "a" before base64 conversion +:: It was changed to prevent antiviruses from detecting and flagging base64 encoding + +:cidgen32.exe: +TVqQ--M----E----//8--Lg---------Q-----------------------------------------------4-----4fug4-t-nNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4g_W4gRE9TIG1vZGUuDQ0KJ---------BlpMjrIcWmuCHFprghx__4hbujuSPF +prgovSK4IMWmuCi9M7gix__4KL01uCPFprhqv_e5JMWmuCHFp7gwx__4BbqjuSDFprgFuqS5IMWmuFJpY2ghx__4----------BQRQ--T-ED-Cj6FWg----------O---wEL-Q4k-DY----K--------r0I----Q----U-----B----Q-----g--BQ-B-------F--E- +------Bw----B---------M--IU--B---B------E---E--------B---------------NxU--BQ----------------------------------------------------------------------------------------------------------------U---U------- +-----------------------------C50ZXh0----4DU----Q----Ng----Q------------------C---G-ucmRhdGE--IIG----U-----g----6------------------B---B-LmRhdGE----8-Q---G-----C----Qg------------------Q---w----------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------------------------------------------------------------------------ItEJ-iLTCQQC8iLTCQMdQmLRCQE9+HCE-BT +9+GL2ItEJ-j3ZCQU-9iLRCQI9+ED01vCE-DMzMzMzMzMzMzMzMxWi0QkF-v-dSiLTCQQi0QkDDPS9/GL2ItEJ-j38Yvwi8P3ZCQQi8iLxvdkJB-D0etHi8iLXCQQi1QkDItEJ-jR6dHb0erR2-vJdfT384vw92QkFIvIi0QkEPfm-9FyDjtUJ-x3CHIPO0QkCHYJTitE +JB-bVCQUM9srRCQIG1QkDPf_99iD2gCLyovTi9mLyIvGXsIQ-MzMzMzMzMzMzMzMgPl-cxW-+SBzBg+t0NPqw4vCM9K-4R/T6MMzwDPSw4v/VYvsVovx/xV-UE--9kUI-XQHVugXMw--WYvGXl3CB-CLRCQEPQ-Q--ByCFDoEQ---FnDhcB0CFDopDI--FnDM8DDi0Qk +BI1IIzvID4ZZEw--UeiKMg--WYvIhcl0Co1BI4Pg4IlI/MPpNjE--FOLXCQMuP///39Vi+k72Hdb_g9ZiU0Ug/sQcxdT/3QkEIldEFXomRQ--IPEDMYEKwDrNFZXUFFT6N-S--CL8I1O-VHo_////1P/dCQoi/iJXRBXiX0-iXUU6GUU--CDxBzGBB8-X15dW8II-OgP +Ew--zFWL7ItFDD0-E---chKNRQxQjUUIUOhfEg--i0UMWVlQ/3UI6Moz--BZWV3DU4tcJ-hXi/m5////fzvZd1WLRxRVVlFQU4lEJCDoTRI--IvwjU4BUejo/v//U/90JDCL6IlfEFWJdxTo5RM--ItEJDCDxBzGBCs-g/gQcgt-UP836Hv///9ZWV6JL4vHXV9bwgw- +6HcS--DMUVOL2br///9/i0wkDIvCVYtrECvFO8FybItDFFZXUo08KYlEJBxQV+jWEQ--i/CNTgFR6HH+//+DxBCJexCLfCQYjUwkHIlEJBCJcxT/dCQgVYP/EHIXizNWUOgk-Q--jUcBUFbo/v7//1lZ6wdTUOgP-Q--i0QkEF9eiQOLw11bWcIM-OjsEQ--zItUJ-gz +wFZXi/GLTCQMi/6rq6urg2YQ-INmF-CLQR-7wnInK8I7RCQUcgSLRCQUg3kUEHICiwlQjQQRi85Q6Cj+//9fi8Zewh--6KcR--DMVlf/dCQMi/EzwIv+q6urq4NmE-CDZhQ-6Jww--BZUP90JBCLzujx/f//X4vGXsIE-Fb/dCQIi/HoP----McGeFB--IvGXsIE-Fb/ +dCQIi/HoJ----McGhFB--IvGXsIE-INhB-CLwYNhC-DHQQSMUE--xwGEUE--w1_L8Y1GBMcGWFB--IMg-INgB-BQi0QkDIP-BFDooS4--FlZi8ZewgQ-xwFYUE--w1_LdCQIV4t8JBRX/3QkFFboIBI--IpEJCSDx-yIBD7GRD4B-F9ewh--9kQkB-FWi/HHBlhQQ-B0 +CmoMVuiVMQ--WVmLxl7CB-CB7Mg---BTVV_LtCTg----M9tX_gJYi86JNThhQ-CJXCRw_gFfK8sPhP8----rzw+Emg---CvPD4SS----K88PhIo----rzw+FYwE--McF6GB--INZYKDHBexgQ-CrXWoBo/BgQ-DHBfhgQ--Oqlz3xwX8YE--JE8z-McF-GF--Hu9iSjH +BQRhQ-D2LzkBxwUIYU--uC26Y8cFDGF--BgTNQHHBRBhQ--QY-B4xwUUYU--jiBT-ccFGGF--NtWYPLHBRxhQ-CUNhY-6c8---C50o9c2ccF6GB--OkfRRi47PXl-McF7GB--N1IbgHHBfBgQ--D----iQ0-YU--owRhQ-DHBQhhQ-BhH/F2xwUMYU--gvIP-McFEGF- +-OYnJhPHBRRhQ-DZK/s-61u5BDsrMscF6GB--Hkqf224BgZ--ccF7GB---Nr_gHHBfBgQ--r----xwU-YU--gVPINscFBGF---GEIQDHBQhhQ-DQKomDxwUMYU--exlE-IkNEGF--KMUYU--oxxhQ-CJDRhhQ-CJHfxgQ-CJHfhgQ-CJHfRgQ-CJPSBhQ-CJHSRhQ-CL +jCTc----i9OLw4lUJBSJRCQciVwkIIoJiVwkGITJD4RDCw--_gVdx0Qk_-c---C-+S-PhNc---C-+S0PhM4----PvsmD6TCJTCQkD4hx-g--g/kJD49o-g--O8UPhI0---CLtCTc----OF4Bi7Qk5----HRyq-F0CY0UCYlUJBzrBIlMJByLVCQc-VQkGED/RCQgg3wk +IC2LVCQUiUQkH-+H9wE--IXSdC6L8w+2RDR4_8gKi0QkJ-+2w-PIiEw0eMHpCE_JTCQkO/Jy34u0JOQ---CLRCQchMl0M4hMFHhCiVQkFOsohc-PhLIB--CLRCQYM9L3dCRoO8oPhb-B--CLVCQUi8OJXCQYiUQkHIuMJNw---BBiYwk3----IoJhMkPhQf///+LTCQg +g/kpd-mD+S0Pgi0K--CD+hNzGmoTWCvCjUwkeF-DylNR6Lgs--CLTCQsg8QMiVwkJCvzdCCD7gEPhG-B--CD7gEPhFcB--CD7gEPhE4B--CD7gF1CMdEJCRqyF7U_gSNRCQoUDP-g/kpD5X-jQRFEQ---FCNhCSE----UOhLCw--g8QQgLwkig---BByDTicJ--B---P +hKQJ--ChOGF--GoKXivDdCCD6-F0G4Po-Q+E9g---IPo-Q+E7Q---IPo-Q+Fv-M--GoTjUQkfFCNhCS0----UOj3Kw--i5Qkw----IPEDIu0JLg---CLwiX//wE-i8qjKGF--IvGD6zBEYvGgeH/-w--D6zCGw+2hCS8----iQ0sYU--geL///8-i87B4-nB6RPB7heD +4Q8L8IkVMGF--Ik1NGF--DicJ--B---PhToD--ChOGF--CvDD4QY-w--g+gBD4QG-w--SIPo-Q+FGgM--IP5BOn2-g--_gLrIzP-g3wkIC0PlMB-6bgI---5bCQcG8CD4P2Dw-Tppwg--GoDWOmfC---x0QkJFowufPpsv7//41EJBhQjYQkx----FCNhCS-----UOhj +DQ--g8QMOJwk--E--HUnoThhQ-BIg+gBdBGD6-F1F4N8JBgEdBDpUgg--IN8JBgDD4VHC---_giNhCTE----UI2EJLQ---BQ6MMq--CDx-yNRCQTjYwkl----FBVU42EJPQ---BQ6LT5//9WjYQkm----FNQ6B-m--CDx-yjKGF--I2MJJQ---DoVgs--I1EJBNQ_gNq +Bo2EJPQ---BQjUwkOOh3+f//i1QkPI10JCiLTCQog/oQcgKL8YoGhMB0Gw+2wFDodio--IgGRlmKBoT-de2LVCQ8i0wkKI1EJCiD+hBy-ovB_OhQQ-BQ6D-q--BZhcCNRCQXWVBq-42EJP-----PhfQ---BqDFCNjCSk----6-b5//9qClhQjYQkm----FNQ6F8l--CD +x-yjLGF--I2MJJQ---DopQo--I1EJBNQV2oPjYQk9----FCNTCRU6Mf4//+NRCQTUFVqEo2EJPQ---BQjYwkp----Oir+P//_gpfV41EJEhTUOgHJQ--V2nwoIYB-I2EJKQ---BTUOjyJ---g8QYjYwkl-----PGozBhQ-DoNgo--I1MJEToLQo--P81MGF--OhdCw-- +W_MwYU--jUwkRI1EJBNQ_gJXjYQk9----FDoPvj//1eNRCRIU1DonSQ--Gn-6-M---EFNGF--OmO----_gZQjUwkVOgV+P//_gpeVo1EJEhTUOhxJ---g8QMoyxhQ-CNTCRE6LoJ--CNRCQTUP90JGyNhCTw----VlCNTCRU6Nr3//9WjUQkSFNQ6Dkk--CDx-yjMGF- +-I1MJEToggk--I1EJBNQVWoSjYQk9----FCNTCRU6KT3//9WjUQkSFNQ6-Mk--CjNGF--IPEDI1MJEToT-k--I1MJCjoQwk--OseO890GunRBQ--M8CDfCQgKQ+VwIP-CTvID4W8BQ--_giNhCSw----UI2EJN----BQ6Dgo--ChLGF--JmLyIvyoShhQ--PpM4RmcHh +EQvyC8ihMGF---+kzhiZweEYC/ILyKE0YU--D6TOEZnB4REL8gvIibQkn----GoIjYQkn----ImMJJw---BQjYQk5----FDo1ic--IrLg8QYiEwkE+sCM9uhOGF--IlcJCiJXCQsiVwkMIlcJDQrw3Qcg+gBdBeD6-EPhOE---CD6-EPhNg---CD6-F1BIhMJC9qEI2E +JMw---BQjUQkMGoOUOgIBQ--/3QkRItsJED/dCREi1wkQFVT6Nsj--CDxCCL8ov4/zXsYE--/zXoYE--VlfoVfP//yvYG+qDxwGD1gBWV1ZX6FId--BSUP819GB--P818GB--Og/HQ--g8QgUlBVU1VT6DEd--CDxBBSUOjnHw--VVNVU4lEJGSJVCRo6Mwc--CJRCRs +jUQkZFCJVCR06J0R--CKTCQ3g8QkhcB1D/7BiEwkE4D5g-+G-////4D5gHYR_gZY6T-E--CITCQu6Sj///+hOGF--DPbK8N0SoPo-XQqg+gBdCWD6-F0IIPo-XVcjUQkRFBoEsYB-GgQ5uwS_MRUQnxogRFdOus0jUQkRFBojPsB-GjfcIr0_Cow4O9oQVN6H+sZjUQk +RFBo2k---GhM1DZ8_J0b4gRowSfxEI1EJFhQ6N-P--CDxBiLRCREI0QkSIs17GB--Ist6GB--IP4/3UpjUQkMFBWVYPF-hPzVlXoIQc--It0JEiDxBSLbCQwi/iJVCQY6W8C--CLTCRMi8GLVCRQI8KD+P91Uo1EJDCLzVD/dCRMg8EBi8b/dCRME8NQUejdBg--g8QU +i8gDzYlMJBQT1olUJBg71ncLcgQ7zXMFM8B-6wKLw4tsJDCLy4t0JDQD6BPx6QgC---z/4vBRyPHC8N0B-PNE9b/dCRID6zR-f90JEjR6lJRUlGJTCQsiVQkMOiGGw--g8QQUlDoPB4--IvKiUQkLFFQiUwkWOhhH---i8iJhCSE----I8qJlCSM----g8QYg/n/dWv/ +NfRgQ-D/NfBgQ-DoIxs--FJQ/3QkUP90JDDoMRs--FJQ6C-c---DxY1MJFBRE9YD71JQE/NWVegIBg--i0wkTIvoi0QkSIPEN-PoiWwkFBPRiVQkGDvRD4c3-Q--D4Iz-Q--O+jpK-E--FJQ/3QkIP90JCDolx0--IvKiUQkMFFQ/3QkeIlMJDj/dCR46L4_--BSUP+0 +JI----D/tCS-----6Gkd--D/tCSk----iUQkdP+0JK----D/dCRQ/3QkUOh-Gg--g8R-iUQkFIvKiUwkGFFQ/3Qk_P90JGjobho--FJQ/3QkcP90JHDoHx0--ItMJDyDxC-7TCQYi1QkFItMJCCJRCRscip3BDvKdiSLwYlUJCCLTCQci1QkGIlUJByL0ItEJGyJTCQY +i0wkIIlUJBQzRCR-I8cLw3QYiUwkFItMJByJVCQgi1QkGIlUJByJTCQYi1QkII1EJDBQ/3QkI-PvUhPzVlXo1QQ--It0JCiLyIPEFIvCi1QkG-POiUwkFBPCiUQkGDvCdwZyBjvOcgKL+4tsJDCLw4t0JDQD7xPwi3wkFI1EJGbHRCQcIw---IlEJBTr-jPb_gpZM9KL +xvfx_gqLyovGXjPSC8v39lNqClqL8DP-UgvFUVDonO///4voM9ILVCQYM8BQ_goLyFhQUVLohO///zPSiUQkGFJqCgvKM8B_UgvHUVDobO///4v4i0QkFIgISINsJBwBiUQkFHWSi7Qk4----I18JEYz7YXtd-TGBi1Gikf+il//BDCKTwGKVwKIBo1DMIhG-YoHBDCI +RgKNQTCIRgONQjCIRgQPtskPtsMDy-+2R/6NBEgPtsoDwTPSD7YPg8cF-8H3dCRogMIwiFYFg8YGRTtsJGhyncYG-OsKi8eL6IvFiUQkcI2MJOg---DoVQM--ItEJHBfXl1bgcTI----w4PsWFOLXCRkVYtsJGRWV9Hri/NqBIPm/F+JdCQQiXwkcGp-jUQkLGo-UOhP +Ig--oThhQ-CDx-yD6-B0HIPo-XQXg+gBD4TO----g+gBD4TF----g+gBdVBTjQQrUI1EJDBQ6-si--D/tCSE----jUQkOP+0JIQ----Dw1Do8SE--IuEJJ----CND-MCw8Dg-8ZEDEC-iEQkf4vBwe-Dg8QYwegIiEQkZo1EJBRQjUQkLFDoyBo--IvWWVk703Mbi8uL +woPh-yvBjUwkG-PIigGIRBQUQkE703L0hdt0JY10JBSL1Sv1i/uKBBYy-ooMGogEGogKQoPv-XXti3QkEIt8JHCD7wGJfCRwD4UR////X15dW4PEWMNTjQQrxkQkLHlQjUQkMVDoRiE--P+0JIQ---CNRCQ5/7Qkh-----PDUOgsIQ--i4Qkk----I0M-/7--sPGR-xB +gMDg-4hEJH+NBM0I----6TL///+D7FhTi1wkZFVWV9Hri+tqBIPl/F6JbCQQiXQkcGp-jUQkLGo-UOjnI---oThhQ-CDx-yD6-B0HIPo-XQXg+gBD4TR----g+gBD4TI----g+gBdVBT/3QkcI1EJDBQ6KMg--D/tCSE----jUQkOP+0JIQ----Dw1DoiS---IuEJJ-- +--CND-MCw8Dg-8ZEDEC-iEQkf4vBwe-Dg8QYwegIiEQkZo1EJBRQjUQkLFDoYBk--IvVWVk703Mbi8uLwoPh-yvBjUwkG-PIigGIRBQUQkE703L0hdt0KIt0JGyNfCQUK/6L64oEN40MHjIBih_IBk_IEYPt-XXsi2wkEIt0JHCD7gGJdCRwD4UO////X15dW4PEWMNT +/3QkcI1EJDHGRCQweVDo2x8--P+0JIQ---CNRCQ5/7Qkh-----PDUOjBHw--i4Qkk----I0M-/7--sPGR-xBgMDg-4hEJH+NBM0I----6S////+LRCQIi0wkBIM-I4sBi1D8K8KDwPyD+B93-4kRw+kpHg--VYvsi00Ig8kPVjtNEHcbi3UMi9_LRRDR6ivCO/B3C40E +MjvIcgeLwesDi0UQXl3DVYvsg+wMjU306Pvu//9omFN--I1F9FDoYx8--MxWi/GLRhSD+BByC0BQ/zboBO3//1lZg2YQ-MdGF-8---DGBgBew2ikUE--6Jog--DM_-RRQ-Dory---MyD7-xTVVZXM/9X/3QkKFf/dCQ06OTq//9X/3QkJIvoi/JX/3QkNIlsJCDozer/ +/1f/dCQki9iJVCQcV/90JDjouOr//4v4i8ID/RPGM+1FiUQkGDvGdw5yBjt8JBBzBolsJBDrBYNkJB--M/YD8xN8JBQ7fCQUdwZyBjvzcgIz7TPbU/90JChT/3QkOOhr6v//-0QkGItMJD-T0wPFE9MDw4kBi8YTVCQQiVEEi9dfXl1bg8QMw1WL7F_L8VeLfQw7fhR3 +JIN+FBBTi95y-oseV/91CIl+EFPoU-w--IPEDMYEOwCLxlvrEP91CMZFD-D/dQxX6-/s//9fXl3CC-CLTCQEi8FWM/_FyXQPV2oKM9Jf9/cD8oX-dfNfi8Yz0moHXvf2_8EKK8IDxl7D/3QkDP90J-z/dCQM6LId--CLRCQQg8QMw4PsKFNVVleLfCQ8jXQkEGoFW2oE +V1bojx0--IPEDIPHBIPGCIPr-XXpi1QkKDPti0QkLIvyi0wkIIPi+g+k8B2LRCQkg8oCweYdi/sPrMEDC/EL8wvqi8_L1YvP6DXq//+LTCR-g8cIi-QLQ4P/QHzli0QkRItMJBBfXl2D4QdbiQiDxCjDgeyU-Q--U1VWV41EJDBQjYQkY-E--FD/tCSw-Q--6NoY--CL +2I1EJExQjYQkh-E--IlcJDxQ/7Qkw-E--Oi7G---jYwk/----ImEJJ----BRjUwkQFGNjCRU-Q--UY1MJExRjYwkt-E--FGNTCREUY2MJKQB--BRUI2EJJQB--BQU+jJD---g8R-/3QkRP90JET/dCQ8/3QkPOhXEg--/3QkXIvwi/r/dCRciXQk_P90JFSJfCRw/3Qk +VOg2Eg--g8QgiUQkWDPbiVQkX-vCiVwkYIlcJGRq/111D-v3dQSLxesHi8Pr-zP-QI2MJOQ---BRjUwkJFGNjCTU----UY1MJDBRjYwkj----FGNTCQkUY1MJGhRUI2EJKwB--BQ/3QkPOgnD---i3QkOP+09Kg---D/tPSo----6OMR--CDxDCJRCQUiVQkHIv7hfZ+ +MYvoi9pTVf+0/Ig---D/tPyI----6NYR--CDxBCJRPx8iZT8g----Ec7/nzYM9uDzf+DfCQk-MdE/HwB----iZz8g----Iv7fDyLdCQUi2wkHFVW/7T82----P+0/Ng---DoiRE--IPEEImE/Mw---CJlPzQ----Rzt8JCR+04t0JBCDzf+DfCQg-Iv7fDuLdCQUi1wk +HFNW/7T88----P+0/P----DoRBE--IPEEImE/OQ---CJlPzo----Rzt8JCB+04t0JB-z241EJFBQVY2EJHwB--BQ/7Qkh----I2EJGwB--BQ/3QkQOgrCg--/3QkTIv4/3QkTIl8JDT/dCRk/3QkZOilEw--/3QkZImEJM----D/dCRkiZQky----P90JHz/dCR86IIT +--CJhCTU----jYQkN-E--FBVjYQk1----ImUJO----BQ_gGNhCR8-Q--UP90JHTouwk--IPEUI2MJJQ---BRVY2MJ-QB--BRUI2EJGwB--BQ/3QkQOiVCQ--jYwkr----FFQjUQkUFBq-Y2EJLQB--BQ/3QkROh0CQ--g8QwiUQkGIX-eEOL84v4/7Qk0----P+0JN-- +--D/tPSg----/7T0o----OgZE---g8QQiYT0l----ImU9Jg---BGO/d+yYt8JBSLdCQQ_jCNhCQ--Q--_PhgQ-BQ6MsZ--CNhCQI-Q--UGoFjUQkVFBq-Y1EJExQ_gHo9Qg--I2MJLg---BR/3QkQI2MJCgB--BRUI2EJBgB--BQ/3QkWOjPC---g8Q8iUQkEIX2D46Y +----jYQkN-E--FCNhCS-----UF_NRCRcUFfoswc--I1EJGQr/lCNhCSU----UF_NhCRU-Q--UFfolQc--ItEJDgr/oPEKIl8JBSFwHhNjYwkN-E--FGNjCS-----UV_NjCSg----UVDoZQc--ItEJCQrxolEJCSNBMUI----UI2EJEwB--BQjYQks----FDo6Bg--ItE +JDCDxCBTjUwkVFFXjYwko----FFQ6CIH--CDxBSL8Il0JBiD/wIPjpgB--CNhCT8----UFWNhCSc----UFZQVujoBw--i/CDxBiL64X2eG6D/QV/YP+07--B--D/tOw--Q--/zTt/GB--P807fhgQ-DoTBE--IPEEImE7Pw---CJlOw--Q--RTvufsTrJ/+07--B--D/ +tOw--Q--U1PoHxE--IPEEImE7Pw---CJlOw--Q--RTvuftWD/QV/J2oGWSvNjbwk/-----PJjTzvjTTt+GB--IHh/v//P/Oli3wkFGoGXY2EJDQB--BQjUQkVFBXjYQkC-E--FCNdf9W6DgG---r94v+iXwkKP+0/EwB--D/tPxM-Q--6MYN--CDxByJVCQoi+iL84X/ +fimL2lNV/7T0Q-E--P+09E-B--DovQ0--IPEEIlE9FCJVPRURjv3fNsz28dE9F-B----i+uJXPRUi3QkGIX2eCv/tOyY----/7Tsm----FNT6E-Q--CDxBCJhOyU----iZTsm----EU77n7VU41EJFRQV42EJK----BQVuiPBQ--g8QUiUQkGIvw_v9dg/8CD49q/v// +C+2LlCSw-Q--g/8CdVKLRCRQi0wkVIkCi0QkWIlKBItMJFyJQgiJSgyF9ngQi4Qkl----IuMJJg---DrBIvDi8uJQhCJShSD/gF8EIucJJw---CLrCSg----60eL6+tDiWoIiWoMg/8BdSuLRCRQi0wkVIkCiUoEhfZ4EIucJJQ---CLhCSY----6wKLw4l_EIlCFOsL +iSqJ_gSJ_hCJ_hSL3V+JWhheiWocXVuBxJQB--DDg+wki1QkOFOLXCQwi8NVi2wkO-vFi0QkPIlUJDSJRCQIdSgLwnUki0QkRIPJ/4kIiUgEiUgIiUgMiUgQiUgUiUgYiUgcXVuDxCTDVot0JDSLw1dqCFmNfCQUg+-B86Uz9us/jUQkFFBQUOjd+P//i0wkHIPED-+s +6wGLwYPg-dHtC8Z0BoHN----gItUJDyLww+s0QHR6oPg-YlMJBCJVCQ8C8Z0vYt8JEyNdCQU_ghZ86VfXotMJ-iLwQ+s6wGD4-HR7YPI-HQGgc0---C-D6zR-YvD0eoLxYlMJ-iJVCQ0dQqLwQvCD4RY////jUQkDFBQUOhT+P//i1QkQIvDg+-Bg8QMg8g-dKv/dCRE +jUQkEFD/dCRM6DD4//+LVCR-g8QM65CD7EBTVVZX_gxZvvhgQ-CNfCQg86WLfCRU_gRei18Ii28M/3T0LE7/dPQ0/3cE/zfoMgs--FJQ/3T0PP909Dzo4w0--P909FSJRPRE/3T0VIlU9ExVU+gMCw--UlD/dPRk/3T0ZOi9DQ--g2T0c-CDxECDZPQ0-IlE9CiJVPQs +hfZ1n/93BP83/3cE/zfoiwo--FJQUlDoggo--IPEIFJQVVNVU+i+Cg--g8QQUlDod-0--It0JDxVU1b/dCREiUQkMIlUJHTon-o--IPEIFJQ/3QkLP90JCz/dCQ0/3QkNOg4Cg--g8QQUlDoO-0--ItMJCCDxB-LTCRUi9qL6IlcJBx1UovNC8sPhKsB--BTVVNV6-YK +--BSUOgsCg--g8QYUlBW/3QkNFb/dCQ86DUK--CDxBBSUOgrCg--UlDoGgs--Ivwi9qLzoPEGCPLg/n/6QkB--D/dwz/dwj/dCQs/3QkLOj+CQ--g8QQUlD/dwT/N1b/dCQ86OoJ--CDxBBSUOigD---UlBW/3QkROjUCQ--g8QgUlD/dCQs/3QkLP90JDT/dCQ06LoJ +--CDxBBSUOhmCQ--UlDonwo--IvIg8QYI8qD+f8PhOs---BSUFJQ6EYJ--D/dCRki/CJVCQo/3QkJIl0JDDoX-k--IPEGIlEJBCLyolMJFRRUP90JBxWU1XoF-k--IPEEFJQ6FQJ--BSUOhDCg--i9qL8CPDg8QYg/j/dTn/dCRU/3QkFP90JBz/dCQk/3QkLFXo5Qs- +-IPEEFJQ6BsJ--BSUOgKCg--i9qL8CPDg8QYg/j/dFhTVlNW6LMI--BSUOjZC---g8QYUlBTVlNW6OgI--BSUP93DP93COjbC---UlD/dCRc/3QkXOiCC---g8QwUlDowgg--IlHEIPEEDP-iVcUiXcYQIlfHOsCM8BfXl1bg8R-w4PsHItMJCgzwItUJCx-U1Uz24lM +JBwhXCQQIVwkFF_LdCQsV4t8JDSJXCQUiVQkKIX/dQQ78HZ7i+hXVlJR6JHe//+JTCQ4i0wkFFFVUol0JDyL9Yl8JByL+VCJXCQw6DDe//+LbCQYi1wkHCvoi0wkMBv_iXwkHIt8JCCLVCQQiXQkGIt0JDiJXCQUhf93qnIFg/4Bd6OJbCQQi2wkJItEJBCF238Mf-SF +wHMGi0wkKOsEM+0zyV8DxV4Ty12L0VuDxBzD/3QkDP90J-z/dCQM6LgR--CLRCQQg8QMw4PsFItEJBhTi1wkJF_L8CvzV4t8JCiJdCQsD4i2----i0wkNI0Ex1WNLPeJRCQQK8+JbCQUiUwkIIN8JDg-ixCLQ-SJVCQYiUQkHHQHiRQpiUQpBDP-hdt+UYv1i/iLbCQY +i0QkNP90+-T/NPj/dCQkVehPBw--UlD/dgT/NugDCg--g8QgiQZHiVYEjXYIO/t8z4t0JDCLbCQUi0wkIIl8JCiLfCQsi0QkK-PGg+0IiWwkFIMkxwCDZMcE-E6LRCQQg+gIiXQkMIlEJBCF9g+JZP///10D83gOiwz3C0z3BHUFg+4BefJfi8ZeW4PEFMNRUYtUJ-xW +hdIPiM4---CLdCQYhfYPiMI---CLRCQgU4tcJCh-VY0sMlc7xX8lK+iNPMODJwCL94NnB-CDxwiNDO0D----wekC-+jzpYt0JCTr-41o/ylcJCCL+4tcJCBCiWwkHIlUJBQzwIvviUQkEItMJCj/dMEE/zTB/3Q7BP80O+hNBg--UlD/dQT/dQDo9gU--IlF-IPEIItE +JBCNbQh-iVX8iUQkEDvGfsOLbCQcg8cIg2wkF-GLxYlsJBx1p4tcJDCFwHgOiwzDC0zDBHUFg+gBefJfXVvrBItEJCBeWVnDgey0----U1VWV4usJOw---CDyf8z9olMJBiLxol0JBSJRCRMM9KJhCSQ----QolEJCyL2YmEJJQ---CJRCRQiYQkm----IlEJFSJhCSc +----iUQkWImEJK----CJRCRciYQkp----IuEJOQ---CJVCRgiZQkq----Il0JByJEIlwBIlwCIlwDIlwEIlwFIvGiXU-iXUEiXUIiXUMiXUQiXUUi7Qk3----IlEJGSJhCSs----iUQk_ImEJL----CJRCRsiYQkt----IlEJHCJhCS4----iUQkdImEJLw---CLhCTU +----i7wky----IlcJBCLU-SLCIlMJDSJVCQ4iUwkeItICIlUJHyLU-yJTCQ8iVQkQImMJI----CLSBCLQBSJlCSE----i5Qkz----IlMJESJRCRIiYwki----ItKBImEJIw---CL-okGiU4Ei0IIi0oMiUYIiU4Mi0IQi0oUiUYQiU4U6cQD---7zw+OtwE--IsWi8GL +TCQUibwk0----Iv4i0QkGIlEJBSLRCQciUQkEItEJDSJBotEJDyJXCQci14EiUwkGItMJDiJTgSLTCR-iVQkNIlUJHiLVgiJRgiLRCREiVwkOIlcJHyLXgyJTgyLTCRIiVQkPImUJI----CLVhCJRhCLRCRMiVwkQImcJIQ---CLXhSJThSLTCQsiVQkRImUJIg---CL +lCTk----iVwkSImcJIw---CJvCTI----ixqL_gSJXCRMiZwkk----IvdiUoEi0wkVIlsJCyL_gyJSgyLTCRciQKLRCRQiWwkVImsJJw---CL_hSJnCSU----i1oIiUIIi0QkWIlsJFyJrCSk----i6wk7----IlcJFCJnCSY----i1oQiUIQi0QkYIlKFItV-ItMJGSJ +XCRYiZwko----ItdBIlUJGCJXCRkiZQkq----ItVCImcJKw---CLXQyJTQSLTCRsiUU-i0Qk_IlcJGyJnCS0----i10UiU0Mi0wkdIlUJGiJlCSw----i1UQiUUIi0QkcIlcJHSJnCS8----i1wkEIlUJHCJlCS4----iUUQiU0U6QUC--D/dMx8i8f/dMx8K8GJRCQo +6JIC--BSUP90/gT/NP7ooQI--INkJDw-g8QYg7wk0-----CJRCQwiVQkKHJni0QkIIusJN----CLfCQki1wkMI0MxomMJM----CL8f90/Hz/dPx8UlPoWQI--FJQ/3YE/zboDQU--IPEIIlWBItUJChHiQ_Ndgg7/X7Ri7Qk3----Iu8JMg---CLXCQQi6wk7----IX/ +eBWLBP4LRP4EdQWD7wF58om8JMg---CDZCQk-IN8JBg-fGqLhCTk----i0wkIIt0JCSLfCQYi1wkMI0syP+09JQ---D/tPSU----UlPoz-E--FJQ/3UE/3U-6H8E--CDxCCJVQSLVCQoRolF-I1tCDv3fsmLtCTc----i7wky----ItcJBCLrCTs----i0wkGItEJC-D +yItUJBQ70X0Gi9GJVCQUhdJ4HYuMJOQ---CLBNELRNEEdQWD6gF58otEJCCJVCQUg2QkJ-CLTCQchcl4ZYt8JDCNNMU-----i1wkK-P1i2wkJP+07Kw---D/tOys----U1foIQE--FJQ/3YE/zbo1QM--IPEIIkGRYlWBI12CDtsJBx+zYu0JNw---CLvCTI----i1wk +EIusJOw---CLTCQci0QkI-PBO9h9BovYiVwkEIXbeBOLRN0-C0TdBHUFg+sBefGJXCQQi4wk0----IXJD4kt/P//i4Qk2----ItMJBSJOIuEJO----BfXl2JCIuEJNw---CJGFuBxLQ---DDVYvsUYtREDtRFHMbg3kUEI1C-YlBEHICiwmKRQiIBBHGRBEB-OsR/3UI +xkX8-P91/GoB6LbY///JwgQ-i0QkB-NEJ-yLVCQIE1QkEDsV7GB--HIUiw3oYE--dwQ7wXIIK8EbFexgQ-DD/zXsYE--/zXoYE--/3QkEP90JBDoYPf//4PEEMNVi+xRUVZXjUX4UP91FP91EP91DP91COjY6v///3X8i/qL8P91+FdW6C8G--CDxCT/NexgQ-D/Nehg +Q-BSUOit1f//K/CLxhv6i9dfXsnDUV_LdCQYV4t8JBiLxwvGdQh-M9Lpig---IvHU4tcJBSD4-GDy-BVi2wkHHUgVVNVU+h7////D6z3-YPEEIvYi8/R7oPh-Yvqg8k-dOCLy4vV6y5VU1VT6FX///+L2IPEEIvHi+qD4-GDy-B0HlVT/3QkGP90JCzoNf///4PEEIvI +iUwkIIlUJBDrCItMJCCLVCQQD6z3-YvH0e4LxnW0XYvBW19eWcOD7CRTi1wkMFWLbCQwi8ULw3UHM9LpqgE--F_LNexgQ--zyVeLPehgQ--z0oPH/4lMJBCLx4lUJBSD1v+D4-ELwnUeg8EBg9I-D6z3-YvH0e6D4-GDy-B06olUJBSJTCQQVlf/NfRgQ-D/NfBgQ-Do +5f7//4PH/4lEJCyJVCQog9b/D6z3-dHuVldTVejI/v//g8Qgi/KL+FZXVldTVehn/v//g8QQUlDoXf7//1ZXU1WJRCR-iVQkWOhM/v//i0wkWIvwi0QkQIv6g8QgiXQkJIl8JCjptw---DP2i9Ez/1JQUoPG-VCD1wDoG/7//4PEEIP4-XXphdJ15YtMJBCJfCQwiXQk +LDvxdQo7fCQUD4Sn----M8-rzkBJ0+CZUlD/dCQg/3QkKOgs/v//i/KL+FZXVlfo0P3//4tMJExWV/90JFCJRCRIi0QkXP90JFCJVCRIiUwkQIlEJEToqf3///90JEiL+ovw/3QkUItUJHCLRCRYUlCJdCRkiXwk_OiG/f//i8qJRCRgg8R-iUwkOIP4-Q+FQP///4XJ +D4U4////V1ZXVuhf/f//g8QQO8V1CjvTdQ_LxovX6w_DyP+Dyv9fXl1bg8Qkw1WL7ItNCItFDIvQVot1ECvOG1UUO0UUdxNyBTl1CHMM-w3oYE--ExXsYE--i8FeXcOB7F-B--CLlCRU-Q--U1VWM9vHRCQM8OHSw1e9-SNFZ4lcJBy+i_vN7792VDIQg8ICD7ZK/g+2 +Qv/B4QgLy-+2-sHhCI1SB-vID7ZC/cHhC-vIiUycIEOD+xBy1Wp-jUwkLLv+3LqYWotBLDNBGDNB+DMBjUkE0cCJQTSD6gF16OsEi3QkGIvOi8P30SPGI8+L1QvIwcIFi0QkE-PRi0wkHIl8JBCL+4vewcsC-1SMI-PCi9VqFEGJVCQcXolMJByNqJl5glo7znK4x0Qk +FCg---CLx4vNM8PBwQUzwgPIi0QkE-NMtCCJfCQQi/uL2ovVj_ih69luwcsC-+lGg/4octCJVCQYx0QkHDw---CLdCQYi8sLzovDI8YjzwvIi9WLRCQUwcIF-0yEIItEJB-F3Lwbj4l8JB-Dwov7-8GL1YvoiVQkGItEJBSL3sHL-kCJRCQUg/g8crWLdCQQi8eJfCQU +i3wkHDPDM8KLzcHBBQXWwWLK-86LdCQU-0S8I-PIi8OL2olMJBiL1cHL-ovpiUQkFIvPQYlMJByD+VBywwV2VDIQgep3VDIQiUQkFIvNgcEBI0VniVQkGIuUJGgB--CLwcHoGIHr-iNFZ4HuEB4tPF+I-ovBwegQiEIBi8HB6-iIQgKISgOLTCQUi8HB6BiIQgSLwcHo +EIhCBYvBwegIiEIGi8PB6BiIQgiLw8HoEIhCCYvDwegIiEIKiEoHi0wkEIvBwegYiEIMi8HB6BCIQg2LwcHoCIhCDohKD4vOi8GJdCQMwegYiEIQi8HB6BCIQhGLwV7B6-hdiFoLiEISiEoTW4HEU-E--MNVi+xRVlfodQQ--It1CIv4g34UEHICizb/dRCDJwCNRfxQ +VuiIB---i038g8QMi9-78XQWgz8idBuLRQyFwHQEK86JCF+Lwl7Jw2i0UE--6L-F--BozFB--OjmBQ--zFWL7FNWi3UQV4t9CItHCCNHDIsPi18Eg/j/dDuLVQxq-okKiVoEi0cIi08Mg2IU-IlCCIlKDMdCE-E---CLRxCLTxSJBolOBItHGItPHIlGCIlODFjrQ4vB +I8OD+P+LRQx0HYlYBDPbQ4kIiVgIM9KJU-yLRxCLTxSJBolOBOsSM9LH--E---CJU-SL2okWiVYEiVYIi8OJVgxfXltdw4PsGFOLXCQgVot0JChXiz04YU--i8eD6-B0NoPo-XQgg+gBdBuD6-F0FoPo-XU7jUQkDFBoNk1cLGjwlKVU6yCNRCQMUGik5KhP_Erk2gzr +D41EJ-xQ_KGmT2Boh2o0xlZT6DHk//+DxBSLx1WD6-B0QIPo-XQqg+gBdCWD6-F0IIPo-XURjUQkIFBobNMC-GilThpp6yqLbCQki1wkIOsujUQkIFBor8sC-Gi+m6US6w+NRCQgUGhR0wI-_ItP0MZWU+jQ4///g8QUi9iL6ovHg+g-dECD6-F0KoPo-XQlg+gBdCCD +6-F1EY1EJBhQ_DZNXCxo8JSlVOsqi1QkJItEJCDrMI1EJBhQ_KTkqE9oSuT_DOsPjUQkGFBoo_ZPYGiH_jTG/3QkRP90JEToZuP//4PEF-PDE9Uz9kY71XcKcgQ7w3MEi97r-jPbM+0DRCQQE1QkFDtUJBR3DHIGO0QkEHMEi8br-jP-M8kD2BPp-1wkGBNsJBwDXCQg +E2wkJCv5dECD7wF0KoPv-XQlg+8BdCCD7wF1EY1EJCBQ_GzT-gBopU4__esqi1QkJItEJCDrMI1EJCBQ_K/L-gBovpulEusPjUQkIFBoUdMC-GiLT9DG/3QkRP90JETouOL//4PEF-PDE9U71V13BnIGO8Ny-jP2M8kDdCQcXxNMJBwPpPEWweoKweYWC/KL0YvGXluD +xBjDi0EEhcB1BbhgUE--w2oE/3QkCP90JBDoVwE--IPEDMPC--BoFwQ-wOhq-Q--zIPs_FNVVleNRCQQUP8V-FB--FD/FQhQQ-CLTCQQi/CD+QN0DIP5BHQH_v/oOQE--DP-jXwkLKsz22oPX_urq4lcJDyL+4lsJECIXCQsi1YEZjk_dCGLww+2BBCNTCQsUOh29v// +i1YER40EP2Y5HBB15YtMJB-zwI18JBSrq6uriVwkJIlsJCiIXCQUg/kEdSmLRgyL+2Y5GHQ2i8sPtgQBjUwkFFDoMPb//4tGDEeNDD9mORwBdeXrF7/sUE--V+iY----WVBXjUwkHOg64v//g3wkKBCNRCQUcgSLRCQUg3wkQBCNfCQscgSLfCQsU4PsGIvMUOipz/// +_gpT/3YI6F0---CDx-xQjUQkZFBX6IHQ//+DxCiFwHQGUOkJ////jUQkRFDoDQ---FlT6fj+////JURQQ-D/JShQQ-D/JRBQQ-D/JRRQQ-D/JRhQQ-D/JRxQQ-D/JSBQQ-D/JSRQQ-D/JUhQQ-D/JSxQQ-D/JTBQQ-D/JTRQQ-D/JThQQ-D/JTxQQ-BVi+xRUYtFCF_L +8YlF+I1F+MZF/-GNVgTHBlhQQ-CDIgCDYgQ-UlDoLP7//1lZi8ZeycIE-FWL7Fb/dQiL8ehTz///xwYwUU--i8ZeXcIE-FWL7FFW/3UIi/GJdfzonv///8cGMFF--IvGXsnCB-BVi+xW/3UIi/HoGc///8cGPFF--IvGXl3CB-BVi+xRVv91CIvxiXX86GT////HBjxR +Q-CLxl7JwgQ-VYvsVv91CIvx6N/O///HBiRRQ-CLxl5dwgQ-VYvsVv91CIvx6MTO///HBkhRQ-CLxl5dwgQ-VYvsUVb/dQiL8Yl1/OgP////xwZIUU--i8ZeycIE-I1BBMcBWFB--FDoXv3//1nDVYvsVovxjUYExwZYUE--UOhH/f//9kUI-Vl0CmoMVuhp----WVmL +xl5dwgQ-VYvsg+wMjU30/3UI6-P///9oDFR--I1F9FDomf7//8xVi+yD7-yNTfT/dQjoHf///2hkVE--jUX0UOh5/v//zFWL7IPsDI1N9P91COhS////_KBUQ-CNRfRQ6Fn+///MVYvs/3UI6FP+//9ZXcM------------------------------------------HxV +--------YFY-------C0VQ--vlU--MhV--DSVQ--3FU--OZV--CsVQ--+lU---JW---MVg--FlY--DhW--BIVg--nFU--PBV-------------FBRQ--lFE--gUJ--FVu_25vd24gZXhjZXB0_W9u----mFF--CUUQ-CBQk--5FF--CUUQ-CBQk--YmFkIGFycmF5IG5l +dyBsZW5ndGg-----c3Ry_W5nIHRvbyBsb25n-GludmFs_WQgc3Rv_SBhcmd1bWVud----HN0b2kgYXJndW1lbnQgb3V0IG9mIHJhbmdl--BPRU0-MD-wMD-tMD-wLT-wMD-wMD-tMD-wMD--_W52YWxpZCBzdHJpbmcgcG9z_XRpb24-/xB--DRSQ-BFRU--gUJ--IBS +Q-BFRU--gUJ--NBSQ-BFRU--gUJ--CBTQ-BFRU--gUJ------------------ERgQ-BkUU-------------B----dFF--HxRQ-------RGB-------------/////w----B-----ZFF------------------ChgQ-CsUU-------------C----vFF--MhRQ-B8UU-- +-----ChgQ--B---------P////8-----Q----KxRQ-------------------YE--+FF--------------w----hSQ--YUk--yFF--HxRQ--------GB---I---------/////w----B-----+FF------------------IRgQ-BIUk-------------C----WFJ--GRS +Q-B8UU-------IRgQ--B---------P////8-----Q----EhSQ-----------------BgYE--lFJ--------------w---KRSQ-C0Uk--ZFJ--HxRQ-------YGB---I---------/////w----B-----lFJ------------------KRgQ-DkUk-------------D---- +9FJ---RTQ-BkUk--fFF-------CkYE---g--------D/////-----E----DkUk------------------xGB--DRTQ-------------M---BEU0--VFN--GRSQ-B8UU-------MRgQ--C---------P////8-----Q----DRTQ--Y-----o-Cg-----------iFM--B-- +---hEQ--wTI--DZE--Cq-Q-------PUTQ-------qFN---M---C4U0--1FN--PBTQ--------GB-------D/////------w---CcE0--E----ChgQ-------/////w-----M----hBN-------BEYE-------P////8-----D----MwTQ-------NEV--------cVE-- +-w---CxUQ-BIVE--8FN-------BgYE-------P////8-----D----GtEQ-------hGB-------D/////------w---DfRE-------DRFQ-------dFR---M---CEVE--SFR--PBTQ-------pGB-------D/////------w---ClRE-------DRFQ-------sFR---M- +--D-VE--SFR--PBTQ-------xGB-------D/////------w---D6RE--LFU-------------jlU---BQ---8VQ-------------sVg--EF---DRV-------------HZW---IU-----------------------------B8VQ-------GBW--------tFU--L5V--DIVQ-- +0lU--NxV--DmVQ--rFU--PpV---CVg--DFY--BZW---4Vg--SFY--JxV--DwVQ-------OsBR2V0Q29tbWFuZExpbmVX-EtFUk5FTDMyLmRsb---Eg-/PzJ-WUFQQVhJQFo--PcEcHV0cw--VgFfZXJybm8--OoEbWVtY3B5--DsBG1lbW1vdmU-7gRtZW1zZXQ--BQF +c3RyY21w---cBXN0cmxlbg--_-V3Y3N0b2w--I8EZXhpd---KgVzdHJ0b2w--DoFdG91cHBlcgBj-F9DeHhU_HJvd0V4Y2VwdGlvbg--bXN2Y3J0LmRsb---F--/PzN-WUFYUEFYQFo--BE-Pz8xdHlwZV9pbmZvQEBVQUV-WFo---k-Q29tbWFuZExpbmVUb0FyZ3ZX +--BTSEVMTDMyLmRsb--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------HFF--------uP0FWYmFkX2FycmF5X25ld19sZW5ndGh-c3RkQE---BxRQ-------Lj9BVmJh +ZF9hbGxvY0BzdGR-Q--cUU-------C4/QVZleGNlcHRpb25-c3RkQE--HFF--------uP0FW_W52YWxpZF9hcmd1bWVudEBzdGR-Q---HFF--------uP0FWbG9n_WNfZXJyb3J-c3RkQE-----cUU-------C4/QVZsZW5ndGhfZXJyb3J-c3RkQE---BxRQ------- +Lj9BVm91dF9vZl9yYW5nZUBzdGR-Q--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-----------= +:cidgen32.exe: + ::======================================================================================================================================== :: :: Leave empty line below