 |
|
20-08-2006, 11:52 PM
|
#1 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
UPDATE: Don't forget to visit following threads:
COMPLETE GUIDE: For Windows Customization - WindowBlinds, Style XP & msstyles
MASTER TUTORIAL: Make Your Windows XP Super Fast !!!
TUTORIAL: Make Your Windows XP look-a-like Windows Vista
List of Some Useful System Utilities!
TUTORIAL: All About Resource Hacker! A Brief Tutorial
TUTORIAL: List of Files to be hacked using Resource Hacker!
TUTORIAL: List of some Interesting Hacks, which can be made using Resource Hacker!
TUTORIAL: Changing Windows XP Login Screen Text Entries !
TUTORIAL: How to enable "VIEW" Menu on Desktop !
TUTORIAL: Add any Image in Desktop/Explorer Context Menu !
TUTORIAL: Add Your Favorite Program Shortcut in Desktop Context Menu!
TUTORIAL: Add "INSERT" Option in CD Drive Context Menu !
TUTORIAL: How to use the free space under RUN in New Windows XP Start Menu!
TUTORIAL: Change Look-n-Feel of Windows XP Start Menu
TUTORIAL: How 2 change XP Boot Screen using Tuneup Utilities!
TUTORIAL: All Kinds of Restrictions for Windows XP/2003
TUTORIAL: Hide Menubar, Addressbar & Throbber in My Computer
TUTORIAL: How to Add / Remove Entries in Context Menus
TUTORIAL: How to get FREE space in Windows?
TUTORIAL: Windows XP Services that can be Safely set to MANUAL!!!
TUTORIAL: Add DEVICE MANAGER, CONTROL PANEL, Etc. in My Computer Context Menu !
Remove Save Schemes & Other Entry from Desktop Context Menu!
TUTORIAL: How to Create Yahoo! Messenger Skins
TUTORIAL: Remove ADs from New Yahoo! Messenger 8 Final !
TUTORIAL: Change Yahoo! Messenger Default Status Messages With Your Own Messages
Hi guys!
Today a question came into my mind that why Hibernate button is not visible in Shutdown dialog box and why it appears when we press <SHIFT> key?
So I opened msgina.dll file into Resource Hacker and started R&D with it.
I checked in 20100 dialog that there was an entry for Hibernate button, still it was not visible in shutdown dialog box. But when I checked its properties, I was surprised. Its Left distance and Top distance were set to 30093, 30049 respectively. It means it was there but was set to not appear in dialog box coz the dialog box size was lesser than the hibernate button.
So I set its distance from LEFT & TOP to 5 and VOILLA, it started to show in the dialog box.
Then I did some more R&D with it and added a string saying "Hibernate" and changed other items places so that all 4 items "Hibernate, Stand by, Shut down, restart" can be shown in dialog box.
So the FINAL thing is that, u hv to just change the LEFT & TOP distances of Hibernate button and it'll be visible in shutdown dialog box!
Also I'm posting the contents of the dialog box, so that u can easily just copy-paste them in the required place!
So here is the step-by-step tutorial:
1.) Open %windir%\system32\msgina.dll file into Resource Hacker.
2.) Goto Dialog -> 20100 -> 1033.
3.) If u want the following look (Hibernate button at bottom-center) :
Paste following code:
Code:
20100 DIALOGEX 0, 0, 208, 122
STYLE DS_SYSMODAL | DS_SETFOREGROUND | WS_POPUP | WS_BORDER
CAPTION ""
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "MS Shell Dlg"
{
CONTROL "Flag", 20101, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE, 176, 0, 32, 26
CONTROL "Good Bye", 20102, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE, 7, 0, 162, 26
CONTROL "&Stand By", 20104, BUTTON, BS_OWNERDRAW | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 45, 47, 22, 20
CONTROL "Switch &Off", 20103, BUTTON, BS_OWNERDRAW | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 91, 47, 22, 20
CONTROL "&Reboot", 20105, BUTTON, BS_OWNERDRAW | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 140, 47, 22, 20
CONTROL "&Hibernate", 20106, BUTTON, BS_PUSHBUTTON | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 79, 94, 48, 20
CONTROL "", 20108, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_DISABLED, 22, 73, 50, 8
CONTROL "", 20107, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_DISABLED, 79, 73, 50, 8
CONTROL "", 20109, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_DISABLED, 136, 73, 50, 8
}
4.) OR if u want following look (Hibernate button at the same place as of other items with added string) :
Then paste following code:
Code:
20100 DIALOGEX 0, 0, 208, 122
STYLE DS_SYSMODAL | DS_SETFOREGROUND | WS_POPUP | WS_BORDER
CAPTION ""
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "MS Shell Dlg"
{
CONTROL "Flag", 20101, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE, 176, 0, 32, 26
CONTROL "Good Bye", 20102, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE, 7, 0, 162, 26
CONTROL "&Stand By", 20104, BUTTON, BS_OWNERDRAW | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 68, 49, 22, 20
CONTROL "Switch &Off", 20103, BUTTON, BS_OWNERDRAW | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 117, 49, 22, 20
CONTROL "&Reboot", 20105, BUTTON, BS_OWNERDRAW | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 169, 49, 22, 20
CONTROL "&Hibernate", 20106, BUTTON, BS_PUSHBUTTON | BS_NOTIFY | WS_CHILD | WS_VISIBLE, 9, 49, 39, 20
CONTROL "", 20108, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_DISABLED, 55, 73, 50, 8
CONTROL "", 20107, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_DISABLED, 105, 73, 50, 8
CONTROL "", 20109, STATIC, SS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_DISABLED, 155, 73, 50, 8
CONTROL "Hibernate", 0, STATIC, SS_CENTER | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 14, 73, 32, 8
}
PS: Pressing <SHIFT> key will still work...
Last edited by Vishal Gupta; 27-07-2007 at 05:39 PM.
|
|
|
|
Advertisements. Register and be a member of the community to get rid of them.
|
|
Advertisement
|
|
20-08-2006, 11:57 PM
|
#2 (permalink)
|
|
HELP AND SUPPORT
Join Date: Jun 2006
Posts: 1,603
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Awesome vishal...U seriously rock man..There was a question on this post previously but u gave us a nice solution for it...I preferably thought there might be a way u can get it done without using resource hacker..This post shud be printed in the next month's digit mag as the best tut of the month
|
|
|
21-08-2006, 12:03 AM
|
#3 (permalink)
|
|
I have Yolks not Brains!
Join Date: Aug 2006
Location: Inside the shell
Posts: 744
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
I am new to this forum. And I saw your previous tutorials...and to be honest, they all rockkkkkk........including dis one.
Great one there, never tht it was possible to have Hibernate on the Dialog box.
__________________
Y U NO ALLOW PICTURES IN SIGNATURES?
|
|
|
21-08-2006, 12:11 AM
|
#4 (permalink)
|
|
In The Zone
Join Date: Apr 2006
Location: navi mumbai
Posts: 417
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
gr88 work.vishal.. u really rock...do also have tutorial..on using resource hacker..cauz i ve never used it !!sorry...i didnt do a search..but i got a tutorial..of u r s on resource hacker..
__________________
Intel P4 2.47 ghz with 1 MB L2 cache-HIS 845GVM mobo
512 MB DDR RAM .
Gainward 6600 gt golden sample edition(ultra 1960xp)
80 GB Seagate Barracuda 7200 rpm HDD
Sony QW -120A Dual Layer DVD writer.
Last edited by go_gamez; 21-08-2006 at 12:15 AM.
|
|
|
21-08-2006, 11:55 PM
|
#5 (permalink)
|
|
HELP AND SUPPORT
Join Date: Jun 2006
Posts: 1,603
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Hey Hey Hey Mr vishal wait a sec..I tried the first step of the script u said which it worked well but then today i thought of trying the 2nd one and unfortunately BOOM my comp got scrwd after trying ur trick and doing a restart.I got a msg saying that the dll file does not contain the exact image of windows and so it has been corrupted..And then the next error dialog was contact the system admin for the replacement of the dll file.I tried safe mode-dint work,last known good configuration by pressing F8-dint work though i had a backup of the original dll file i had no chance/option of logging in my comp and solving the problem.I could boot but not log in so i had reinstall my whole OS and get back to normal state.
|
|
|
22-08-2006, 12:05 AM
|
#6 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
^^
The most probably reason is ur file got corrupt!
When we edit ne file using Resource Hacker, it saves the file and also create a backup of the file names " original_file_name_original.extension". So after editing the file at second time, it got corrupt.
But u could replace the backed-up file, as u mentioned u had a backup of file, by booting using XP setup CD and entering into recovery console. OR using windows 98 Setup CD or ne bootable Floppy
|
|
|
22-08-2006, 12:08 AM
|
#7 (permalink)
|
|
HELP AND SUPPORT
Join Date: Jun 2006
Posts: 1,603
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Quote:
|
Originally Posted by Vishal Gupta
^^
The most probably reason is ur file got corrupt!
When we edit ne file using Resource Hacker, it saves the file and also create a backup of the file names " original_file_name_original.extension". So after editing the file at second time, it got corrupt.
But u could replace the backed-up file, as u mentioned u had a backup of file, by booting using XP setup CD and entering into recovery console. OR using windows 98 Setup CD or ne bootable Floppy 
|
Well the first part what u said is absolutely right but the second part of your post didnt work at at all as i have already tried b4 making a fresh install
|
|
|
22-08-2006, 05:46 AM
|
#8 (permalink)
|
|
In The Zone
Join Date: May 2005
Location: Jorhat, Assam.
Posts: 432
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
i too got the same prob. i have a back up of the file on my desktop. can anyone tell me how to replace the original file using the xp setup disk.
__________________
"Imagination is more important than knowledge. For knowledge is limited, whereas imagination embraces the entire world, stimulating progress, giving birth to evolution." ~ Albert Einstein
|
|
|
22-08-2006, 02:08 PM
|
#9 (permalink)
|
|
œ∑´®†¥¨ˆøπåß∂ƒ©˙∆˚¬Ω≈ ç√∫˜
Join Date: Aug 2006
Location: Bangalore
Posts: 1,046
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
superb
|
|
|
22-08-2006, 03:11 PM
|
#10 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Guys!
by using resource hacker, we play with windows system files, and its the rule of game that sometimes we win and sometimes we loose.
So its very risky and we should always be prepared for such cases. I always hv an acronis image of my system drive. In case if something goes wrong, I simply restore the image.
@soham
Bot using XP bootable setup CD and after u get the blue screen ( When setup finishes loading drivers), press R to enter into recovery console, enter admin password and u'll get command prompt. Now u can simply replace the msgina.dll file with ur backed-up one.
U can also boot using 98 setup CD and in command prompt, u can replace the file. But it'll not work, if ur partition is NTFS.
or simply run the XP setup and select to repair the windows, it'll automatically replace the corrupt file with a new one.
|
|
|
22-08-2006, 03:53 PM
|
#11 (permalink)
|
|
HELP AND SUPPORT
Join Date: Jun 2006
Posts: 1,603
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Quote:
|
Originally Posted by Vishal Gupta
Guys!
by using resource hacker, we play with windows system files, and its the rule of game that sometimes we win and sometimes we loose. 
|
Very true in my case
Quote:
|
Originally Posted by Vishal Gupta
@soham
or simply run the XP setup and select to repair the windows, it'll automatically replace the corrupt file with a new one.
|
This doesnt work..I tried it thrice before installing a fresh copy
|
|
|
23-08-2006, 12:21 AM
|
#12 (permalink)
|
|
Coming back to life ..
Join Date: Nov 2003
Location: A bit closer to heaven
Posts: 1,997
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Hey I read that in MSFN ..
[Edit] I found the link finally . ..  .. Here it is ..
__________________
Sleight of hand and twist of fate...
On a bed of nails she makes me wait...
And I wait without you ...
With or without you ..
----
Batty = Too Busy Now !!!
|
|
|
23-08-2006, 12:49 AM
|
#13 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Mine tutorial and the other one which u posted, r quite similar but not same.
First I didnt read that tutorial and second thing is I posted the whole method and other things also, like u can change the location of the button, u can give it a label also, etc.
Its just a co-incidence that some1 also found that interesting thing. But its quite common thing coz the s/w used to get this hack was resource hacker. and ne1 who use it frequently, can find out such interesting things.
|
|
|
23-08-2006, 12:56 AM
|
#14 (permalink)
|
|
CG Artist
Join Date: May 2006
Location: New Delhi,India
Posts: 1,462
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
My question is what is hibernating and what are its benefits?
|
|
|
23-08-2006, 01:18 AM
|
#15 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
^^
Quote:
Hibernate is a feature seen in many operating systems where the contents of RAM is written to non-volatile storage, such as the hard disk (as either a file or on a separate partition) before powering off the system. Later the system can be restored to the state it was in when hibernating, so that programs can continue executing as if nothing happened. Hibernating and restoring from hibernate is also generally faster than a cold boot and, if necessary, can be done without user interaction (unlike shutting down, which often requires the user to specify if open documents should be saved).
To use hibernation the hard disk needs to have at least as much free space as there is RAM on the system.
Hibernation is often used on laptops and can generally be set to happen automatically on a low battery alarm. Early implementations of hibernation did use the BIOS but on modern systems the functionality is usually handled by the operating system. Hibernation is defined as sleeping mode S4 in the ACPI specification.
|
Source: Hibernate From Wikipedia
|
|
|
23-08-2006, 10:18 AM
|
#16 (permalink)
|
|
Console Junkie
Join Date: Jun 2006
Location: USA
Posts: 991
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Has anyone tried replacing the backed up file using some LIve Linux CD which allows you to access and move files within NTFS file systems? Does it work??
__________________
--- Console Junkie
|
|
|
23-08-2006, 12:00 PM
|
#17 (permalink)
|
|
Commander in Chief
Join Date: Jul 2005
Posts: 6,658
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Linux Live CDS wont support writing to NTFS at all, its still in alpha/beta stage (the functionality to write to NTFS)
__________________
Harsh J
www.harshj.com
|
|
|
23-08-2006, 06:56 PM
|
#18 (permalink)
|
|
Console Junkie
Join Date: Jun 2006
Location: USA
Posts: 991
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
I have written files in my NTFS partition using Knoppix 5.0.1 DVD. Any thing I am missing here?
__________________
--- Console Junkie
|
|
|
27-08-2006, 07:28 PM
|
#19 (permalink)
|
|
In The Zone
Join Date: Nov 2005
Location: Bangalore
Posts: 487
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
as usual u r the best vishal......but how to change the looks of the button, i mean that how can we change the settings that it looks like one of the button provided by windows it self
__________________
eXPerience is what a MAN learn's fROM.....
|
|
|
27-08-2006, 09:15 PM
|
#20 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
thnx buddy!
YES! U can set an image for this button but the BAD thing is that as soon as u'll move the cursor on the Hibernate button, the image will be disappeared. The reason exists in the programming of the file. When u move the cursor on the button, it comes in Hover state and in this condition it doesnt find the Hover image so the image got disappeared.
As u can see, in msgina file there r 3 different images for all other buttons, like standby, restart and shutdown (in a single image divided by separator).
For adding image to the hibernate button, simply add ur desired image in the file and then in the dialog box click on add new control and seletct BITMAP control and in caption give the same no. as of the newly added image name. Then u can simply set the image just above the hibernate button.
|
|
|
08-09-2006, 09:04 AM
|
#21 (permalink)
|
|
Right Off the Assembly Line
Join Date: Jul 2006
Posts: 1
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
hi gupta this is tj
i got the same problem but i cant save it in its original file extension ..
so plz tell me in which path i have to save.....................
|
|
|
08-09-2006, 03:08 PM
|
#22 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
This happens bcoz of Windows File Protection service, which doesnt allow system files to be replaced/changed while running windows!
But U can use replacer or other s/w for this task.
Read following thread:
List of Some Useful System Utilities!
|
|
|
09-09-2006, 02:11 PM
|
#23 (permalink)
|
|
Apprentice
Join Date: Nov 2005
Posts: 50
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
@Vishal Gupta : Mindblowing skin Man!!!!!! , can you tell me that where to get
this theme . Thankz!!!!
|
|
|
09-09-2006, 07:36 PM
|
#24 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
sorry buddy! I had that one when I posted the tut but now I hv some other background in my shutdown dialog box
Afair, I got this BITMAP from a WindowBlinds skin. But can't remember the nme
Currently my shutdown box looks like this:
|
|
|
09-09-2006, 11:47 PM
|
#25 (permalink)
|
|
Right Off the Assembly Line
Join Date: Nov 2004
Posts: 1
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
hi vishal,i am very new to all this i have donw as it was given but when i am trying to close the reshacker,it is showing a message "do u want to modify the changes".i am clicking it ok then a save dialouge box is opened asking me to save the file.so i just wanted to know by what name and extension i should store that file in 1033.because i have tried a lot but of no use.please help
|
|
|
09-09-2006, 11:58 PM
|
#26 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Save it with the same name msgina.dll
But u hv to save the file in some other location bcoz windows will not let u overwrite the existing msgina.dll file in System32 folder.
After that u can use Replacer s/w to replace the existing msgina.dll file with ur hacked one.
|
|
|
10-09-2006, 02:32 AM
|
#27 (permalink)
|
|
AMD user for 9 yrs!!
Join Date: Jan 2005
Location: New Delhi
Posts: 944
|
Re: 4 options on menu
@Vishal
I saw on the latest Sony Vaio (my friend's dad laptop) .. that there are infact 4 options there. I couldnt bcoz at that time it wasnt possible otherwise i could hav taken the screen shot or something.
then I forgot it ..
now today after reading this topic .. I want to use that option it self...
and on the MSFN link (thans to it_wazznt_me) its already posted that..
You can also install MS Hotfix KB875506 and add a new registry setting
...
I cant find that hotfix on the microsoft site?
Last edited by rollcage; 11-09-2006 at 12:48 AM.
|
|
|
10-09-2006, 03:17 AM
|
#28 (permalink)
|
|
Microsoft MVP
Join Date: Jul 2005
Location: AskVG.com
Posts: 5,173
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
I read it when it_wazznt_me posted that thread link. But didnt test it.
But after ur post, I read the whole topic again and the d/l link is also posted there.
For u I hv uploaded the English version of the HOTFIX here.
After installing the Hotfix, just run the attached Registry file and u'll get what u want.
PS: I checked the msgina.dll file again after installing this hotfix, but found nothing special in it. Seems that they just patched the file's internal code.
|
|
|
10-09-2006, 07:35 AM
|
#29 (permalink)
|
|
HELP AND SUPPORT
Join Date: Jun 2006
Posts: 1,603
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
Thnx vishal..I too actually searched for the hotfix and couldnt find it and installed all the hotfixes available from the M$ site and then thought "Let me forget coz i had tried ur trick and let me not take another chance" but i think this way its easy
Me 2 didnt read the link in the msfn forum but the link for the hotfix given there is
ftp://dlsvr01.asus.com/pub/ASUS/nb/W..._XP_060420.zip
This zip-file contains several languages.
BUt u shud get this hotfix when u click on windows update  but that doesnt happen
Last edited by rakeshishere; 10-09-2006 at 07:42 AM.
|
|
|
10-09-2006, 02:25 PM
|
#30 (permalink)
|
|
Right Off the Assembly Line
Join Date: Sep 2006
Posts: 1
|
Re: TUTORIAL: Enable HIBERNATE Button in Shutdown Dialog Box !
i don't know what is Resource Hacker
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|
|