7 Commits

Author SHA1 Message Date
ManuelGil
f4b64047eb Update README.md 2020-11-02 16:39:56 -05:00
ManuelGil
7cb1f92d65 Update README.md 2020-11-02 16:38:14 -05:00
ManuelGil
11d6973430 Update version 10.5.4.1 2020-11-02 16:33:46 -05:00
ManuelGil
3a9e4b99c8 Update version 10.5.3.7 2019-06-03 22:26:02 -05:00
ManuelGil
2c88f81580 Update Regedit Backup 2019-04-25 22:49:48 -05:00
ManuelGil
87ff52faf5 Delete aka.ms/startmenuTS 2019-04-18 17:28:37 -05:00
ManuelGil
e54838386c Update README.md 2019-02-15 22:32:02 -05:00
2 changed files with 315 additions and 224 deletions

402
README.md
View File

@@ -3,7 +3,7 @@
</div>
<div align="center">
<a href="http://wureset.com/">
<a href="https://wureset.com/downloads.php" target="_blank">
<img src="https://github.com/ManuelGil/Reset-Windows-Update-Tool/blob/master/docs/images/wureset.png?raw=true" alt="Logo" height="300" width="300">
</a>
</div>
@@ -13,13 +13,13 @@
<img src="https://img.shields.io/badge/stability-frozen-blue.svg" alt="Status">
</a>
<a href="#changelog">
<img src="https://img.shields.io/badge/release-v10.5.3.6-blue.svg" alt="Version">
<img src="https://img.shields.io/badge/release-v10.5.4.1-blue.svg" alt="Version">
</a>
<a href="#changelog">
<img src="https://img.shields.io/badge/update-juny-yellowgreen.svg" alt="Update">
<img src="https://img.shields.io/badge/update-november-yellowgreen.svg" alt="Update">
</a>
<a href="https://gallery.technet.microsoft.com/scriptcenter/Reset-Windows-Update-Agent-d824badc">
<img src="https://img.shields.io/badge/downloads-%2B500K-green.svg" alt="License">
<a href="https://gallery.technet.microsoft.com/scriptcenter/Reset-Windows-Update-Agent-d824badc" target="_blank">
<img src="https://img.shields.io/badge/downloads-%2B570K-green.svg" alt="License">
</a>
<a href="#license">
<img src="https://img.shields.io/badge/license-MIT%20License-green.svg" alt="License">
@@ -34,208 +34,278 @@
<br />
<div align="center">
<a href="https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet">
<img src="https://github.com/ManuelGil/Reset-Windows-Update-Tool/blob/master/docs/images/Windows-Update.png?raw=true" alt="Lifecycle">
<img src="https://github.com/ManuelGil/Reset-Windows-Update-Tool/blob/master/docs/images/lifecycle.png?raw=true" alt="Lifecycle">
</a>
</div>
<br />
This script reset the Windows Update Components.
<a name="started"></a>
- Wiki: [:us:] [:es:] [:it:] [:brazil:] [:fr:] [:de:]
- Issues: [Issue Tracker](https://github.com/ManuelGil/Reset-Windows-Update-Tool/issues)
## :traffic_light: Getting Started
This page will help you get started with Reset Windows Update Tool (Script).
<a name="requirements"></a>
### Requirements
* Microsoft Windows XP or later
- Microsoft Windows XP or later
<a name="installation"></a>
### Installation
* This file don't require installation
- This file don't require installation
## :gift: Donate!
[Click here for donation options!](https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki/Donate)
<a name="changelog"></a>
## :information_source: Changelog
**10.5.4.1** (11/02/2020) [5 Years Celebration](https://wureset.com)
- <table border="0" cellpadding="4">
<tr>
<td>
Requirements:
</td>
<td>
Windows 8, Windows 8.1 and Windows 10
</td>
</tr>
<tr>
<td>
Filename:
</td>
<td>
ResetWUEng.cmd
</td>
</tr>
<tr>
<td>
Changes:
</td>
<td>
<ul>
<li>
Old Windows compatibility removed
</li>
<li>
Add Reset Windows Store command
</li>
<li>
Removed the standalone diagnostic tool
</li>
</ul>
</td>
</tr>
</table>
**10.5.3.7** (06/04/2019)
- <table border="0" cellpadding="4">
<tr>
<td>
Requirements:
</td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
Filename:
</td>
<td>
ResetWUEng.cmd
</td>
</tr>
<tr>
<td>
Changes:
</td>
<td>
<ul>
<li>
Add the standalone diagnostic tool <a href="https://go.microsoft.com/fwlink/?linkid=870142" target="_blank">SetupDiag</a>
</li>
</ul>
</td>
</tr>
</table>
**10.5.3.6** (06/07/2018) [+500K Downloads Celebration](https://gallery.technet.microsoft.com/scriptcenter/Reset-Windows-Update-Agent-d824badc)
* <table border="0" cellpadding="4">
<tr>
<td><strong>
Requirements:
</strong></td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
<strong>Filename:</strong>
</td>
<td>
<a href="https://github.com/ManuelGil/Script-Reset-Windows-Update-Tool">
ResetWUEng.cmd
</a>
</td>
</tr>
<tr>
<td>
<strong>Changes:</strong>
</td>
<td>
<ul>
<li>
Verification of services restore
</li>
<li>
Force Group Policy Update.
</li>
</ul>
</td>
</tr>
</table>
- <table border="0" cellpadding="4">
<tr>
<td>
Requirements:
</td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
Filename:
</td>
<td>
ResetWUEng.cmd
</td>
</tr>
<tr>
<td>
Changes:
</td>
<td>
<ul>
<li>
Verification of services restore
</li>
<li>
Force Group Policy Update.
</li>
</ul>
</td>
</tr>
</table>
**10.5.3.5** (12/22/2017)
* <table border="0" cellpadding="4">
<tr>
<td><strong>
Requirements:
</strong></td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
<strong>Filename:</strong>
</td>
<td>
<a href="https://github.com/ManuelGil/Script-Reset-Windows-Update-Tool">
ResetWUEng.cmd
</a>
</td>
</tr>
<tr>
<td>
<strong>Changes:</strong>
</td>
<td>
<ul>
<li>
Link to official website
</li>
</ul>
</td>
</tr>
</table>
- <table border="0" cellpadding="4">
<tr>
<td>
Requirements:
</td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
Filename:
</td>
<td>
ResetWUEng.cmd
</td>
</tr>
<tr>
<td>
Changes:
</td>
<td>
<ul>
<li>
Link to official website
</li>
</ul>
</td>
</tr>
</table>
**10.5.3.4** (11/27/2017)
* <table border="0" cellpadding="4">
<tr>
<td><strong>
Requirements:
</strong></td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
<strong>Filename:</strong>
</td>
<td>
<a href="https://github.com/ManuelGil/Script-Reset-Windows-Update-Tool">
ResetWUEng.cmd
</a>
</td>
</tr>
<tr>
<td>
<strong>Changes:</strong>
</td>
<td>
<ul>
<li>
Correction of texts in the menus
</li>
<li>
Verification of errors in the hard disk
</li>
<li>
Checking when renaming the 'SoftwareDistribution' folder
</li>
</ul>
</td>
</tr>
</table>
- <table border="0" cellpadding="4">
<tr>
<td>
Requirements:
</td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
Filename:
</td>
<td>
ResetWUEng.cmd
</td>
</tr>
<tr>
<td>
Changes:
</td>
<td>
<ul>
<li>
Correction of texts in the menus
</li>
<li>
Verification of errors in the hard disk
</li>
<li>
Checking when renaming the 'SoftwareDistribution' folder
</li>
</ul>
</td>
</tr>
</table>
**10.5.3.3** (07/23/2017)
* <table border="0" cellpadding="4">
<tr>
<td><strong>
Requirements:
</strong></td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
<strong>Filename:</strong>
</td>
<td>
<a href="https://github.com/ManuelGil/Script-Reset-Windows-Update-Tool">
ResetWUEng.cmd
</a>
</td>
</tr>
<tr>
<td>
<strong>Changes:</strong>
</td>
<td>
<ul>
<li>
Compatibility with all versions of Windows 10
(includes technical preview)
</li>
</ul>
</td>
</tr>
</table>
- <table border="0" cellpadding="4">
<tr>
<td>
Requirements:
</td>
<td>
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1
and Windows 10
</td>
</tr>
<tr>
<td>
Filename:
</td>
<td>
ResetWUEng.cmd
</td>
</tr>
<tr>
<td>
Changes:
</td>
<td>
<ul>
<li>
Compatibility with all versions of Windows 10
(includes technical preview)
</li>
</ul>
</td>
</tr>
</table>
<a name="contributing"></a>
## :octocat: Contributing [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](https://github.com/ManuelGil/Reset-Windows-Update-Tool/issues)
Please read [CONTRIBUTING.md](https://github.com/ManuelGil/Reset-Windows-Update-Tool/blob/master/CONTRIBUTING.md)
for details on our code of conduct.
for details on our code of conduct.
<a name="Donate"></a>
## :gift: Donate!
If you want to help me to continue this project, you might donate via PayPal.
<a href="https://paypal.me/ManuelFGil"><img src="https://www.paypalobjects.com/webstatic/en_US/i/btn/png/btn_donate_92x26.png" alt="Donate via PayPal"></a>
<a name="authors"></a>
## :eyeglasses: Authors
* **Manuel Gil** - *Initial work* - [ManuelGil](https://github.com/ManuelGil)
- **Manuel Gil** - _Owner_ - [ManuelGil](https://github.com/ManuelGil)
See also the list of [contributors](https://github.com/ManuelGil/Script-Reset-Windows-Update-Tool/contributors)
who participated in this project.
who participated in this project.
<a name="license"></a>
## :memo: License
Reset Windows Update Tool (Script) is licensed under the MIT License - see the
[MIT License](https://opensource.org/licenses/MIT) for details.
[MIT License](https://opensource.org/licenses/MIT) for details.
[:us:]: https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki
[:es:]: https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki/Home-%5Bes%5D
[:it:]: https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki/Home-%5Bit%5D
[:brazil:]: https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki/Home-%5Bbr%5D
[:fr:]: https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki/Home-%5Bfr%5D
[:de:]: https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki/Home-%5Bde%5D

View File

@@ -2,8 +2,7 @@
:: NAME: Reset Windows Update Tool.
:: DESCRIPTION: This script reset the Windows Update Components.
:: AUTHOR: Manuel Gil.
:: VERSION: 10.5.3.6 [+500K Downloads Celebration]
:: WEBSITE: http://wureset.com
:: VERSION: 10.5.4.1 - Date: 11/02/2020
:: ==================================================================================
@@ -13,7 +12,7 @@
:mode
echo off
title Reset Windows Update Tool.
mode con cols=78 lines=32
mode con cols=90 lines=36
color 17
cls
@@ -55,58 +54,43 @@ goto :eof
:: void getValues();
:: /************************************************************************************/
:getValues
for /f "tokens=4-5 delims=[] " %%a in ('ver') do set version=%%a%%b
for %%a in (%version%) do set version=%%a
for /f "tokens=4 delims=[] " %%a in ('ver') do set version=%%a
if %version% EQU 5.1.2600 (
:: Name: "Microsoft Windows XP"
set name=Microsoft Windows XP
:: Family: Windows 5
set family=5
:: Compatibility: Yes
set allow=Yes
) else if %version% EQU 5.2.3790 (
:: Name: "Microsoft Windows XP Professional x64 Edition"
set name=Microsoft Windows XP Professional x64 Edition
:: Family: Windows 5
set family=5
:: Compatibility: Yes
set allow=Yes
) else if %version% EQU 6.0.6000 (
if %version% EQU 6.0.6000 (
:: Name: "Microsoft Windows Vista"
set name=Microsoft Windows Vista
:: Family: Windows 6
set family=6
:: Compatibility: Yes
set allow=Yes
:: Compatibility: No
set allow=No
) else if %version% EQU 6.0.6001 (
:: Name: "Microsoft Windows Vista SP1"
set name=Microsoft Windows Vista SP1
:: Family: Windows 6
set family=6
:: Compatibility: Yes
set allow=Yes
:: Compatibility: No
set allow=No
) else if %version% EQU 6.0.6002 (
:: Name: "Microsoft Windows Vista SP2"
set name=Microsoft Windows Vista SP2
:: Family: Windows 6
set family=6
:: Compatibility: Yes
set allow=Yes
:: Compatibility: No
set allow=No
) else if %version% EQU 6.1.7600 (
:: Name: "Microsoft Windows 7"
set name=Microsoft Windows 7
:: Family: Windows 7
set family=7
:: Compatibility: Yes
set allow=Yes
:: Compatibility: No
set allow=No
) else if %version% EQU 6.1.7601 (
:: Name: "Microsoft Windows 7 SP1"
set name=Microsoft Windows 7 SP1
:: Family: Windows 7
set family=7
:: Compatibility: Yes
set allow=Yes
:: Compatibility: No
set allow=No
) else if %version% EQU 6.2.9200 (
:: Name: "Microsoft Windows 8"
set name=Microsoft Windows 8
@@ -155,7 +139,7 @@ goto :eof
echo. Can this using a business or test version.
echo.
echo. if not, verify that your system has the correct security fix.
echo.
echo.Press any key to continue . . .
@@ -238,12 +222,14 @@ goto :eof
echo. 10. Cleans up the superseded components.
echo. 11. Deletes any incorrect registry values.
echo. 12. Repairs/Resets Winsock settings.
echo. 13. Force Group Policy Update.
echo. 13. Forces Group Policy Update.
echo. 14. Searches Windows updates.
echo. 15. Explores other local solutions.
echo. 16. Explores other online solutions.
echo. 17. Downloads the Diagnostic Tools.
echo. 18. Restarts your PC.
echo. 15. Resets the Windows Store.
echo. 16. Finds the Windows Product Key.
echo. 17. Explores other local solutions.
echo. 18. Explores other online solutions.
echo. 19. Downloads the Diagnostic Tools.
echo. 20. Restarts your PC.
echo.
echo. ?. Help. 0. Close.
echo.
@@ -281,12 +267,16 @@ goto :eof
) else if %option% EQU 14 (
call :updates
) else if %option% EQU 15 (
call :local
call :wsreset
) else if %option% EQU 16 (
call :online
call :productKey
) else if %option% EQU 17 (
call :diagnostic
call :local
) else if %option% EQU 18 (
call :online
) else if %option% EQU 19 (
call :diagnostic
) else if %option% EQU 20 (
call :restart
) else if %option% EQU ? (
call :help
@@ -297,9 +287,9 @@ goto :eof
echo.Press any key to continue . . .
pause>nul
)
goto menu
goto :eof
goto :eof
:: /*************************************************************************************/
@@ -445,10 +435,10 @@ goto :eof
:: ----- Reset the BITS service and the Windows Update service to the default security descriptor -----
call :print Reset the BITS service and the Windows Update service to the default security descriptor.
sc.exe sdset wuauserv D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset bits D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset cryptsvc D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset trustedinstaller D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset wuauserv D:(A;CI;CCLCSWRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOSDRCWDWO;;;WD)
sc.exe sdset bits D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
sc.exe sdset cryptsvc D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SO)(A;;CCLCSWLORC;;;AC)(A;;CCLCSWLORC;;;S-1-15-3-1024-3203351429-2120443784-2872670797-1918958302-2829055647-4275794519-765664414-2751773334)
sc.exe sdset trustedinstaller D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRRC;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;SAFA;WDWO;;;BA)
:: ----- Reregister the BITS files and the Windows Update files -----
call :print Reregister the BITS files and the Windows Update files.
@@ -738,10 +728,14 @@ goto :eof
set now=%%a%%b%%c%%d%time:~0,2%%time:~3,2%
)
:: ----- Create a backup of the Registry -----
call :print Making a backup of the Registry in: %USERPROFILE%\Desktop\Backup%now%.reg
if not exist "%USERPROFILE%\Desktop\Backup\Regedit\%now%\" (
mkdir "%USERPROFILE%\Desktop\Backup\Regedit\%now%\"
)
if exist "%USERPROFILE%\Desktop\Backup%now%.reg" (
:: ----- Create a backup of the Registry -----
call :print Making a backup of the Registry in: %USERPROFILE%\Desktop\Backup\Regedit\%now%\
if exist "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKLM.reg" (
echo.An unexpected error has occurred.
echo.
echo. Changes were not carried out in the registry.
@@ -751,13 +745,17 @@ goto :eof
pause>nul
goto :eof
) else (
regedit /e "%USERPROFILE%\Desktop\Backup%now%.reg"
reg Export HKCR "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKCR.reg"
reg Export HKCU "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKCU.reg"
reg Export HKLM "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKLM.reg"
reg Export HKU "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKU.reg"
reg Export HKCC "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKCC.reg"
)
:: ----- Checking backup -----
call :print Checking the backup.
if not exist "%USERPROFILE%\Desktop\Backup%now%.reg" (
if not exist "%USERPROFILE%\Desktop\Backup\Regedit\%now%\HKLM.reg" (
echo.An unexpected error has occurred.
echo.
echo. Something went wrong.
@@ -785,7 +783,7 @@ goto :eof
reg delete "HKLM\COMPONENTS\NextQueueEntryIndex" /f
reg delete "HKLM\COMPONENTS\AdvancedInstallersNeedResolving" /f
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v ResetClient /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v ResetDataStoreReason /f
@@ -940,7 +938,7 @@ goto :eof
wuauclt /resetauthorization /detectnow
if %family% EQU 10 (
start ms-settings:windowsupdate
start ms-settings:windowsupdate-action
) else (
if %family% NEQ 5 (
start wuapp.exe
@@ -956,6 +954,32 @@ goto :eof
:: /*************************************************************************************/
:: Reset the Windows Store.
:: void wsreset();
:: /*************************************************************************************/
:wsreset
call :print Resetting the Windows Store.
wsreset
goto :eof
:: /*************************************************************************************/
:: Get the Windows Product Key.
:: void productKey();
:: /*************************************************************************************/
:productKey
call :print Getting the Windows Product Key.
wmic path SoftwareLicensingService get OA3xOriginalProductKey
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
:: /*************************************************************************************/
:: Explore other local solutions.
:: void local();
:: /*************************************************************************************/
@@ -1011,7 +1035,7 @@ goto :eof
:: void help();
:: /*************************************************************************************/
:help
start http://docs.wureset.com/
start https://github.com/ManuelGil/Reset-Windows-Update-Tool/wiki
goto :eof
:: /*************************************************************************************/
@@ -1022,11 +1046,10 @@ goto :eof
:diagnostic
call :print Download and run diagnostics for your system.
echo. 1. Windows Update on Windows 7, Windows 8 and Windows 8.1.
echo. 1. Windows Update on Windows 8 and Windows 8.1.
echo. 2. Windows Update on Windows 10.
echo. 3. Apps on Windows 8.1.
echo. 4. Apps on Windows 10.
echo. 5. Start Menu on Windows 10.
echo.
echo. 0. Back.
echo.
@@ -1043,8 +1066,6 @@ goto :eof
start http://go.microsoft.com/fwlink/p/?LinkId=268423
) else if %option% EQU 4 (
start http://aka.ms/diag_apps10
) else if %option% EQU 5 (
start http://aka.ms/startmenuTS
) else (
echo.
echo.Invalid option.
@@ -1052,7 +1073,7 @@ goto :eof
echo.Press any key to continue . . .
pause>nul
)
goto diagnostic
goto :eof
:: /*************************************************************************************/