rpms/realcrypt/F-11 Drive_icon_96dpi_real.bmp.lzma, NONE, 1.1 Drive_icon_mask_96dpi_real.bmp.lzma, NONE, 1.1 Logo_288dpi_real.bmp.lzma, NONE, 1.1 Logo_96dpi_real.bmp.lzma, NONE, 1.1 Readme.txt, NONE, 1.1 System_drive_icon_96dpi_real.bmp.lzma, NONE, 1.1 System_drive_icon_mask_96dpi_real.bmp.lzma, NONE, 1.1 Textual_logo_288dpi_real.bmp.lzma, NONE, 1.1 Textual_logo_96dpi_real.bmp.lzma, NONE, 1.1 Textual_logo_background_real.bmp.lzma, NONE, 1.1 TrueCrypt-16x16_real.xpm.lzma, NONE, 1.1 TrueCrypt_Wizard_real.bmp.lzma, NONE, 1.1 pkcs11.h, NONE, 1.1 pkcs11f.h, NONE, 1.1 pkcs11t.h, NONE, 1.1 realcrypt-6.2a-rebranding.patch, NONE, 1.1 realcrypt-Makefile.patch, NONE, 1.1 realcrypt-no-userguide-menuitem.patch, NONE, 1.1 realcrypt-rpm_opt_flags.patch, NONE, 1.1 realcrypt.console.apps, NONE, 1.1 realcrypt.desktop, NONE, 1.1 realcrypt.pam, NONE, 1.1 realcrypt.spec, NONE, 1.1 realcrypt_64.png.lzma, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Leigh Scott leigh123linux at rpmfusion.org
Sun Jul 19 14:42:06 CEST 2009


Author: leigh123linux

Update of /cvs/nonfree/rpms/realcrypt/F-11
In directory se02.es.rpmfusion.net:/tmp/cvs-serv23488/F-11

Modified Files:
	.cvsignore sources 
Added Files:
	Drive_icon_96dpi_real.bmp.lzma 
	Drive_icon_mask_96dpi_real.bmp.lzma Logo_288dpi_real.bmp.lzma 
	Logo_96dpi_real.bmp.lzma Readme.txt 
	System_drive_icon_96dpi_real.bmp.lzma 
	System_drive_icon_mask_96dpi_real.bmp.lzma 
	Textual_logo_288dpi_real.bmp.lzma 
	Textual_logo_96dpi_real.bmp.lzma 
	Textual_logo_background_real.bmp.lzma 
	TrueCrypt-16x16_real.xpm.lzma TrueCrypt_Wizard_real.bmp.lzma 
	pkcs11.h pkcs11f.h pkcs11t.h realcrypt-6.2a-rebranding.patch 
	realcrypt-Makefile.patch realcrypt-no-userguide-menuitem.patch 
	realcrypt-rpm_opt_flags.patch realcrypt.console.apps 
	realcrypt.desktop realcrypt.pam realcrypt.spec 
	realcrypt_64.png.lzma 
Log Message:
initial import


--- NEW FILE Drive_icon_96dpi_real.bmp.lzma ---
]  € ¶       !S
> Á6Ÿ" ¹éîÛ
àTèžXeóÊž©¯ø½kÓ²ñz 

--- NEW FILE Drive_icon_mask_96dpi_real.bmp.lzma ---
]  € n        !J.¡¿L/JšÔ{ð{öˆŒ†àÞOtž}¢¶.¹²Öw  

--- NEW FILE Logo_288dpi_real.bmp.lzma ---
]  € ö      !ZÊ p`QfF8yKƒÎ¾•B9<üdCtÊi÷‚üÙ`Šj¦.Tka+Nq똙M¤Ì¿rðq Öi‡ûö©ÃÁë#Œ†üJf0½ÐãŸ5ȳÈw”U¼ÿC^IѼ§Sˆ]±\j’-R+ÁGæ°A5²“b•¨y8D½÷lÒ§=¿ûZs#¯¢ý¢™—ËéC&‹b_P™2›²U[Ù€Ëío5ÿ5›¤6åÇÃþR”|&†8eMÞdôDn_’+`{³wúÍžÿž'r²\d{úªâH¶ÌÊë9£oH¯ÇP‡6Ú´v]ª:ëE«-ôNú³.ª!›öP§am>-õWF FÛ4HòïA4žëó­˜°.Îc=ÿ^ÃahȦÃ*'lÿa…‚°Å˜óÁ
b[@?óó
¦µÜ¸ F•„(rH?€›®αQæb&¿Nˆò÷Dÿ
(Œô¦¢Õ‘ͧøðÒ'cL¯Ýt_Û¨n4šX²Së Í²lâ?$úõ‰NÔ¬{LR`]Z!í7ô¼fú
ú¹ˆÝ%Ob dy6R¦ZîùØßúÚìaj’°ŽÙ$NÎŽì¯7ŸÕüÛþߪˆI’ºTà\ÚM{4©– àOë{ 16–½HC¤òPxvþ~ª»Å¸·Hè((l~ö\TÂ+òWèúZŠÒ…/rs‘´íùŒ!<\ÃËk_
­y“!,l¹±_€3icÂ&ó’t¤}Ã{H%y,™2T
´˜Ñ—˜ê™^¢$
R›Æ˜x|„¹—„³  HˆÙÈ2Åÿý[j¡5`ª:—/L|ÀQn ïKŽoPÌXTXq*™i9"êH¼ôi),WÔ0ðYƝ9Žä94ѾöJ“¦§mbY?±AîI„OÒ#ï+aƒòAÕš°ïË L#ïLjÞÕQ+¢¥°&uôÏ UAcŠ¹›³¡ýÙ‡ëS¶öW¢þ —íý
’öö÷e4ΚE¥µly ºŽ¿-‰—+a®³êmnðlÄ¥¤r4xÚš½Î]ñJŽ£mÉ"?¤Xj
9 Y»­†æT8˜º¿#…Å\—3ÈÞòºZ*¤)¿ÍìC,‰VW|ÙØsÆPˆgëS®¼´¬I­ÃAT;qç̃V:öiH"n»j~Ú[IÁÌÁÒ«ô×tOJŽÇÓŸ¼ Žp‘á/ ”Ý“CŒr:‹+ËÊo@×¥7v^ÒèBOd遄±nVb)ëé?/8¡ôsr¨ø+ªŸi˺¨WXÿ»K7èfù#i‡C]Àö´c0'âö°ˆ€.½„0M8Ì|5„£¯ŒÏÃ^…ŽüŒ8ã´¾[+uÀܐ&#T›—¹·ŠÁ‰›_-
?эGkázE}†þS\ÛE¬›‚Ƈ=O¢›2	Üf™`UÎën£
¹®tøMZìN“êRÖ
êM÷œOû³wì
T'Íâñ­#@Oàœç§äö52r¡ÝŠ1:Ú¡èu àäatÙFa¢À5~JS5>oˆ%nˆÉ^
k/¦GÉ| ÇÛXÜ['ˆl.<yV@`P¶|e…B{èyÌ41m[júHn–²&Í·¬â=Ѧ	¹'Ø7^(#ÈÓ€4iªIRSø©ó(¾M啤‹ÉKõ¡¥%›RyÚ7ØV2ÝïêS¿ÑJ$;¥	À˜Z©ßìG ?a®žEü·IùéÐ‡¥ªÝ.¼]†zÁž°èõø:ù^ú]tÍh]YçpC‰ b'½kä(#³—!¸$a`ü>¶ä(g&8‹þu­¿…¼XæÂ!ÈÌn»@iÍ0æª7ÌÆ9ånÀÏš Ñ¢rÿ‘ØùñšÝôo°Ð4ÌbΩöˆ¯5o’Aî0má ö4x*ÈØL &Â>¸WB€)é-¾ŠÆt6¥’+éÕÿ.¸7DÇF»#áô̳ÿŸ+£šy„]nøŽjIôR1ÿc¾2kØ!G|Mq¼VÚ*ßY+îmœŸ”±ªC!…Flºæ_À“J
õ¯Ÿ&jpܐl‘VÀu*±
Œ²ï}ëŠ$qtsÍwÑ<ËBKé¸ë©iIØF,ø# G&›v}Ã&%¾È•;m0J
Bï(Gê•/Ʋ˜áv~ÒªPð:§’‡5§øôb	^r}êp0 6Ü7“2~„cÒ³&ߐ)Ù”tr¡ÜméñÝ¢*ø™¯]"?œú–…›Ý3VL™ p³Œ¯†0âˆ?¿¶î®+äNö·
	”¤G¥ÞW*÷í*ú€sg¹¶®¬Pq€êfqAw.A=,ðɭ判®åÏÕؾ
ã­…Þ³ŸîÔ @œíf$YŠ;KR‹ugÈi2ï®°P¶Ô:6ë†	NvBõ=iÀ¡Ÿ,yž “¸ü¶ú095¬Ajµ÷IH°YžìAæäAl÷V;;ÒÀJÄl°ó€îJ°•ÃÕý0üÂÒöd

--- NEW FILE Logo_96dpi_real.bmp.lzma ---
]  € ¶       !S² Á6Ÿ" ‹· êÖûøø9™Á¹Béà#ÒÓ¯ËÚ\hIß8ˆn“Ó †$/‹â•¡Û9Ýð§\wãóÆ›»iRen¤µ[…{²loÊŽˆõâ¾j¢4õtóXã ~Å+e¿_¯h»æÐ)ҏí	sÙ«•±¼_Šö9­£™lm’¶}G}ÕË*¸ngúsï£þ&€g“ÿåIt}Dp`Wî¢kÜ…]¦¸p5ѲœÎZV¯Û+X‰û¹²¾™	ëÚ3/CÈA´ž¦Y÷è–Ì UP·4Ö@0(ßÓ
n,XöBä[&4cï»Ë˜‡½€ÉÌ™xÌqš~Oí²)Ížzù}„Fz\Ô²ÖN¦¢§ÙîIþÚýýÙKÁ¿DÀ‘sŸZhü© £
”§Ã²äëŽØC¿Ô7Ș‘	q4É…¸÷ÖôáæfRa!ÉÓ§JÁrA/>ù¬«èú‰åos’wÁ™›mC¸PÏ*tÑ•KeŸ8û/»CÁÜO˜0÷Ë¥
ä$vŠ·7äÒ
’ü‚v±mꜲZ;ÖC£\p²YlØy9-£›Í„š=±inDʏBf® åŽûûU̝@mÆppÉìe“P´D–båÕœ†`+º¼JÇ	k¢)V:Ôh?2[ËåËüÛõ ›®Çµêi
üÝÂEz¾Âc´¯ÈÒ’~GŒÙi(Å%x˵à­#§ÇpçÉ¡­ôN7W(¯>/,ôþÓ\ñìa¬_UG
ã³*@…oD¬wtûÜ6åƒÑpÓ‹bý~΍Šd®¢ø?”jp¶#Á\ŸQE65úK7{Låò¾
¢TZ1’…Bõjä1ì½e0oúÁˆ—6Ò»ñ‰RÎË[í¾þ&¤A§0F<®#÷(Rr‚ì/Œ«–Âu¡Žgo%×ìú¤†ø’¨q\Ý•'÷ªÛ±Õ‚e[å¯S³Ø—ÀOÈÆÁbÚ\PËÅ":Þ¤KxÏf/'nz¥‡Þø®w‚oóG}óRŒ÷ Á襹g_‰]+äTÈ ÐýeÁ;,åu<ø+ø©Ø-  

--- NEW FILE Readme.txt ---
What is realcrypt?
====================


The realcrypt application in the RPM Fusion repo is an encryption application based on truecrypt, freely available at http://www.truecrypt.org/. It differs from truecrypt in only the following ways:

 * The name truecrypt is changed to realcrypt throughout the application, as requested by the truecrypt License:
 * All original graphics are replaced with entirely original new ones, as requested by the truecrypt License:

 * A small patch allows alternative optimization flags to those specified in the original buildsystem to be used during compilation, and the binary package is compiled using Fedora's standard optimization flags.

 * Additional support scripts and configuration files are included that allow the application to run through consolehelper. This simply means that you can attempt to run the application as a regular user, and it will prompt you for the administrator password and then launch the application with administrator privileges.

 * A menu entry for the application is added

It does not differ from truecrypt in any other respect; in particular, no code relating to actual encryption or decryption is modified. Nevertheless, the truecrypt License requires that we ask you to report any and all bugs you find to [https://bugzilla.rpmfusion.org/ RPM Fusion's Bugzilla] and not to the truecrypt project.


----

Creating a New Volume that can be mounted by a normal user.
=============================================================


realcrypt has a GUI, but in order to create a volume that can be mounted by ordinary users, you have to use the command line.

All actions are performed as 'root'


[root at localhost ~]# realcrypt -t -c
Volume type:
 1) Normal
 2) Hidden
Select [1]: 

Enter volume path: /root/realcrypt ## enter file or device path for new volume:

Enter volume size (sizeK/size[M]/sizeG): 100M

Encryption algorithm:
 1) AES
 2) Serpent
 3) Twofish
 4) AES-Twofish
 5) AES-Twofish-Serpent
 6) Serpent-AES
 7) Serpent-Twofish-AES
 8) Twofish-Serpent
Select [1]: 

Hash algorithm:
 1) RIPEMD-160
 2) SHA-512
 3) Whirlpool
Select [1]: ##the default is 1 - just hit <enter>

Filesystem:
 1) FAT
 2) None
Select [1]: 2

Enter password: ## enter your desired password 
Re-enter password: 

Enter keyfile path [none]: ## just hit <enter> we haven’t created a keyfile 

Please type at least 320 randomly chosen characters and then press Enter:
Characters remaining: 15


Done: 100.000%  Speed:   28 MB/s  Left: 0 s          

The RealCrypt volume has been successfully created.





We’ve now created an unformated volume, we’re going to map the volume so that we can format it with ext3 in the next section.




[root at localhost ~]# realcrypt -t --mount --filesystem=none /root/realcrypt ## enter your chosen file or device path

Enter password for /root/realcrypt:  ##Enter the Password you chose and hit <enter>

Enter keyfile [none]:  ## Hit <enter>

Protect hidden volume (if any)? (y=Yes/n=No) [No]: ## Hit <enter>




Let’s check to make sure the volume was mapped. Issue the command below and you should see a similar output




[root at localhost ~]# realcrypt -t -l

1: /root/realcrypt /dev/mapper/realcrypt1 -




Now we’ll format the volume with ext3




[root at localhost ~]# mkfs.ext3 /dev/mapper/realcrypt1
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
25584 inodes, 102144 blocks
5107 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1968 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.




Now that we’ve formated the volume we’ll create a directory in which we’ll mount the volume, then mount the
volume, create a directory, and then take ownership of that directory. In the forth command below replace user1:user1 with your user:group.


[root at localhost ~]# mkdir /home/user1/safe

[root at localhost ~]# mount /dev/mapper/realcrypt1 /home/user1/safe

[root at localhost ~]# mkdir /home/user1/safe/my_safe

[root at localhost ~]# chown user1:user1 /home/user1/safe/my_safe



Now we’ll change directories and check the ownership


[root at localhost ~]# cd /home/user1/safe

[root at localhost safe] ls -l

total 13

drwx—— 2 root root 12288 2008-01-16 10:58 lost+found/

drwxr-xr-x 2 user1 user1 1024 2008-01-16 10:59 my_safe/



You’ve now successfully created a normal volume, formated the volume, created the safe directory to be the mount point, mounted the volume and created a directory within it that we took ownership of so that we can write to the volume as a normal user. While mounted, you can use your file browser and create/copy any data like you would in any normal directory.
To continue on the howto example a little further in konsole, we’ll change to the my_safe directory we created and took ownership of and create a file named test.txt. We’ll no longer need to use ’sudo’ as ownership of the directory is now our normal user account.



[user1 at localhost safe]# cd my_safe

[user1 at localhost my_safe]# touch test.txt

[user1 at localhost my_safe]# ls -l

total 1

-rw-r–r– 1 user1 user1 0 2008-01-16 11:00 test.txt



To un-mount the volume, we’ll need to change directory out of the mounted volume which we did in the above step, then un-mount the volume, and then double check that no volumes are mapped.


[user1 at localhost my_safe]# cd ~



Then as root


[root at localhost ~]# umount /dev/mapper/realcrypt1

[root at localhost ~]# realcrypt -d

[root at localhost ~]# realcrypt -l

[root at localhost ~]#



We’re done with the creation process, when you want to map and mount the volume to use it regularly the process would be as follows



[root at localhost ~]# realcrypt -t --mount --filesystem=ext3 /root/realcrypt /home/user1/safe
 
Enter password for /root/realcrypt:  ##Enter the password you chose

Enter keyfile [none]: ##Hit <enter> 

Protect hidden volume (if any)? (y=Yes/n=No) [No]: ##Hit <enter> 
[root at localhost ~]#



Once you’re done using the volume, dismount and unmap it.


[root at localhost ~]# realcrypt -d


For more usage info.
====================

http://www.truecrypt.org/docs/


--- NEW FILE System_drive_icon_96dpi_real.bmp.lzma ---
]  € ¶       !S
> Á6Ÿ" ¹éîÛ
àTèš8åÕ<HÐ4£V‘B[é 

--- NEW FILE System_drive_icon_mask_96dpi_real.bmp.lzma ---
]  € n        !J.¡¿L/JšÔ{ð{öˆŒ† !¡\¦m_qά =Æ  

--- NEW FILE Textual_logo_288dpi_real.bmp.lzma ---
]  € _      !>ÅnË%÷²#šôURSû1°óæ¾6~ºPløæ·Ék&9™)Ð|ËÁh|ZÈÊ}ÿ+˜}ÒÕÚâb“±*Z£n»)M,ö|¶žéœ ê{«žð¬åSs—5,Ñþô~É´aê3$°Hëµè\¸ªžh%Nàp×óâÄñrŠàãè‰cÞán÷?ì@×µmÒ´d¸édÝ•W®·"÷‰
éŠ×€ãµ_þBî’Œj¢Y&ÃE3xp~uåÙ"ŠE»Ÿ4ƒyÅl	uüsðϐßîèhtrVÀ»
;ŒµxA¾
›ÚzY³K·nÉß{;½ô(•ì%ÿénœ2ÐÿûR°èÌž™«R
C‰õ°ºB åaß	ž4¼$û&=VìºTmˆ0¦ìâà1x^—s›Ž^²JˆÔ•þºÊönu•áòg™ÆWÆ¥ù'’ÒÝË«¨Žï“x	WÍ+xM_

óýCèüÛ½‡E2˜Ú49šÉÏPrsCB»Òòèu™Å3­Ì†³G÷…ŽÜ¥‹'“±Üo9ú*Sbá5FDÜ‹Hžµ¡ÿd‘BTœ1äüYˆ?z͹nn«  )õô•[ƒ=—ݺÁ­lÁ‡ËÕ£‘¤”íô$fŠ,rY¢0JÜþÏ̇_<œÈ‘%ý¸ñ´¶cêWîØ– &Mò)úFä›ßÛîÍÇh!×ü°BÊIvk9Çÿ€`fî÷öl]‚Ojàß7­Ø&ÚÄèy, ºŽÓû—ÿ’xjW¡¨Î=º¡NÌ4j½ô€ÅX›½×ŒöAç’ß«:ÁãN½¡rãb	ÿw&ëWÆ››Ó
J¡É§
¦þ¼r¥6?ø.•ý±ÚAßESÜ?	*FD ëHŠ
ïË®Ý@ÈËvëú;ZNßã)ÛÇ[_4â?NzdJ„Ã:Ó7Ð`¡[¤—¢Èn³>ÛŒ=«ÊîÙiìÛ¿û˜<x5	ߍOJ•Ý»´1uüiÛÙwq4+ý†ùäHn¶G>>¹gjrž‹Ó±Ê>ñÓú~q‘r›ŒÚ<ÑŠ€*g¯Ã±ŒA½Ýúù·e®VpÓi%ë\ýe£w(bׄVkc‰°°]S!ôð…uŽÍ„AÖ£êRyÑÐØøv¶6áÉøÔœUåÇ‹Ùf…-:Òà¸ý9ÌØùhÛ†Ëbo×þGÝ~}ƒ'2‰¡Š)%ÿÔ‹ïò— ¡r9BGø	
=ò!ˆ‘Yen¥Öw­³<S´¶g399jw^DâP£Û &Éé>ûmÕ¤‡­-„Dnq¾Ž|¨Ú[®›îúò'»S%Vñ„Ò凡ÉÁ"ËÖäB†Úž`÷ö­Zˆ¾º£ƒ×t¾ŠÑù Ò–¿ãveÖ&æBzÞþÁµ+¥Â¬">³¹ox,Y%1Ù†ÊuÀ~êê1´iia^"!•Á¥v([wÒ¶¬¹ïFÞÏ&²šøY•„ð7Ÿ‰K/º ;j×¾Ò®Ö³‚mên<‹AïíܧšÚcŠ;pµ7?y½ª‰ñ‰¿àëGqP×´,¦j,óq‘ž/Ç6§‹Q…%¸KD‘7Êà™!£ß¡ˆq~¿Q'ˆÀ”Ì©øŽ#’TY1þÒûQår519kTÆܲb(`W8%mf¯rP(¥¸Ú
 ˇÝÆáÎÐØn$!+Ñ9Ñtl@
\H¾RÓËSÂøÅ(>–ù7]‰MÜ×í*ò/²Ü›ÞŠ`â珩×á¬þ7J~R˜ù5YËÀ¾R|EväœÎ[ P;DrœZ ªÁü‰Þ;ÂE¾n››êžd1÷Ô‰(ÄÚþ#w~îÀÔæÞ†rbz~Z›nÉÎ%“¬‘!•’ÅýÆ	£Â^åÄ>Ä}W*òFÿªØ™ÌõÊË074Pt<…ÒÉú`Õ,y+ /MÓ?ͺ9‚Æ(úU¹?ÊÔÛß-E™P÷ŸqŸ÷KQœ"VÙQ¤*|Ü/ì4´ÀüZëiBRÚ
îÎ`‹kujA¨Â!íp&K=ü×®ÎV;žÃ^¸€È'º#+í7®móe’º>7DÓ¨Äew죃§¬>xŽr;–þŽ ø–±`µs¿E®Ô´©¶mÁUs÷¨ƒqI½t¸l‰±+TIHŒ*ü!÷ B}øMj¿àªÈs-Jk!¨ÿ!–© *c#Å·t“R-Ò#œÏ?¿BâÙ’£wæÊæ!ÜÊ ‚q0yAâ#Æå&ß”#.„’ÐéîR³;Ì0v½;TNÄ.„ë› ÎBÅ
7Èv	ïO|hèÜã…¾£N»c|ç
âvä0|¿A‰Ýe
ScµdXJ9rò¡½ð–Å|(]òjÄÅk|ÄBú‡èØË¡PKš—Ï ½.ÇR¿E«|°âŠ•Ï‘/*l~nñ@§ô_Ûï±
V<¾oÚ¡oYD²¾HË«–p‘Ù_«Ÿ‡4\vv³°v¢
PϤ[üáÀ^7ÙÒ­^{PꤪXpïx5£¸ŠÿäÿáVŸ0ýžµºr%æ¹-|$Ø ¢6$Bõ{€Óî>–äؽûšü¦¾zp¯—y}Ç:gƒkn0KÆÄøÅÃå`4Fw¾ùK/ÝMÆÇ« è;¸/×uôKà¿t2ÀhÆ3ŃÔÔv+	a-‰ä×rO¿DÇð¹“Óì ©oÆrW–Ç£´hŒì+ŠêUœªÙf±Ú“«þ¥Š|l²èã"uØSd‰q«pO_°:f!öñõ™¾M$Ôƒ)]C?&g̶B
ŸÙ*Ãèðïw馰ø˜U̐” ÏL\ä#@b-³/æÒlg›¥3·¹‹pV7ÊÉ"oV:•ìÙåòïáïi;n|8ÿO9\aήÜHgVøé·Žðõl76øˆ°$âºþ´àq²*, À–N{™S{w7ü«Á£?'¤®åp8PM/ÌÉïâl)9Í°O\y=€LLÌœGm#ÂÄß2+h
¬ëêäÚmðð]^œJO¡Tpý]ðB
÷.¿ÁæåÿjExÅX±Á‰¶³È\PVµªmÓ#0ç˜ììÊs5]ê®@¯Ç¸¸#`v…Œqcb¾_•œvï”"ü˜6› ,:[ ¡¯©¥×¶®}Ü¿9[6i÷¨Ö¾&XÇ%kqRá¿_>݆BT%=¨Nk¸
î
ÏÄÿs0¿ôŠqk>;Ìdö"ð*ÌT{aaD`$QP…µkGÛ8ÂÙ³ÆBG=“áCûB`Ëb^6M±í'¦0<‹ëu•,[?àÔõ݌チˆæãÅ7”„@98L6­ÖF¢Vj3dÜ):y@ƒ©±§=­“·-Ä„¥Ê@‚vIáw(4Æ—Y¿·Òœj¡=”<¢ûê‰È\r	g’MLÁ!AX¸šÎMŽ	ù¼—D0-6ÖÝ6?PÍ t´TR¿™¢¢$ è‰<µíÆL¾:`¹ÌJ³bú66åAï2\áa
{ÇBþ©~wF
z¼jèû{… ÍpŒÖf7JIöCwqˆ:E(Èþ[fÛê…3%(>rѵc{=#9-$P\嫆Ù<x:¬öZš…JÞNË˺4(.C«\2ȵ#Rs2k‚Y¥×718®/†€±ó%˜žJ=„â¸á_W at _ÌÉ‘õš…Žâ¸j‹ÁÞÜšgP&:)u…Po]Ƀ†XÃs]š:FÏâõºfÈ3°¨Ã-“—ËÂè«šþ¤yÏ`	%Vøë”å+hñ˜8°šÒ8‘·s)˜«žˆ²Bê¯tä´Š©PqŸ¯ºw2“94íÓ#&²%÷¤
«š™ý”CÅP> Tëåß„¯¤}çi‘áfäÞ\rƒ-Éúm1¬ôÆŨŠ(‘	 ÑX÷¤fÒ¯K»$üRO>„ŠÿwÊNˆ¿§ÍóÔ£áFâþ€±‘Úæ‹{…tfM9€‚<Yµø‡ªá5B˜¾Ž_Açd¢HÒJºF—ùpÛg©‡# Bü‡8ïoœ4œÖ¥G—·Ó0|ÕšÊÖ5ÂL0CÐù€rù‚µõ)ók÷ÉFîxtL«I‡f2…ëáز‘^ßÉùe¨ògñP¹t)®×øªdG­1÷U?T'züüßÖ^jà¬>ó;õF…]ùƒàÒí”
ãš.vs
aÿ´{óPW¹¥uÌ•+@õqæËæZÖ›=ah
(#÷m¼OŠ2q8nQmnžz{?EuØhÕŠ¸¬bÅ}qÚD÷î¬}˜ ‚Ô ünáä>ñɼªì†‘ɘz~½”Éo•1Íù¯ÍÀÉ~˜&—Ü Ç7HÍöì¬ý.É«çBk8c˜&e5~}ù@Ù9cšöAñd’l˜âó‚·•'K´`$Ö1>ã¡ž•ÈÀ.‡pS‰ž}À7Æ`)Ù‚fÎLB‰äæÒä; n:Ÿwß_{ëÜ+Û¼ ,ä‚yO1TbR@¸Ôw#ܠ꾑iJþN¸T&h6
#Má–«ŒVebžYäëLR`±×("¾7w±s$˜'‘»t°ž¦”XT
ñzF’ 7Š§é®òɉkV!M-µA½R?L,¾Ú½´^
³c·<âþÙIJž*˜@Ù&8‘BV¢/Ác–jù"è
Òžœù)gK/ê³B^cÛž1Ìàúå.±iW/ûÁlj§¤˜
GMá;÷kA55F%7OíñŸ	v¿µ6Žù›ûNQÎ÷Њº‰Ó”"òZ/)¬°¸úå[q†‡úO"¡oëQWlømÄU¤xSˆo×S­”+äD5駛CsÜ^ï™>F—™Z¤æµŽ‚ɳmOu!O¨ßj2ÄtãÞÊ {hË)dŒšÉ^+…³›p†ºž: º)ùµŠ+Ükô~Y¢5vWVnJÔø¹S~ÇEd¡¿x|$%‰=RôZ·×ºýýxå4qå]:hÿrývb $vr‘tÐ2[Àƒ¬¤rŽØ¤©zÔ¯¬cªå,tÑy™T‚ˆá×ÐyÄUê¥Ò}Kµ‹º›§‰Àivg
Ÿ£ø&C¹¦›3ùÂü»øFŸÃÑîWï9£aZ/ج+¤j—#BK/¸wζ"®ŠHPF|ª=¨o*X”{I÷!$žUDò_&
úËŠØ!D+Ñú¸æq;-nÑÀ£hP#‘pÌØ°;Ìký;Ù¡ 

--- NEW FILE Textual_logo_96dpi_real.bmp.lzma ---
]  € `       !>Å~úì>°øëÐ_hÀ&œJOÔò_{|f8$6¬Q鸴ú§Áe>Ö%)=:qÒ-å+\µWY¦†fP‰$€€8—Üø ¾ì·÷¶ÿþ#Pß{П£éÕØÅ8L¯%8ø~†Lܪ€ê§òüTe›À¯¡æò#ÔcTˆÍӊ؁ƒÁ©bãÉ4j„9S–~þ¦d≡Î?žš"ÎT-ú3eÞÃÆÌoVžÑB5UM•ÓÃ(º­gðwÛzx Ø¾NÝI÷2J¿U£þî°èX`¥Mô‘C:Üލ.}l‚
^jMðú7O°ÏÁSAHo°Kš;eßaÔÅùíW‡S’àˆï‡ok›ÔÓÖíbæ§Órn}{e*ÝI/ù«ƒM6Óâ9ì^6r΀»Éš 9¿Þªôè‚&@ÖijîL9YqX¼+9I5.>S‰ZÔ“í‹/î¥&0að:|?°.“ŸÕ†ä#:#cz×\·Ó©ð‰–‘‡>?ânK»¢S­y…QY3—ŒƒÊ¤?ª9Æ÷n>Ë!ñ1¯°9²k¹ŸFø(˜¶ä¤ëáòsÖáÙ±0÷4ÇöÀÜ•úööΞvÞ9w9' ¡»>ÒQQ—L¹8ÈïDˆŸNÝ
,*£ÅÅ懧X£uàƒlŸäÔ'ðc1ê2£iÀql2¤ú	dž¶®$cxEßÕ<!Pj¤Vî÷ù|qÎx¥ó¥+ôjÝàÚÄ“vá×ê…hõn¸À+˜Åö(ÈѹïÊäUJÒ£XX¨fhƒ\ó	‘ÿµ¬ h€1‡Ö
¬zÈ•Whãß38UÑ}§Ü}"vr„³îæêS+ŸqBË—¤_šÀ.þI„Ž³ámjŠj6ԁ\S¯rÎc¤ ŒwÁjÉQÞû>re)* ók|_"ï
ÏýýþÁœx‹¿bȦ¡xÏ?‚·2˾2_`*VBaÕMi™‘z ±ºùecìä¬5þ&Îɽ:sÜü¬Ô.ytåaKF“´DÞ¾ôÀ¢T™ªrQr_‹-d2¹ˆ´úÐÒ<‚NÑÓ÷T¹¤Gp3Â<_k·ß
¯ñέh5PÕ¨´
|V·²ºJ«Íüøâ_é@o%~ !¢ýÜ¢) Ú;ºƒxÂ-§!’üA’îu¡ióäÝ„4Övˆ›Db­®ÙÈ!WyîCÁGÓ\îI›Õîÿ0`f
[ÓsGN~Ã3c#tªŸ¦Fõfê$9Õ«ókùN‘dÃÿÖ„õtÜzÊã×]eI×Øfµùü_gJÿ)ÔÐ-œmÿ²£"­»ç_.íDi£Ý°(' âbÞò;	®ÔY¦>Ð|Ýh‹B€I-mgbÍà"zT™wŸm¹¤É¼bÒ·dìÎV>³2üæ'žžÈ‘×K¼HëL9‹øÀýïf÷¦ý~TÉRNšî&gÑí5< (d\ORVü"‘·‰zÝzRx*ÎþÁ¦Âƒ”’»âÚ~æ:ÑFf˜s
­júµÇb€²CÄç
,®®;p‡ò¼ý,Xï3?7FïûÚCf3`]†VÒ°Þ,¿¶Š¾}󵐻qñ= cõw¯›Ç7ë^2¾x‘&àò—ŸoŠ¸e<òr±vZbèy*Ëè›&¥pó
¨£Ý†^‡|Ýžø›PAïgŸ M1ƒ›¾áÕ«]™Æ’7‚nÉl‰=Ž¡–C^Îs9æ—<ÆM–(À@Ž?dú­	]	ûª|Y#1Ÿ)¹KwsÈâC&ˆ·øãÉÍßÒJZ'o¿_IÞ§Äa¯x+úm²?3>ˆITŽê«P>…øNu_¸8ÊÎðR—÷0NÊ6_ ÇJ_ujdýG¦zÉàâB}i—¦Z؝;EŽp Rœ 

--- NEW FILE Textual_logo_background_real.bmp.lzma ---
]  € 6       !B¾úÕ¬	ЕݱÔå#Òæ IÄÆSû2Ÿá-qÎðG]  

--- NEW FILE TrueCrypt-16x16_real.xpm.lzma ---
]  € ®       Š€%ŽDMÄ!³‹;å5ò°P/¤ÍZáï¯nŒ	õ©vYÉÿëYº#AÁp§ÛÇìƒ~âÖDè’øM
ܵß4‹Ï‰K&”jo<½ ²…¿cJ.f ùù({QÏØÐCÙé4!×¥²Æ0¼R¬<s‡aÉòÎðsaF

--- NEW FILE TrueCrypt_Wizard_real.bmp.lzma ---
]  € 6c      !BÄ~Œ¼ÁåÔ¦¸óøBð¤
ú_…|Ð1,}…›.—¤a2êÒ+Ÿ7Þ‡a³·iáîU	j„œJX›Ñk¹‹€•E³RaÖ˜•û¥iȈ‹ú5>·âˆÞ;èæ[Šq[âe ¡š
´Ñûi``L·¤cCÍ>"7äCôœ¤,Pö¯S÷/[ÿmÚÏbÒ3;ÏhyQ Ͷ¬¤Í‘›ôQÙTÈ×ð‘{Ñ‚—¢õwGõîr=Ü‹f½ÂZ¯ÙÙÂRaíWáV¹qÇ•ÿp¾çËÇa!ø €,LPm•Ó¦Ø~ô&Lï7æ¨éÈ^ëwýŽý“UÁ]ÃO˜uçå\¨#ù½X»hI„Eì¥-ù†£è
“á`üP–ÑFƒæ;x§ªf rMüùÕ~$ûU­ê‡‰Áµõ¿Žc``@aÙª¨;ÿ<.XNÏÞ Ô™I.P3㱉c‚>ëØeÝ;?§lèÇÌä6™ãjHiDÓ™¹±ªÃ/g¤¬Êâ‹ZfB$0äh6‘)áð¼fÓóÀÁßV韗Òé÷”Ó‰[w
lž	Vn~cº™«ÿÐ÷Ê«•ÎpwæèÓPk;#o€†êwðµbg ê)¾Ï±ƒ‹u%AÔ}ÝŸ/.^s  )šJàRò<l·JC°}ÂÛµC©ñ]8Ì46ñÚ%Ž‚[}m…RHôÒ‰Q
­lìLs°¢—à½f	æ"·º£G´þÊåó3U¸K+PÙ²ÝKð×Q‰ñ¤Ó(«ö…åZ¿äÎ+RJ¸‘¹Á1¤?ê±K¨rM­´É·º²~ŠÊÔ	ÏSw¯Œþ±cŠhÈ”çp]ãù‰ÞALŽM-ëB%m Ý?5òoêoVŠ†Ôñ^[q[
Žë+Ã{„8ð¢\¡Rž *p9α?ý©Š·Hc¡ãE×o“>"Lw{Ý8û³¬	™WÛ½Ò›jìñ¦—¯Á N ¶ˆäâYÀÔ~ xóH~jÒ
¼’»D`§™ÔUYc%¹!ýžóµ°CLXGv%ç'Û »ÿŸ]?çᝲRè-üÞ„‚7Í•áîTÿ		çÒíOâMÌ™þÜ›a$R¨
*Ö»¾/!o-~ÃI§kÆÐòã¬+ki=wâ‹ö¬£Ñæ,†žô9Y⃂Ž;ƹ£Õ 9»%PVʸïóä(ëANâ‘ (z°(@ÃèêNw3š»¥ƒåÚ-‰0e&Â?úØ·Âôƒ{ãØÃÏ0&ª¯œµç	›Z%œ.{|èàú"#ZÝËöƒºù®ë­Ys Em¡ž„BYŽWÖçÔÜB±åêbÞºÜs-œèat³\ÆãæѺEQþlþtˆͦü$(ào •¤[ª13#9G:µF‹ß7s…djØ[Èv /@¦žS§²×«IiŽ,½G ™’ 8'ñKèÔS4ëQå=JŒÇ}òD ÞÈ,…O”Kü»þ|_úC†Î¨ðÍŸA»
¸óÐ1
‰€g¥!ÔƒâÿäµÞà
[”5P÷¢ü«l#÷…{v¶9/'mÑYS>;JŽu'{n»G`Ì®—ê^!ݧ¦&¾ƒÜ`V>N·=`֐‡jÝèb#¶•øÐj»Ÿ-\–	æáÇÚ•Jun-åoøî÷ï¥Ï>j¯V®³8
Ü0g=rÓŠÄg_÷}ûlÂ_ŸQOâe-rÌ í[ó˜¤à^ØûˆSgÁ4ÿºL¶3ß™úƒÊ,.
›¹ªâaC)5—¹êÛF|‘”ijß}VÿÍ„ø€lŸWfº] – á±4º±/¡Äš‰Ð¨ÅG…8E1q&‘I…ÖÀÄ¡á$®Ö*£ÐçùÕÛô¢®ûGÐ꤅Cr|«'–Nã“û܃„ØÇäs¼±CÙ‘T¡eT¢[U®T0³„n}ê»_Èk2+R”KH3;8O.ÜB8E#£ûÑÒQ,(yy1”“1 LϼídwÄêÈï#ªÝ”À?¸O€Í9³‡@Z,)È·N÷ìïBµ(Å çC!ivÃgŒ>`(	¥ð²8 ž‡~בûQ%µuÒk9Á„³QD\<pBŒ7±¡u({®@dw¡0~÷ø´ ,ꃀl¬åõÊGf‚#üs»¨ñÑïVëìBêŽqv®Ýµ²ïg–ŠËPbäÒf.ÛáÈÇXsDnR€<ñ!¢ÜQŒÍò„ºOG
f>Ðr%ÂY¯ßÅ؝|È£?8/§ÎToèÜ’ƒ‡±èIã\jòt²Ì~,•òå
mfï‘‚ÙuEèíYšeǘ¤ÒAYîÅgëï/Mžõÿ
½*Bˆ¬ðŒ%$<´àE˜ÉlæL`’bë¨Í¿\ÑÙVíéÂ:¾”×4ƒ™ŒvR`ô€(ªä¯í‘ÉWÕ¤žÜKÁñjMÇQJÅk¦ÆSyôWÙf4˜)zPKŸ÷’õw­ú“¨Y< ˜±µû€j‡™4ªf€ðª
ˉ‹äY„þ­N©?f»­6ß ÔìÉeQr×;¾Ë©‰4(.żÍnFnáAö;Baª–®ÏjPµû"U€ÛßCë^qi,mñI;ê´œøL³zñ7!1bÔ¸}
ÿ¥¦W=ïÑAy剴 õðÎÛÈëlzb­ÆÓ´D÷ÇjëÎQ6“	14Bì`Ý,‰þ$…U\“LߎNå ¹»à8&¿>aïºeM«›ç °mY[;ËG]oì›_uÀˆÙx@›³~¶´ævo!‰„J@†¼¾%~yQ‹À•:ÂY‡Ä'µiq&b­ë›INé6O¶5Š„ÅÖÿÕùáBš!.¡Ì;µä±ÏÔ0µÊ”m2Óñ75‘õ™£PÏX7þ‘¥þI¦­Ð£@ÕÊV·`ÝZEàöGÂ%ÎiP at m²¡?ô0 @!öxyk ±¹rÔ¡m䊐Ùãað“‹
(ÿ.·õw­®¡–?¨cÓ‰ÆÝm
Sá–/sH!bì߈‘j.¿%ÈÁ ˆbVãbíº[e§™€¸p"­Ctmî”û.تŸœ
y°x8ð|ì‡QbÖ¾säF‘¯o2ÎJPðD*ðâ¯HàƒØów/•;ÎÌ‹‚׉ÜfüÔ÷¢Ðû¶
@U?Ťny¯.ÂQq%üý§±m¡ÌÓ/íqëmµOËž/G–e½~ƒ?k~~3O¾8³Bþ7ah*}_­Üs];÷ÎÝӉΜý–vHI´K×=YD¨+œn%ÍÉ—
õ=»Ijüc€šG|#(PáHÌ)xÏW·Ú°>=üx¥QÌK€5ÏÝmYõ:ÂÞ±™ïõM×$—°,e|§%~rý’ÓîKùEñH¥pl+Ð/ØšõÇÛˆ×`UwXcƒ»‘¾ÚN,Õ'a¬L§³&
 Ÿ¥‡‘؉&ô†ÿØÁf·{ ô–Ç´JüZÅÆ-²ˆr†Ë¾#3)	Îܳ‡p£3 ‡¶…jmI
¦Õn±Ãé’þ=õ~§“
ò5‰—­üPB;3rX/*%í	ÅZ¦.Zˆö­n‚Ï×w83ínQËKàgÞ¾ª®§Ö½ˆÄ­QìqlÌS‘XÛGŸ?œpBYœ•E¯äÄWm
U–Öò@X”ðo©6W°ß`NAÒÕãÂôø¯ãè›Rô<Z”R5l]Çڝ)L¼{×»(\ºƸ'o3‘קÔu|"§²­XgY°Un"È¢þU­ä÷Ì4ð(|È!«hØAèâ]óRµÃ¥ª‰—W=‘ÙåùçoôsÒŘC°¬çµ Öþ{ŠiØ°¼N¶«‚!yèä„Îfþ«ƒüçD*âø2{¿kEMUU)´¼Æòiæ.$®Œ™J4;˜Gé~ä¨f9´&q@”ÌY—ŒÉáÿ"¨çú"‚TY®æ·†ùÂÎœ5$ÅÐ|„„ŠçØÌ,ÞV¯¸éÒ[¬1aJÝêqê^™¯StB^qnQçã] øe€”çl‚ús¦ñµ¿³ñKWޝÛÝ5ômñô™Z‹ÜM€-Œ×½ƒ‚Ŷ¤90’‰èa€ugº–âÿcš“̈…j”·¢Î„>|·–Ö4Ø]B1Õú
}ªhHOûD±/æuàΚe¸¬w	¯ÊK1Ûäþ‚ Kv@ cS¹{ƒ±
ûAœýÆ¿ûú­¥c±Û¼¥o!m¶‹Ä‹Á¶x+Š"ÄÑišÏ½˜S-q§Eþ–HÉäfÿYe¨Ñ¤Q¯à°ÿßÎÇïÞÛœc›z÷™H]¾z›¥áKk£	cHp';ßó¸Xs[Õ»)\ðöš™ïü!ï&]¹ÕÓU¨wÄuX0s}fü©¬/
;·ºTҘĚšæ1"ëk8uN)O ¿û2;hy:,é¿å\ülv¬+f…ð÷d3áQ5IðÁِ¨Wpô$¹†j(T=üÍ„WŒßµ'ö´ˆOÔë'ŸLëp,@`¡î2ÍÁì-¨‘â4)m5~VõRtÔŸD›±+=^5h¼åôr•ðâ™kµªÀ“¦ý:RÔq­Ú¾yèÒn$pû—~ÙíÔu|­G<­!û÷X­ ~âÈ9El9ø‹Jæ·þMafU¸ôâß@¡
fVèÀ>€çB5…~O¢îgý~ãV¡î'Æüêpa%ò×2ºÌ•¢ðŒ­¤øBQ+û‚ÇMuêw¡i`/µ˜$A†%U}¾î	À®.ÿ•¶6Ò”¶ÁÈà¹Ùàå½ÏÕÖoàqIM
¼F2ZLÅu ãѶä9RÈñŸáî™’Þ׎Š…³¦-Ìl¹›`þ°¡¤ˆѐž ¬*¯Ô=½'‹£h<6ÄW:¶@U‹f°1áŸU‚úù…=I
6•åˆE t|n9}}¬Œ;5Eµ“6iŠº)1lª¦¹…Éäpü¨¾2ZÐC/ƒtÙ­ãXTª08ô_ïˆãeöýˆV,\(¢˜­UÝõ$¥ÛO‰Ž{'´2›»´èðëC[CALú-Ž„«PD`;451(c›qNŒÔ‘À,]"'Sy¥aœ¥‡ì¨û'tçÛû©P9àûDo´)ЍhÑ®…å¾ÅS¼`-[|ÿ® èäêy!ÌÛŸì1¡ñÈqnBK‹ßËÉ'–âú ].ƒ‹$¢ùø'é–À!“ª¸‚iÄX·¯X½Œbm.Ü{6,5[ÄíÔ‹V}E%Ò¦â-‘Í,#ÒÞ¦`Oz:ü÷´µpxðúÛ øìâª7QNòœÁ÷
ÜaªØ1»»b'ß*4[xšÂÌ¹Ä×Çdb±«b¸QŒ$N6^.Ì L&åúðH³Î­Y[ °}Öø6´-e•°OšS…ØŠ^îÇ(µõäð£ÆÑŠ9DPj%M¥¯>€ºDüm: ¹´HDÝ­¸•KmÑ ºõFpâu> Ëy0Ÿ1@¶izÝEÜ-ŠŠµr	ì¥Ù;Ú±—KMÄ4f‹!3.cÖåÁtó>&¿0Âá<ƒŸ‰žlÏUjV+‹þaÍAO¾?YÉ,³×4Çûç³%£€—\Á«u€ùCO”,ç¨á!Eªï“È–þ±R—ùúzÆ""ρ"£–kHÝStó^Ú µõªòM`cÞù<;@³v
ùxÙ.{]ߍ'Ãf»!‹5ãB€ObPÃÞÍ ð¦¨ ½	Gä©S}Õ•O8…Jd\EÝuÂé«­Ýq{ñî[jN*Kø
«y­hî«›	ÂäN¢å1­â4vdf›—LiGšÝ–ì¸maïÞš•“»æ®µûˆå3)#î“W‘;AᏧ>Òm0u“³òï¶Ì3~NÈ6ø•¥78Û¬!é&uhÊFå7p,—‡?I®ë˜ôJFÒ#‰w’Ú¾Î)»çjgÅE§•s”CwÏDàB+GÈk`NóOQÒÄ
}šïA#Êð&åtQÑcUûlµFµ×X"-æÃk ‹0e¥½@©{ä&yÛ/!ž–¦¨ß­•Áq½(a°ô=wqàçûÎ¤ú¾}ìˆú]Œó p¨˜ò0ñóàºÏ
îÕ¹ñ€¸ ÞÔqÏ?rzü å¼jô«1”I¯K4K7²•	Xó
ú½Dcu¦w;"¼÷Ë
ÐrŸ8«mxé瑈Ï|±Üù¢¬f™È=ðòo#çâöú[=[ÍOÚ‚œaˆ
ÖæP‹0
\BáðÇu5¯-ÍS­+DEY¡}Þé•-ÝÈÆÓ—[”‡í¡ô@% Ä®}U”ÎÍéÄÑy™H‘Ã’^jEƒ¯,èýmM_¥y4õIë_ü…o1‹í2r©Ln¤]ϘÀAõÖ|bh†ûLšÿÕ’Š`óòmÁ’­yDkwáP;Ž¦obT†¯!Íá¤}’z]«÷å~ôV圉S©/aÛ}Lý÷Æ8jt`);ô<ͺ?®5t,´á•½!øWÖŸ¾ò÷pfÊð1 lõÖ­‡Öàt½€º÷4áYRd•¦†ÀÞòÌƦ…¡„Š9âtÝ?þ9Xü4á{>Ã`ºi™Lfåôù^\‚|ƒžãÖ÷äš0¸²%i¥zYÇË,È6T$DÂZâDñ5C\TKaX<KÌ¿Ó(þÀK¥F¿
‡P-Ø«m¹O:™ÀNZµ—ºn|mžw–s˜“ ç1±^ÁîÇ";ƒ¦CëßKŒñž]“ýY¼Ùqîñ¤ã¤ï±6ps]==Â!q;þýù³w¾Î׈PP8r|\Ýá©DWÝó·!„9Ä
£lá\ŠCóÊ2ç±ø4‚­¥Ý»ôÑ{ÛðgQ· Í;‰¼¬=™Ìë¼™sG“_jI6ï_ÒÊØp¹È`öü¯bÿÇøÀ€7tTMÛbœŽ*Åu4&wŠö3€pS&L°¸Ø+²ÑœãTµ€Ö•*\Ú)Á]FH„ƒ¬[æòÒx Ífð4I®‘÷§ÜˆžêcÚf¥nT¾ÔðÝ“¨IÇ·_8Û™¦ù¡ŸSÃ3bx=w
Œ‡þG/–…UOÑ©ê÷zŘQ'ÚsXl¹ŸRDä¶R)ÿ”Åš¥<³Þ¶ã,ÐãZaúXw8@Û7gÇÜ;\՝í^ãA¾w/Íò*f¤~$“0Í!ï0iš³×;C¸,!`¹R@¬*1~_ÿ^š-/¡î7
éçé¾s†NÚÈż²¹‹Kò“³øB+‰Õ+\R±Î¼¥Êþ"‰‹3œÈeho ‰
^Mz¸ÉÒW½ζ“1¯,"Tó:ÿÚ=;0õ!¾ÄÖ%[†Žk¾bPS9?&±û3Ô„Ø‘é#ØGèó|k8‹ÂlÚ)Ö«¨_ÔÌð¦9H‰\ZAH$Ë-ÃGt·–ÙŽ¡ØÁŠ	;Á'éÙ4yù,Ü&®µÖóM{ü«àÄdiW–ÒGÈE˜)uÀÃÍ„ùußÑ•´%ëTÓÙí×4y
 ¹,_£ÍÌr•ÿ{nžUv‘Ð/Â(áÕX†¬Íô÷4¥,žÄŠ¢^_Ê^/út=Dï{Hœ	|E]i*šü«©“«ß™È×øÅ¢¾Oš×/õ®%pDÐŽîChœv5h@¶üÑÎ_ËVr™†ÔZA«'ÍCÍÕIOǃ±’¸çmëˆjaІW‰ÈÜ!nШቦêù~]ìÅtòK!‘H)õ¥W.û¸É(zºz7aT1—Õ¼ŽtOA,<•¼p®_É%¬$l^·¿6l:ԏÂzŽûù$ËDBœ »»ëa‹-ø9|Ú”¶Äpøfœ\¼vF•,út¹*Ùœ²ëÝ™~}
‡„	€Â@?kŠ÷j“µNRϘBòÞyì%ՁˈŒ$s]tÙ“‡à¥ôÒRáNºg›‹
Ì\ëºÒK<k
y$íâ’Ü"§W¨3ßʲIÙï(ÁDZŒsol£I‹’Ù¹-ò TW¡b¬…ûA[ömuHg™ô2³nEŠ@û¶>“´¨J•ü^XÖ£ø mi¶d_ÀåÙÛ;éIzçÒ}µ<-´—fF:Qs›ÏË…çVëQôâ¾£ˆ;ÞSÈɃæÕ˯Ð.0¦ŒâSA+ºòÿ´¯e~“»Š“… ºÂ¥nW‰ iËyÛ\$‡|;÷Œò°píÑp«4E^øZ§c·Þ“?Õ]æ¥Ö^çæä×3¯Q2SƒÃ
Núpã×ꄲ@!)¬ý¤ZEæ|úÏ‚ÃTZ™¾»Ätæ+Æôà”Üñw»Üp+!8h[_—,üÄ윃)¥OìbÝ{\ÃÇ™’µŒ¦
ü‹Úšðé½Ë–뀡‘Ë>±qŒ“ÚV3ÑÖéÞ:X¿^5ŽESqGnÌŽÈÆdc®CsçJ6[ð^SmJ¼äƒ˜î˜Z¾ÀÉsYïB-<eàXܧí	´ÝÕT"×WÖÑõvõÎCÅà™Sg®‘æˆÛL«3ÜîF[æ$õ°~°dc©jC ü­e—ï¬ã¡"À¬À충R~u†C>r‡GöÁZfr­Á¼ks¨÷ksïßCÈ'pÐþpê®Òh>âL¶ù–n‘«=¬Ç“ÏLà–îóe€«˜Û |ÔPì78ª‹rm"ÔLµ°W´9‡_Z#`mzùã÷ðSE™0‰ƒpÑ’­<f½Ìöo[Ë•ñi/¥/e„Ïr•ê?Žxq­@ŸÑ¼{{=봍¤«/+	ì$F'1€Ï1n}Ú¤ÞÒÕgÁ¤O;ÛV»û6|Ó8±Dz/]‡8m	`û•$Ë-‚¥ZU8LJÅ>Œò`Xàú†–ÀÐ~”£ÖD;íSÔ~–¢hÈ…c󟧦9Dª#¢© vLߢWCŠåTÏ_”"stëEP¢À²a᱕?€¯BÔ­cO›ñçå×ܨSV0!Ò—…âW­‹–ðå¾²ê#+ºiƒ4Vbþï•cI—·H ù}±ßäG-7=í^ÎɳNpê!ÖÁŒ‘ë©2™è”²›Q§íº_=•½%éJ}QQ»¤Á¹w^…ë}	Çöz[™¿÷JçÚµš]¦älÆÕ4F⫘%ìE°Öói4Õißo¼ÆÆ´
Ãvï–kVö¯tªì·nYIý™œœ»Ê"ãÀ›ÆD÷’{+ÿ¢ Î FVG¿†Ù˜$×yíöR#(wÅ+uY¸¶ŸÊIhÜ>¡ýbmº;¦®,\}ïz+Mz“6Ú7²ø`¼0ïâGò
=}XóKrâðèG.°38œ=†8Vg¹kR™utŽ÷ýéh3+añ[Èmžóш»ï´ÆôF쩪aøùŠ¥Ÿž9ûÒì)*z˜Å!mƒ‘ìê–d²ÈæV$¯Lë Ÿ]ÃÕˆ“[|5®dêAó2Ö­­<Ÿ‰Ž0…^«Õ+ƒì8?s©TäJZÎfߤ߶&÷8 Ÿ¹MÒµ–c]±TÖ±=¦Eº;®›dVÄÒn=a¹6EÞRÑy›Ì†£\ºSå¯ø†\ÓÂçßDÓ	oñÌy ”—hÄÑ­òy$‰›þv¨HB‡õ¤Æ?eÂpýwiýOR,»^Rwk5…Ì/'.ó†˜od3Ùp×	©ÎÕ&|m I]ÔLِZ:n·ñÀ)š" Jd+ð	^ü
½žÌûkÒ™R].ëÈ	ç 8ˆ
‹spÚ²œ)ï¡–wUŽ©š¬AD6¼eÅ™–
’i>šªÌàv-Ɂ™¯òVývˆƒäI4	C1ãlÄ:—ü“ÐÄüq¶§•=ôŒ!— A`ÜüW%õ“žZ+va<1&«vA£ûçÙ$j9P–й,!rê+Æì&Bè<l½àÎßu›Ýe«Í¹¿•@ѹsF!mˆî5ÛÆw(ô€Ûu„ÎÕÏðíöH2>o îÍ!'O¸ãQæç·>tV
"G9a¹Ë”‰Äv>Þ'U=h¡,k#£·®¢]ЕR«’#Žxì¿tƒêR—µŽ/_“_NøZeT£®näWÑtPÒe¡SÀS¼k9âqæ&Y-鼺é9aë¶ìÊ@ Ëô 2†víúÆ!’…§KΨÚKeZrõsbîð !ÊÓ—(QFª:UZ¥Êè”D >‹qW)†!5îµ;©b«Ký5xB…2ãହïFâѽ'<
Û?w«¦ÕЖ鼽¥ÆF…æpÛN´È²Ä>ÛDê’çñÉ–4’×Ú4®ù¡é£ªhêg³Ýfk„hÀÔL\ó¼¾
ùm„1†¶–ۏà%TMò£eSj—ˆYlX?È’¸…Òå&éÚ>þ/°IÎq»IåQ
ü_å‰-Em…蜏·°bû4øK–©|ðO¢FT¸‰ºÚ’iši¡—}æ3»{†(Ç“O!RUØF–qˆC<µÏÙ,ø
û¼ŸÇÇ=õÕ¯ò%ϱ®¢æ~Fû1îM7düæ¿ù=¬
qrÞù¯Qš5d„xëñÆÛh§×•…tgU3©x¯2ê4†¥ôá´2%Þ2Þ7œ;a˜×’è.¡v€~Û—EÁð¨*>Y4‰O>m–hý9›ú];ø¾ì.úÚ/3¦WL¹KONHß
ÎkWjŠEûç•bÐrF3ƒÜWµHýÓHOtY;A93 BˆsR'oÆbâ°UÛ××L–(Ç	r)ªÍò}áélŽ»	A9WÄV°¬ðÊÄÝZjòõp/l‡åƒB¸qàŸáhÍÙ|"‚Ô4ÁËyÍƆȠYŽ×'•,¶P¡P´¨ÐÅ*¦ªºÌ)ˆ/ ¼!04‰o™vDºØ×ËɾÇõί5NÓ°*´ažÃé¡vmBŠT“Ú:Í[T±Eìr>÷)É÷±<}ՐL;8j…ëΤþ§½8WZšøéðÖ¨Cé±uªAˆætˆ	ÿóZ”É°E“AÖä„òÉ×r;]"#‡óX§úQ¬|ÜDNý¦‰¬¢¤Å9‡'æc…$—g$»•¼›ºžJô ³¯Œ?Ú7‰ûó5fW„žAëZ\Ì^`üç.„EO–ÓaVôÖ7ç[Eõš‘?0BŠ¨Suî§ «þ½q±òOý’«
轸¯ÀF†j¥Gs>>Ñ,Šk‚×ú0¦Dª³+¹oÈÃ,NE6LÇƹ/íÂ0}³ðò¢/9‡Î‡s•HªÄàûI+5a¾Ò…-Ÿ…¥ðf~Ô1ý˜`~»ô¸!QöE8
o[YÙ±ÛËd€ŠˆzM:±‡‰•Z¿²­WfŽ?J¶}nièÚ5¨¦ñ_þ}ê¿@3ö£ü¨‹åÝ~æòÊËÏx‹ÐPkå®;Ïô<ûÈ€ó#Ö­{æ¿~ãþGs™ƒƒhkæySQ`L_—±QùXź¥°ƒÌ-‹Š²k³ž”t5ÀLÄ6™S—ÎM_mw¼«4	0-Óy‚CŸÛ
ø3±ŒÝääá¼Ìõ€ÛF[‘â¸_æÃpaÜÞ²ðùœÝÙXÈê÷W"jÒÑ´DZóî|ÁJuì[õt…£WøÙqÂQQ†#¦—û\èÎþ˜OקrÑþ;v6ÇmˆùM|“yÊÏl½H	™±ÂùøêS¾Ú@Ú·UÄ¹%jºð5ô¼„b™I¢ö˜ß%w'ð·Ca6±×ötªÚ„JØ4,Ó‘¿m¶Ùß?+T3Ç®Œ=µ44G8,ùŠò' S»@§ÎæÚkð’+[ÐV{JðÃU"Umb“Ì,vÀ’°»eÕjœ0OÔÕ^hN™¶¥u¤1™Œ%
{?"Æ)Mëæ&[ ¤Â²0B”÷.Ú¹h‹ÚWXéVÌkœŸÿ€R_
(­Ã¹¦m¾•×É=	¿¤H\EŒ¯¡¨=
1È>ÊÖ‹ó¾dD¸j_ Ÿ¦«DCø^òjõ<¯TWª~.èôf}Ú+’ùYè·bˈeÉþ*&šEòÂ8ŒéÛ&†¹ÇÜC]ñ>SäË»{Î*ËÚò~1!Ž—”ª7H*zhÓžÑë[=ÓkñÄ€ó1y>%>EzU0c D2¢qqšFÑÅôÏÌÕZqo”¬,3¿'5ênc'ãøçs_‡7˝è%ÂJŒXnÀ[Ú¾Ìr˜,d”{îú®
WS¢dó/¶ÔЃöbÑ{Vó¿	Çô}+ªJŠtóÜD¨~*‡]øöEܥιXò9¬æŠ…fÑÝüºy ÿ¥ÖÈ¥¶Š;ç"jÖãHj¼’ZPƒ‚à *\o•ÂW:º™‚¤™wÔŒKô/*çA­û%žÅjËjý|7 €Û†2Ù.™ÜÔ>Ø©7vÁD­¡eÌPÏ*åÀáá#…ª2wpYN‡dDpÅ‚€#úNœ…ëü:ÉÓKÝÄy<l«ˆôµB⵪Oìs6ùmáÍFÊžÝM¹?K\‡Ö
¯:AQqþ(„a£4’³R€=4vNWðö‘X¤€Š¾yÒ(^rŒ7<»=sL—;ƒK¤²!#êMú.«”f(_d[{ô:ˆ
Õ&>°Y“õ)“­QÁbêíž8RaÆé…HwÕÁøW$PãWÇû®Rô8ïøïn‰ç’3˜£Á˜0ãÍ°³`Œð|t$¬œ´uãؐon`­+ïܮʭH\dσ;Å!;6¯_ý£ÀäU‘LÔô§ŒvÉıÙBWåŠ÷N°Ž·ùÜ´`!B{·-R«/íc#±WÄïÐ;:úè·-~TucC†óÄ\Ðt³° sÝ©³ÚÈÄÝ'L&ÃæV«bË’OjYS»Çð„O`O²ïQíÂ©£\eÝãCƱCæݲRFm
˜Mc£úÙÃüÌB˽a~÷F at Qs÷­7þž@î*\èž\3¨ Å¼icîêÅš'ˆ‡Ëæ„6·qµ÷-K5µ:PôÌf÷åèÜ4å;Ù)v¦”TÍ “NagBn?+ØŠ
!Z–éxÛ¯C¢ƒ×W
‰;:8ëáŠ¿3Vòz³\¨7¹ [¢¥¥J[m~ùeóa6-‘ÏËr¶Î¾‡Ø÷¢•«sf>Ç(($. ˆÒýhe25Z”?ÏÄ¡«ßb
ÆîþÚd†¸ÐøæÁ`Žf{'m²ÍÜq°Ø-!É
3ãw0È·žfñwJ^Çã=‹øëlóMêàcªŒÆä9VºßE¼JD)õ8lY’Ñÿq^¢Óüº‚<Tl¡S¨Sï¦/áH
ÞûÜ7ý̘Dé7ël®pWç*ŠîŽ‚/’U²—O?ƒ¢µÿi£t÷¡—á~ÀéÖJûb>oF*¯#ÃñAØ—.IŒ¬Vñ°½LÍþaì˜üãüF×<ø^‹ÆSEWœAq¢óÿžgÆ>A\Ó9–N‹ÒÜðP×!~!ßð2¢Nò1šâbðôoÝÏÀ®#ÿ2 'Ô^
ã‡B6Ì.ŒL¡Áëó<Ï‘U8
°AÙÅâGï×SæƒÔòn|5LAü°Ð4uq©Å²tI«ÛNÈøŽ}ƒ…Îè[¬†Gu¦ËBúÓ¬„²»ÕOfÒZÿ
ªÕåñÎ!ë
ðP²¡¢zƒ;/1ÞjFæ\/$xS¸
ÉHs­ê›’ñH,H”Y·Éb¥™ìijr£wKX—CBvë÷“=K6™+­É•Éƒ[\”¨øY¹¾{a2ò:#÷Y¤[U–ðÀ’
è#bM'9B‡‘ÅóŠ75=]™º÷­j!yR¶5'¶ç­ õ€±5yÃ;c1MØeŠjЙ gEÐÿ¼Ý¹õ‰xdl–Þcþ²Kv›íuSzöëTøxojþ¸Æíáp—Ê4PmØû[¯W-Ö 
Öêpþ×n%qÁÌÊ#{û|+±L­\â}m4#.>V›7	k“­~í¤\'ÕJ´jºE
E‹$<Xæ'.Þí6Ñú‡ýnb:Td£Rm[öb¹Û`¿eYßØÐôª;÷-˜:w!ƒÆ£ÀD^IB–® E_PŽxüæj8rØ´üßßÓv¹ôV¾Æj“Z4Z
ÿޛƝ:þo"‚¾íG‹Õ׳­•ÉÑ”â
Ï-çO¥3…P«Ù#70ÜFE±Í)®È{Ìô×ô
\øµÈŸ"æºw‰|' {ÿ\ON|õn3ÿvî„oTáz»»3ó½K«1¹ùìæºlü&G´–9ãz^`a+W05T‹®I$èQã*ùJb$˜»§!ê¼|&ýð<aR„þt"˜Šæ‚ö ·¯×àñ
Úãªû—¾/Ô¥`)Q¡Î©iÉçUxÇØÔ0Êò©º¹¹SüU…¨wYÝZ0
9§nì§j3ç…FÄÆoî	ªvz/ÂM"ñ¸ŠGᤤìç™n„l'<÷v!—™ò³Ýî»4n^…ßU†ñˆB A£¬hætÔÉzÔL£2²k¦3kLéÄÅ’·¨nÈžg×ØüS“ã`øè{µ96ÕÙ÷uZÓv}Ù<óHDUÌZË”£TÕ6ÍõDÆ€%ÕyAƵޑg b„IJѕù«s£|–*d£­ÅoØ-Ã…í³`×¾t´À¿]üìèúž[}í¢õ- cGî2òP5ð5ÇD™ uÂ$÷¸Ä’:ÄŒÑûd8¿,;ï1¨ÿ}õaŸ1’Æ–{,ÌŠÇ”¤[¡å ÇÅë™f¿öñߧw)"òÁ'v^DK¬þËÜÂ|c„œ‚'™ûãÆ_hlÎDtL×ÃxÄ5­‹xùgÊqQfzªõreN…~Àk´UÄ«þã.kÙuôÛËSBxÜÖ*ïóYÕlx#U=u9c†Hþ“ѾûL©º¾Y&Ý<1¨ó_éÑxqžÄzÍý¸Ö€êË€tsU[(Éɉl¾5ÛFŽãt¥yÊyëÏ€£Kc0	$dI'¹n9^.5Wçýb¿«€cˆ©©x]"Ê¥MËÛýç
T¼˜Ú]7ó	Êñc‰Ç(-ºsaœ/hºü!dñÇ°tXÙ$Ðù
0þ•I²Í«êØQÓA÷Ïg9·Y;e^Cì.µX>3ö?-J?àø'˜á5–ä·
a~¢ß2Öþºîƒ1üˆ-ÏäÚ:ìm»ÆË—°jürèµHµî·~…Hð)–SU¥ý]bWÞîjö™ÌÏ’æšÉ`UéFü¸_ê5‡"g}€¥:ÝÒ4(0
ñCùäIiž~o!ïf"©]ö¼~>>Ä<>ã ËuÜ°ÆüãIˆËpö¤+¬Ï”>ƒ‘ѧ9‡[gI–0ÎóŠ1…­è>„”ÑßâWñŠ‚n"ÆY¯
…¾œýÔÖ´Ò¶îGD¿§€ê?J	“èf›î ¾ì¤>ÉdLø¹«¸4zš? X²ú×¢ÓéBŸŒ\ÜÝ·è€v«†ˆ…5%>½#ÉÒÔ'mê!æl};꣍®Ø3¥äUý7'¥?±î”>éqJ¼"–½D:ÇáqƒIðxØ;·Ï[kRÙ(‡¤Øo°0öÌxk7B!$„&–ÿG,ëÀÖïkô
Š·ÈBRme¨ÀíÀ%­äLÆ‹11÷²ü-dÍ7iL\L¿IOò“´¼£!ðRÝ_€ÕTå«AÂâÛ©w' û@¿ÅLÿ¾ˆ1ßp¢U~ñ~ç¡}^ŧ¬`÷RaÝQ@º´ðe£J-bj£„•êVš‚çJ„hÛíqv]‘ïD½àlªÛ¶¥÷÷ß¹”)d1ç÷ ­ŽõWÄKŽµ !Ís25ìCFÓ`]|–©Þ=Í™áø”«G‡
ÝÚQPR¨Tâ±"ýû'	œ«7åæ.y’½ï'†çšˆ£5Fƒ>'Ññé”g'ŒšÃ¬½iÝâWêdõQ
Ù±
Ø0•dRÿF*Bî*¢Ž®“fO-LWO•N±e aÆ@=’"¸È"ƒÍ¿Ôò|§-LÅNƒ—mD²¨¹¹ýïl!I³
ô‚®Ÿl<Óµi8Ё:¥§üݧXÁ4
‰k‡ä‹Rÿ$%%hô/¦œ¬Xr1Åᦒ´¬Ø
£šÔþ‹=ÒˆBáï ŒÑÇ~@Âyf¤Ç."»¥@ sªO{ÂÌr^þ¸ë6æ£ò¢ÈƒHé&&ùªV"Ñ°˜ibáêÓ‰œ@£×MÚÌÆŸIɧ?™W#ßàrÉ>b¥;ëKcœ¢CY}™Ïú¢gö{?˜bïôàþV;^Ý1-A‡ö]¹4ˆ4êuFΗa\U$”ށK§t§mI2fÿŠÊöâî[æ|y¸À)$RÕ
Ѩ"¤k†J	|hŒ pÙ)ɝ摀æ÷»zܳáò§gÑ¡Ñ°ÃË×à3RjÝeéaë{—½ß-òE%žt&ê2¡¼x”pjÆŠ}Ò‰fÙ¨]ìZ­]Œ
õ·DÌÖ*DÞ9Jã>ŽEdêÎ`àJû“ÉGÁÊ™Mց–‰Îæ.8eXûÃ*œÜŠ"XAª!C‚IN‚ücBÀe‰à/=0,~½<°Å®Ðø¢7LçV?Ø®Ý;ˆ-”REŒ<Ját‘5]%‹‚>Ç	\&q`$ÆÆ=*œ½×c¦ÝÈñ+ÚªéG¿Î{©æžÍXÁœÍNö¸*­**cªAãxnñ`T4$Ë]f€oñã†@r¶ U ª½Í5vf¸Ÿ¹G‹nC”ä4™æ^ìÞÖhTÖW…õ·gø[´84…±]ªùÁ~ƒpòD¼³ªwÖ½¦k|øª›ÖéÈ&üÅJ‹‚ÿÓcøìŠ6Ÿ¶_8
ž¨ˆ]PÓþ 7ÍñHyHÑî»ÓëèýOhBW¡t¢‹õ1uÄÏ´åJwШ5gHfåØZ*$ƒŠÔ‰üœæHO4°åÔæÏ_é:b9Ø
É¿hŠDúÝ+†`ìðXÍÏ_G6ŽVKx>Ž~Ü莅ýëæÊ8‡5ß]´J…$ààÁ‹‡ñótK[&Bfð‘YÑn¥FªS2kV@:
2¥Ë¨’ýJȪ‡ê¸_”yÖ@”–á®·l7hÛ8ê\’"z­ˆFürñ¤rp~®ôËð#5!kþžòhz-•Û ()7Ä9VÈÓòú%ÎÓ©)–¤~÷s•âA0%Iµ¥»÷öCâ0†Á“Šœ=ÊÖý;©"±1Ã8Λ'¥×^á-"œ0”âðûD݃,PÍŽ_£<¦,G0{Yê2§õLâ¼:“—x™VOøÈÖz¸7ÿŒ¿ñŠg¾ã×»ò‹7m1˜¬yl˜+]«Ü£óþU Öâ˜Kl¬Ù?½Ö¸‹]À¦-n£‹KkÈ3ÌÚ*ƒAG†aÇÎS•oµ/œ·åiCí[þWrBö 'B½­¯X¼»>œuuíAAï *<JP 8ýKs–UQ–þeæ÷¦èÌ¡\4™á¼l¢ì *:7DË¯¿{/R{FlØ¡XÅå¦Õ…ÓÛ,—HJ“ú† •öŒ¡ÒÇF^gàÊŒï<Ù¶ßÊ7'k÷î9G‚`cÛ²­þ¯lë¦íÝ]‡ì m6`D3÷{>Œ®#³??ƒéáôv½~rÉ}ºcºy_'ÃÐq¿°jü#šdH£Ì)ØgíÄY)×î-`9—»ù~q´XÀcäËbíûÇœ³€Ý#ØTa1«ÛŒïÌ`) °-ÚËq©‚éïÙ'Ôc66ÞLÙ‚¼,Òjù. /0î»X™Å#½Ö[ZoIškCeg;3=\[þ“WžôûIhk¨ÂA2.Œ1ÙBtæJ©òBDX¨§\NcŸì(Ô&· –¯æWOˆS¹¦é§ß³hWˆ‹Ä‹(aWûåí/ÏH
b>N,íèø£üp½pwjâ"Ña
æ§:Ὄ›f&cÉA,'ç ÇK?±œÿár³
OUnõžØÚ‰¶¼µ)„ªnLð»øög˜Ùæ÷€ö04Õx`V¯¾¾„ÚÞ™
?rE.ð9Ww}¨3•ˆðÀÕŽ/Sa¡ûPP‘œ,Ïm%’ã=¡ŽžÞy”“i<ã
&ôB/bô|Kv»£ú«òAšÇ ‚+%áE×Wd™å™WRO¤ÐšdÏÿùº›xàLƒ­Ãêñãú‡ÈÍ6VGªU˵L뉸¸ï
þÂ#ÅÁ÷–øPøèLêÒ°PzË%M:úcábÿGHÁyz„°ÏW´­Ô ÏÈÈ2lNìíÓÛ„ºÏˆ­•q7¦ió0×äµÍãO ¨¶Q ƒØ2ýRoJÚ¼³òX¼rº ‹¿äu8µVÿm=ÚÝ%#)Z§œ+;”98#gÚÔ0p
öÑj<NEÊåXeüè3ÄN©?~öõÊŽD£R?öâç$,Œ÷` +Ý£}&µöÏ@Ž%êÆ.
£TºyµOö$Ô d{Ýt €B.p¶d°k
ÓWBú¥9¯WøE,$[ö–3¯ÓÛ)Dv‚Çšüóè³“|
…ОҤµA¢ìæ9-{x=}ޏ۲㓚à„ý 1ïi%Š^òªmh´>Û¦5âçÎ:÷äêÀ'¸Dp?Ô:D·ÃÃC/v‚‚†®ÔAù†6@ð•i?¯6C²$M­îoj´²<Ô3d"­MWYÚndÂk0•-	ÊM%(:â\/rù™¼†¡¬?K™@Òž‡ûô¦øt9e†Š•ß†üÐZxب3™P0ZÖ}qÏ_˹‡$ÞÖÌô­, p\™±¢§°¿Å YÇÝ£‰›Ÿ"rá+ôÔYcž¾•ERa|™'cì¾o DÖž“ÈßW²é¨â¥ÄB}pËš7á¯Oû(«•,H¼Ït†Âq7ÍÒCâ¾ÌÈãtIÆj”å>
Æ@)oxH/ldXÅ…J[°[³t®”¦¥ÝJQ¿(:Ç9 ´û’å•6ÝÓcì!8¹îYë½ôÃp«lBzkì_m¸hÆ!Ù?Zû{±h]Mõ
,$
©¾cQÛL²Â„¨ë³»õ's–:/?I²=b]ïF(#ý=ŸfÀ2ÞééϾôĸâ|„ͱxÈò©¯Ž¥ˆF±¾Òç>MG4·õ¯(õ%‡Ú1ÈKf¥¹z;êë^óÑ*¨í÷ú”­ËGÙÙ¢0©A¬ÕÈŽÿ賨Fš’ÝÁ§‰þbdûzÿ6@Ê»œ¬Úiå;l"ÀøNñXOW¸VYcy¤z”E«|uh2è$ÄdãYðžh¥Ié(g²þ¶©…댰Hfã¢y3PvqbUY.›—¸ñ Ã³ÁS½¿	?¬­6œ³rœ ÓÍAÿÒì
I'kcŸdgG}!åî½s¬“\ÜúÆû¥j$ükq@ÆZª$1tGL?ÝA3)%¿¿‚1Ó¾~ÑÚˆC?‘±@Zõ2…ôØýnæJ¼ì‹M
^bßÎ0=/~æ
Qµþö]]¤o9˜ŠòT'U^ô>ðò`[ÎÏ-§51ž¹¶Ö†ªÃPgĈ„-PÙùJò/iГ€ ÄÒ2§Î˜=ø\±˜ý¾_·XüïÇš¦ì
åá ÷ÿ¡ŒÂÜ9µ„•³àôóñõxŒ¤¢CAߎ¤Èˆývk!¿(Dú¸âƒxØ®ø|û /xÕEcÛŒy³Ç… ¯0àÉZkf(>êÊ®ó´×!¬LÖûÃhAhF›±’O]ÃËã5MxFVHv?¨geÿeák(v&jѸaÙ0–ð6ã‰Ýæ%ŒÀž¢oñð*ÀG«½ˆ
ŸŸ1K…€¦Ió=BÅätù;ªsvŠƒ:;jš¿×;‹å›â%ÖÅ%Çð¼ÒÄð²š}`ÈÌÿœÜÅu©ñ¼¯Ž»ò'ð^ع3r¡§´¾t!ãŸË•kȉz“Ù4|<ÍL¸ýõôñëý>yVô§áÆîÌ:wd÷;˜݁+<\êÇUÁë>äØy=FÅ>ÖDÍ/.¦¬á‘ºdœ‡Øß×Ï8t1Žÿ†ÄãF¥	²ScªG/)n•áÆôÕîë†\=Ú1»waôDèûLo»q'u\	'y³
ëvKíµãU5‚Å}zdþ¤œPóZè·—ÀŠÏìoü¬u?­žìOœìOèÅ“&Þ£«^.›áHÙ¥îêÕ-8†÷y*Ý*§Ÿ¥|Ül*Ü>à¹ÉaX¡DÅÇ¿B‚pl”–¢Û®/5]žu9BF~­e¸ü%ècÈœ“˜*Kîú!ŠãMï+B-1/ˆC°õçHÔûcÔc%ó–ûúÑV˜Ðz¥0{¡bÍ¡tlÔuR•9”ÈËMZ™dÉôÙ;]SJõÆ·¬>§uÎ%{>ûw•ÒúE{êI Wë˜@aYÅmv"ñÐ.M×-¦‘¹cr\ôý,ó¨î÷5e îõI3$¼‚¿dqe»î1ÂÕ]+lüC̵Anwƒ«$}MYfY« MW…° Ó‰á;ã
ö¸·de¿Œ eyvZð"Ÿ^º?ãü…½¥‘ÂÐhç3en»öÇ çä†ÔþêEݾâÄ_²0.žIEª¡z¡‚ÞšÜÕ‚Ì
©_R:Rù/æŇ"(z]˜bó5ƒóägõÉP5oM‚8®öLõén2·/3é+òc35•[V¶)02ž*<Ch‘óW:¤è±œÝ ÒþwÊ —ÇÉc„EØ|_õŸᗐ #­»úV³RîåÀÒ=ùï®Ð4¯G!ï˜FAÓظqJµü~ôÒÔ—,¼îóe°K²™x>ÎiS>\ËÙeñ ­šÒJ<`ÒóŠ‚Ö–~ º4¦¥t˜ùÍ[Y§iÒè‡[‡Êƒ$“HL’¯§!þ¼åZêy„³Þ}‰ š‚`øªü"ÂtV9úòí[UÉï »»mOw«ÛÌÂÝ‚Tì¿‘œzàù¥ý8AF+ñ¹Oòâ«­‹áKɼF-:tWRü?ÎJö/NX´:„!›à¬X!RMè`pÚ[¾+7ê­Àšœ½©ïécj^Kb®êJë}»?G¿’cðjMt_—Ïûù|baE¬JÍA9p¯åFßd4Ýÿ£,&ûÐ÷ò‹™Ô:Ñ7¼5˜·`MžHú÷ _\B¾›	¤ðÃoÄ–¯§¦;²½ï²6ãy¦§«hå“ãÎ?ųHQ{Òq0(ªià­z箥{&ƒÑw, ¹žAáÈ)x_c†kr³â»’‚sv5Lð‚«—îµ½7Å0©
­Êîಘ]š€Bk¾ç%®^‰ë6Ð(V™9õ*aaŸ9M4_átÛÞI$ò1…YxŸ~à~ìÊÐÿ;CJÏÓÌFAŒ5yº(Ãᤓ*µ}PÿoÕ*w=Ç]rêȁl£”È>ÄOªd%­Ó2›ÿzuH˜Ê¼6diևƮëtL;2êå{S‹n]“K¶ç“‰µÐײ^/õ”&³Ñi#î¿5à]á¯Ö¯Æ¦ðVqë<Ÿ]jYy$tSAÔ‹g¹îþ>eºz‹ªü„ä"L,¯5±nBû}yæƒF“ †`PNÙ¶¬#܃2:Yôd×Ý༭Hv“ÓO‰k8ÿZÿ°µÖp}Ž ^+¤UÃT¹¢¹$ÉY1³ïcûz8É@äÁÙœüƒ‚É’=6h®6á쨃܋’é»!,k.—Kr@œp3&¢ëwC­?ÀÓ¾jFs“èb¤×#nÌT·‡ék¢&.±	Øñg<MËÜóÂ-΄gFÈW’Jë FMR“öwðþW×Ò"Ûû[‘G%ó¢ëlêû–ZY*&Ú1ž,×Y÷{Qªt±q¦Ž<ë/3ú²¼Y®!©Ý“ÙÐðð(Œ%ÁîêüᙤåÚÕ*õ‘Ù»jϤY¼º¡·ñÐõ	ˆjâ©bÀò²rÕÒœK¬‹&á‡Wµ”wŒdu÷”ÃþƒËâö—ý _ëðóÁi
L4è¼z›}7ï
 c¶ÕGN@^«òVBsÔ/W2¤êûKL^]eÓ“½ê“¢Ü…¬6w·‚oô°3LF¯®^,YmÈ+{Í&Ä:hm,Úuµ@`%ÞƒH'ØkwzΤ×+ûrÇþ–3QAwm³¬²v:d‰ÒžŸ}0DÙy”—¼¿×WþŽNJ1W(?	™ž±üW,֏ò©‹žøã¬cuœðÒ:óWW3}D
ÜÑË?zÃ1Ú'›–®¾k¥—Y/F?È;–“pë~@ÐÝ»Úw7Š”à( ¦³&Æ4YõËåµÄÖ©EÈö¬	‹Ô-
þé0ƒ(fž
/Þ?sDá”@½¸¿Cc¢-õÕä^Þ}But1	…½û¾¶Ü7íCÀg‚"…†;ˆ‹WU–r:©O47  *hÇøýTõò=‘u
Ó58‰)ý`Vñâ·(EW­·åªâÒ3Af\¦ÞΩÁ¤a2¾˜âOL5N‚¿êŠz…[²s\ -ÜžéèIú]s¼oMÕ¨ªŒ=ܬ=â'ÉèD°e\Ê"õNžÉƒ"éضwóüìümä8Ý^å'^ ”‰ÊGãëE²0LôÌ}Nb®%NU$ÅF±pô4‘cÞt!BŠ©ó*±'}AêY+ßYFw9§…‚Ú}f÷û2›–Gflž¼«‰ævøRäÏÀ‚ý?X;ë¸.sÕ4s_rš©0\GøÖ<†0—]+ã<ýk—?ÚB´>z°7Kw¾¶x³ü@áîáº~7­‰3S­€–[¤m$=Õˆ¼Æ­’·:­Õ( ä‰I(öoaÖÏáö»ÅŸm}"Zá`H„9B‘ËÎìUç­Úq_eݐïNO!7†ûì)(
(„hHâ<XOšcå(ø`€9à0ˆÂÛ[Uíô>­»!g/üé“•¤ZHR[ˆ)¢¯ëÁä.
hôNÄ%ç¨òd½½%êr”Ö׬*!‘~ÏžyiGõ#y³_éÔXÇâŠjbWî‹5t·Í\c;pÓ(4æ“êßÆGKgEE­ŸO—/œÐ¥…éѲ»laÚ3ïåþFžKÕ„Î1¬JS—•!…n<¨}±k~BÊÚÕ+møXEáâ~sxØŽz(œ‘²õšÕ†fÒkïOÕÀ‚g
€=G¿¹õ‡É`Œ8•µ™éiö̪èh`aÙiŒuL`ŠŽÜ|{q#3UÇ°S´Ã“á=ÉJÃS9e.šMq‰ %lJùOB“gcL…žœ£å­½"<vzi÷ý]"±øä\0bŸx‘(Ï
¾µgvÀO‹²þ™ù÷”`òzÇUÍ|EõCאàH¹ÕAà´(s¡ž^ÈD-™LGè¿iTŠ íïLe}’º	9²wÔ«'{\¹`;3‘jmáóS³§Œb3‚CWꊰ\ð±¾OÅ f¼ùjÄ8öHãW‡GRNjœ.9ü%–‡´zŒ1¼L²ü-„óΤ Ö‘Š!fv7Kð×*„ÜŽP"$íå™7þ·¬ºÿ"É’:¢f_»òÙuóÞ6½QJC ¿?_àµ¶¯ð»~†Ö|–‘ò%-ÉR"r—j‰¤ï¦+æ¹>-Á¬°‰†¯9ò“ƒÞ-•–Ör]¼:gÀ%Fqá‰è°‰Ž%”AGjE?"–H»2át÷•É_[Aô@r?È¸í'ôÞjÒìäð€„fÙ|=A™´w’÷îàÁÃ6wÊý2~Ð:T«t ·ÅÖ-Mƒèk0Èù¸‡>0ë
®ì”î
ÀÆÓ"·°Ç	e%ÂJ@»Ñjç·Ÿˆ‰Ó€—/Å«b•>JMo3­ùhs7'þ‚·¥”
Ží;×5¿fs5«Þ¡ÑËÇð˯ÁI<ÝßZ¨¶3qK£ãï&týƒQÓÂ#ÀXºµh²Ì¹jáÅ•Z-º»ü¶AThh‡è´6åÔ-cx;8cê×€Õ.O{\2?ß,r¡<ùCS²Í¬jàùÏuù;2
±leò֐E¬qæµnnÛR­¾p+—>·{¡ä¾‰{™˜¦R.ÝVö«Ý	õ„–ÖôUGMœj;¨S°*xÁYjî’4ŸMžëu^Vz|Ÿ‹¢tU/{Ôi©éH•=ôô ×…
yZú—ý½ySp‚) Ë³Ô[jMiõҐfÛK™nœq;<B”Ü¡L§9‰gF¿h±¼>Òß3_‡’}€J´á¥÷è—t>µ¯ÙMC‰Yû¬;ón«Ÿœ

©
ÉI†¶ˆ^sZÏEªÆ³æøêi¸õ¢9ݏnì¶a’nO+íräTàò&#1KÂ[ ԝ=_½…†è¿¶³¢±G9IccHÌ…—RZU3aãg9Z|èµS€ø¨ @ A¬FˆüÊÞo	nú¥(Þ¸€Âè÷Þ·‘°~½äî+Àé¤ñĦÈ”þºšJº%AËú»
{CˆÊ½ô$*¾íaw%•
LÈóíβĄö{±° 6…­pG›’>1t”&©<õÞŁª$:í[Â…{À‰<¢óçLyçʾ€×{Œû^ÚïÿÒyÉ2Ù´C¾Õ(¥ù9×É1¸A˜ï/›ÚääzBc‹«FÞ°ZÝšSÒaaüª<8Ïe ä~¥
#(ž‘ò•^ Cýl˜¸À§…)”±Ú£çÇñèäúç”gã.V·ŽÜû¶áH+³f“>ðX7KNàÅoÍ]Œº­™
ÄâÛÄäO.Î0ÿ¶O~Ô¸º@d]oÛ,¬ò|ß©àˆ€Ü«áý›€KòNÔ·¸ÃÞYdtFe‘•α,‡OHÛ*$T±Â†Ù.o*…	žœÇ£>l×ý…˲ÇsΟ¤–ß_AÈõ9îª;'¸{Â>B at j3ŸLËqÄBÇbzæ¶öª¢	°Ï’©ÃWJ‹¤&À†®È³ñÄéÉä]Ä­ñÖþð[¡PùÅb±Õßg¹©þ–•GÅÞeÏ?]*:ÈÝÑôÛ×Ò@tËîóu°‚ܼÁp¥t›˜+¡ìø‰¤–u]VM	ë^êïλZƒÊåó@üzaíø°üw9X놧¡jɽõ°TP¸@
,‰¶ª=$àSÿÉ~ÃÚX©óÞ[œ6°!HYqL•YÊIÞ7ŠXõø~¢ ¥í¨ß×Úþœç3^­^|æ‰t¨ ìÌÕ–íæw[€#˜$Y¨”Z¢”µÛUˆÀ¶ûYuÅM	óN z‹"3n•F¦Ìad¥©fÕ|G‡}iRk½Ìƒ:vGv$±×@$0ùQ'ì‘’ÀÆ:Ï읤l_ç³Vƒƒ=WºBÏ<£ÅY<Ã0¥G.>N:¦ÿÝ&z}P at Ssýdh%®oç8”dî-aK½Iw‡êÖD–µÌaXiþ9
ɦrÅÊÔÐ(€ÂÕáÍ	»)ˆe),­cÂ3è«U×/t'ž{/FNIX[kS†Æ!v?¢ÊÛ|o,Æ&àÊ…ãêP©¬÷`RãfË0
š¥ùºÛæOÍ3 ’iŸvk
Tý‰¯èùÕO+£÷ŸEq¢3èç*DÄenj)Ò#Ï"°;¶ÏR&f“ö`ttQî' õñý¬™®“•¢àRwÁ q	mœ®QŽe¸Ç/
î»Ü;.-
Dã¨áñkE™;Â5üèϪ!KщÅÎàÏ{ÂHž¬OsSeuK1ÎÅàXºvkËLx¾¿¼Œ²WPqýF$¦)]¡OMzxhg‚*eáI­Ù)8¯ïU
Ñú´ÃŒjí‰QHÌvÄÓ¼M7ØIŸ_rÓîtæµýH’i¥>‡‡%A‹õ
¥Ð´{À¡\(×`<Ã
Uã[têÔãH{qJt»›T´[Ê_¿Â”ü §Š«<8Š 6¯1š¹–<ENAi!ˆá¿¾—;+Ÿ;¾\ëQÀèÌö2m§5d
ß™äڝ®å£X3i °v€åwÍâ§nÛ½nMPƒ;7Q†„V+Ë37¸9"’­^A­ßm@À—´VWÉòåÆ‚ªaŸ[dă%6ÂTŒM“ß› Öx&Túv°?ðH4k6ìÁ Ò?AÜË6ÉYpMb¾x±ô•*ŸÁ¾R(¸¾>Πõ­ëü«ã™ÜÚ6ß&aƯG±R°¬/þ¿sM ¦cŸ…3؏0{'qè*Cð•Æ´bü:tvø®uüŠ ããÐv#A©ž­©ø[&:kª"œ@Œ57å÷´Zô÷yïgB¤€A`IÍÿÊ“.oÉÂ=]•mŒá$"ÉÚöH#V‘dJþ,Ú×ÄZ¬†‰>Ü	ñ)qqð*p3íæU0)‘ò[¼<†°ÌðBR׃@áÏ ÝvgÉœsà éUbD3y«,

aANòìê´lÕ%Œu4ÚÊ5".òMÊ÷UÕ$tRªóëÿ†<6VϽhà	ÄÓð\ÊýâWÿ»ô›I·KÎ`6Dü“;ûrýxfÑÍ]s-´¡g-°ï“!ƒ@Á…(àã+I°mz3^îV^ÿ[Þp	Ü—¤“ƒTGk:,s|ýl~ö‡/ŒpæÖ{~2êÿÝk©Û'f•ÂYP‡	ý²«®Â"šfHÚnYŒ óEØ„lŠù˜ÙWåÈ»@àíå	WúÃ됼ŽëñmÅCg9éÌï:	تíŒümÜà”}‹€ä«^‹7{H{<5–ÆY¹k뢞9A1ç~Þ¢4ƒáQùÍ
(Î*¹f!š3‘ÐÛ6CvÚ‚FÇ_ô=aôq»Ê6Äp:IZ5÷‡T~„e¥Þ—ÀaÂs at V¡P¥³×…­qbþÚ8X[œˆdÛ™‰±!€Åsq„›0Zс‰J´ö_KPgÍÉAß<ò§ËÞ ÀvîÙL6p¾y0w˜9¡éUT÷ž`ân88å 2
ì—,r÷üZÕÝÞxHXŨ
ìRS R@”|˜` Ý.¨b³Ë|óÉý;
É\ò„!Ê1¨¨¸½’äÐÝ	áüqçû
YØX­Ö¹ã£ÝɨæJÔ+2PK=úÕJÞ¼RTÝj%9iýÂyÀ
Ô 9ØÌØç‡#…(‹qç$ 
ŸÔ‚ùo\À•>$š*ýÏîllÏ'…fÀËdŸú_ù^ì ç˜\«µò y‘¬HbBÔ7Ub¾Ô—òՖܽå0‰öpvÇ¢)5ôùü
GvX:ÆHRÈî8ÆÑ–:帋ÂqÑÝôn6²ŸUµãØ‹çÙáuo
ðÆrÒkê‹ÈÏî2©ae ñÅ猥iß-°‰ççNÌX¿:ÓxÇj3m‘qr–à¸ïŒ"8 ²9pÌâ’e˜†zª§ 	¾Ûc"ŠèÈ˜ºÄMÏmÚB]iö2’Ôz×~•gÇâQ×ë{–Xè¹Ê8£ÕÙÚ‹d¥)«0=.‡Ùy·Ø<ˆ—	f\9fV{pLÜωm£ÄM.‘‚Ywüo4Þ=?QlÎÅs»KP{=„{R ´Ÿ¨ÕÑÇçné²LU#(‡Svx"Gê§`¹íçFbÿ’•Vu1»§µïnšÇóÛÏ ×z„µJ2RÇ”’Ï…žUx„¨#«Q1ýD±l×£ïP(†‡k”e6gד!Þš1TPûöÏvU5P\í2†Ò|蟟1 5šeF²Öߤ³]Û{f1ú¥u²üË‘©ø
™o½œôT쌱‚͇ۈH|Ó„;Q³ZÓÑ|eÒå£ÑØm}žb Ñ·†ˆ&Kuþ=q¨`¶»]K/¾ÊQ<ûórtWà¼X:iYj¥z¸D„2+±ä\âœU£-ÁëT#¯&ìôîv‡qktÇ `óžCšAGÑCû3%-¬ Îàï÷æÍæî(`©–ãq“ñÔwoïÝz:Y«žVÍß‚ÀeÃÁ#ëS²0h.ý®9—~fë3,ò`„n@“â9ËÇ"øªíí%c©àÑt3Á/Wp”Hm]!¼¹|”ðݘìuWq2{ºb¤¯%ž%D'5InœÇŽjƒ	 5$<®àI>±Pv'èìX²”Â=¬+*@›fê@0çm/z’ >îƒ%8?ÝÆÙü!U—TDd¬<œVÒZcbr~gô.ǽ<£öš*#³Þ==Э=-¢ï†xZ\2ê3!8Q¸G>&Ž5èÊ~P.´mó/Ö`i¯©õZüÂÂ
<¾mï00ÀKÂ푏/Ÿ¢Q‹´N"
’„‡Euzy¨šŸŒ$:'Jf
)Ø߁^ö¿6[ù Hªžϲ_5f{CXè›î²¾&Û,]rØaÝw—uX6¢\•¡6XNü{É+îÒ;s3ÒŒª…qþµ'ç‹Z9ô%é½n”Ö ¼.œþ¾z“óé‰ì÷í‡adÜ#-­ÒIï-mø‰@¬2ÄäUx”Zò#ážCƒHG.ÉhðgT./)¹ÿ`š÷¤ºTSFm•ŽgÉ©Œÿ'õ£nëCF4áè¤Æ¶q¿Š½¹ø±KÀù
¨ÞaÞY¨r!ñÕüƒÉðÕ‹8
˜ÞÕÁ7—?£·€“hf1VaíáTúº÷äÞÔ¾âÒ	4+L’–GE¼8í¿Ú™€…©`¢Sñ¢yXl¥;·§µ´Á]‚ço ª
¾HÝ÷)°ŠÒîœ(°,ݱ]/ÖTŒ|¤Ú8ê²øϲçhp)žèñµkZ|Ôï,WpZ¦Ìá›„Cg’ãXõž‹¹"…•iÑÂjûýŽ­±ÏÎyD=7äDÂ× ¥Ô“!Æ‚2ÆÙÓ‹5lì… ±µ¼4¯!£0|+¹Ýi¶¦ôØó|ÃÙ¤	˜ÍÏZ˝ÚÐ „¥å4òŸ¶/’ÇHb˜im|'Ee‘E;Ù9yÜ¿†‰üf
ãšÆ ¼Ö•EÄN——<ðT°:AóyÜå'V9ÃßžÁšoËQïÅOk~ËãÆ+†Šš@×GAÓºñKôíñ(c8Ëú}C0§\¦0¶G{œfJ„ê'ë±c"„twÈõŠà³M>U›-ô¶A˱,RB5›ãÙª¤›¬ØoJ`ôö*½GP
“D
Œ pŠäV•ß
¯¶ZÀ¸î¬ùú:¡3Ò&
za^_|ÕȍJ·´;6Æg½7(š´Ð·0uÞÁþuHé{é$Ü/âôGßÕå}–±åc³0áeùÒÅÝÅÚ»Ÿþ;™4GHh*Âa|…ô4õ`½ò­^×·‘Ó(FZ¬M—øR¤µÁð÷%ÞÊÕŠÍκ ö¨ðcÕOO3é™[ÒËKñ°-8ê«¹‹£þé°MÒýOÔÎa0åçu·hµ‚,¬_!0¯Ÿ¦O±–”ÔÏžµ½ÑmáW@…âN¢…õfþÉ„µa¡0¸ÕÀi^¤0@ºvðL辋Ѣ‘ö’MbŽSꁖ<×'֝iª­(»tZ<>-\û{Ö.Þ8Ø”)xÓrf«¸@¨‚ÒèÐáµ¢2§ÏUÔØw¾;ÉŽAryÕ°¶V¸|ζ®»ñŽ·›ÔBèi‰ŽüºlL ·º>ø²ÙHй70„Ø|¹#‚yŒ€Ñ|‰~zZÂëÒ‡ˆ+g#~•áúægiÖû´
VŸãšf!@@x*ŽÛœzo5]‡­=¢”ä’­’-¡%V}®ôÈ€·d{1q	<àØ‘™³
ØY¹WÆSD<O{Ñù¡77a£æªQþχׯMôŸ¬ÎçÒwRVcƒ&93Ÿ¦ÔD´üS.}hhù
QJˆÌp«ôÏ-ٴ˃:	«§/4*ŒÃy2k<ƒcÒŸ9Wõ‹Ÿ9è8¿kåÓ´R´ïﺔÉN‡@6xγzQóz}Ž¨ò5¯É§·MxÒÄâø*<C;ò™¿ŽÜÇÔn³ï‘_G“Fóø ~¦‰ax9Ë"&ďZéÛ•31Ã’PÂÞ}}»mó ÐàvÂ8·õèru³eëb1@+dï¿à¡[êRAç §ì7â¢u1×jÄMgamÈ&•LÐ"ëúÇAUvÊ`s"$–ç¨ôüÖôëÍ6ƶÅ/o‰
ù¼.xÊÏ:ïWè9ð÷e=Äïb×ýŸ­ ;õ­õlä×Ü‹$…®I{Èܦ§ÔGA˜ñÙ“
w“]ÖåZãW††çÀøè&¥#)bCg¾ž¬cڐӵ¦ü;™œPhDsPAíE-ùÞ‹úû^¥Ç¢×ÅÖ™µspu¯ÓS˜9^(r礿F:u†T©Ú!<î½ÇÞíD½¡6	JD:Ÿ'æžÎÍ_ÈÇGÔ<hu³~h¹e4¨ËCòï/æE'¶â£‰îU~šà!ì’ÎN²ÅÖ¹í°z»rDÂQ–ƒ†
Jg‹~I?{Ùñq—m(ô–hùL7oRÑ̍šD=»m˜<:‘úä¹%Г=¸²Ðà–#$‹”ÆìÕQGèÜnË:ÞÙ¸{kÆ“(emá,+eQ‚gÖz”KGZN©Yò nj7Eïp4XˆP.Ù--b.½äÛ!Ë'°g
+î3WH†~S‹Ö¤uèU7ŠøS›}Næ
å3“Í’’p ~ž‚}¨ë‰|ÛÀg{oß’
¯ÿþkÁ?-@×<É­5³¥C*VÇ>DñÅöõ³+™Ž±?¬JIŠk®«®"þaR£SPIOü¥·UÜ–Vví¹;(*ZX·Ã—{N䱪«B?EndL]mÅA€´‚úŽ¤K§Öì¸(=Xz}6¾  ‚ɘrÔŒ‹ÿ‰÷Dò™ €»DM=mÀ#„#YBLB˜øžÅO’ç|þ—vÛg\ËÞ9…ÁB‡‰Ø»ñ1¨^¶x@·ÌkN {èw_ß89R)Š‚Y¥‘E¢ö[1áÔI‹Un¤¢Íqv`Éÿñdnä„Uäûæ#ûíˆa1n§[Õa»„^£׋Dš
kÄ•Ÿàù3å¥1M.ÖVM:j[•råÞ	]¸CÜðBi6z÷nÆ‚øcOÌÙ%܆Ã:\™ï£í‰ÎÏ]5Ïe_ÙmÐ…ò§¹ÕŠÇjG™\%¨d»«úºCž "")Ñ“ِµx’¬_÷(×.€×?(Ú›z%÷sLl¹àedfw†U«çyj(F·;c¸
uð_=-@ÈëP³J%dÒh€«Í‰D-`hWI,n~qe‹mÓãÊÿGœÕÛH¹L—¯ÆˍŽ’ëá¿ê
§og‰ªƒjy\¬[+¾Ãoj@‚uhã,d¦¯mت	:ð%=Ñî+ruØuå¡ÐOosáuY#/7¾œ	yœiòÒÿ‚p¿Y¨ôãó%NFX
Û½
Žëså¼»UÝàÛí9ŒÈ÷~qWiMˆ?Q†z´` c˜5—üò>’Ñ(^¬åI~‰<£ðCüq­ïÒ™6Oj*¦ÆΠØLw^kÚ‡Óý#;&²S†—u;L¿ÉJ+Òn͝C¡‡6¹XŽ(€ägœà@A at I‘Ù/¶¥6Ë¿pð!_HÐg6—’ÝõÉGíBñ¥ p·ýÑ×RoÏÍø–èØVÎd:Ñ+úÖKñ®¾4–@ág“’¯¼ ‡€_=‚¸6c4¼_2lÓâ—¤½j¦¸i«\Ël# r:SdH¢ÿIïtE°Ž1E‰zÃ9 ž…$~ï»Þ †­å± ¬4ÃoŠíÒÕªàsÞW6þk~@7C(M#ÎÁâÁA8­HjnyùKQ‡Ÿ.uUº¾~ûeJ}êO,é~þ¤—šëÜ%EêÓ}Õe|ÅÍCÚL#ŸÉuã%TéB‰øÚÝa¥z§¬(X`¯¾§Ëæ«WÇ6B"ØFd0	Œô쌊 í±sH3.”_Èøû‹ð
­Z¾Ãl˜TuÓUýĬ\¡‰š®sM%ìõ#T/å]–K*¿®æ Pî $«P²Ó	OLñö¿D–»mNzÂþú@ëþÁ5WÄ+ŠòË1bቩ‚µ4wŠ3Js$½ÉÅyÑqênµŸÄ¦Û8w#°’ŸÆnås
S©¦Ã”ö¶n¬ÔÌ·ˆþI½Y·Šdß´*Ü‹&üÙ[%è#êÌԐ¸*³¡P1<)
åÒÆ"îç‹ŸIíUý„ D6ÅÎ2c}EŠüÿ"3aÂjÛ‹t¶Øš¥^NÄœ<>‡e».æ"èþÏ™ÒëmÆʉ^Z	Ã_HD
íÁêú®>ŸLRuZù8RÚŒºþ3r;á]3†}S>’‚çf΀‚RçØ[²SGsÍðZ7­n›°q‘B¬%ú:¥JŠîª9žgvðT ¥IÃçù«A"ë„ÂtdH¿PÞ{Á-¦‘Ý›í¸~ˆÚH Ò¼ÍÎ1D­ÞÆA‘N“`Ïec©×{P)Ns]‚
QV¿÷ÿAT¡×ÙfW÷U=ô4êªÜÃ`Å,üÀ8`aÕÀûtÐëѶ¨ÚkÇÁJ-¢=5¬â|DóX ÓÞ½qöDÙÀ›ý¨³ð݈vÁ |ÀFòOâ±Ð—¼iÿGs«ÄX>;ÇÛ™æù|ú˜¢Ð_%œuJE8ß\6äáQ1b¶ŒM¯{ý/àÛEQðÙqe´1ØS+ëÍ%0à¬Í̸®M
¤çá2wïa'GÒËËKñKr÷kPý;UrAjÒr¨fÙ¯dɱКôfµíàɉåtŽß°ù˜—	‚ÿ§å®.C©w¤gG(NÁ”>•J„UjŒò™
<%ýˆjÙ.ñäLÉO„’f_übaß|Cè
~¢)"?òÁA÷Ð:\£Ã¤ËëA/€TF‹˜Bº4S»üªíÛ›$Å£<
?áÏaËü­$ìÎÌÝ^Ìn ¡?ñÁÀjŽdÂcéFWõ<B…rç«vŒiêÀÿÙP±-ú@N¹ÇžÅåg®ÃoÕ4…z‹?Ê»¯ÿò†ŒN¡‹þÈ(²Œq5ãØXÜ°òP"Î…ôs—ÇJéo·&‹#s™KÑ-û<¼àqœÂE{S&ÑMxÐ5)µ*hc×Üåš:§AT§dT»2LÙAÉx9Î)·Úѱ’zøä<H5ßsnèõ>…U.…õHáo;iÏÔ°]ò£ÂJؽ3e*Ì‚þ…Wé‘8ë1ÂG¸Ûځ÷^ƒÚ‹è«ÛôSˆÑÉÝ0S€k“˜b,{õL sMÝ®×ÛgÇêùòœ½Åg„7†€ÏJ龍PÔ÷JîðcÉ1üÛšËã`ìíû™°E‹×[X_	f-‰n@¾×ûÐMæðNQßõ`Còåe6ûL¸^I΂iƒ«TÂÅÞ±ïÝ¡Fdxdà?f¢Bñ®=Žué_ýÂi'*¹iÁiŒ~lËT¶{ø{=8¹êªwøÞ1÷¸%ç;UÞé¸xSWEôT«->À>lò£:ýõ~ ~ͶÖiöTô½Ëê̏>ŠðÒX6½ŽòÃ8¢6<–‚d–m¯…Õ;fLÝѲý2òŸq5R‡eoÔ­a<í¾¨2†Û£v}âÑØ&]JûÊy/‰£ñt
U…ú…|
”¤U¬—Y1µEø#·´­–þúLëÓ“Ws$†wNèîCó‡,ý”ÏSÚÑíȇs#)®+a"?ØmÏ{HíJˆ¥wT7hJcòñÍj;Âõò	|U4ë4Y9
‡åÌ
]÷7ØIÔ¨ü-ÅV€+h}ŽÒÄò=¶ˆ³Çæ -%¢|
 ul2òÞ°Èß~G± oUƒøÁ
¬TüƒG¿'.X¼œ"â&+oZéáõÏÝmÌ&Ï©•éú™‡ž tË»žj‘Ä[,ýܽñX”$¾’!Æ)…*Аm3	c°woÙÛ	°¼Ãê5láµÓHâòz…e<Ïèxɏ/‹û+v¤ñ·Žˆ<ŸVç6\`]Çö%`
1×!Wð8ºiȁ§V¯ÓWg%yõÔªÝV qãÌEˆ¤¡)«œ¬·pÖFÆ\"¢
Ö	ÉTUÿhýdŲΛÕ:0(ò»ßÝXÛw&Ǡר^4ªËnUW
SrD«Ýkvgšœ/㟯s·is1”kɘ£7…Õ¹è˜ì(&÷_•f,jòëZÉôé*SX—µ9× w{ö×$-®LvÁRð^6P•ãFÊ¿&h¦åó™X
à§}`a+UÊ3µ¦È’JäyI¬¢zfTFºiÅ]%øƒôú
‘öO†«äہLbð]÷Ü®WÖ#ç18Ð|·ƒ¸-Š4’B‰„Þš½	ÄW®²Uçâߢ•{Ô¯7R<13A}97èk//Òº†])"Q¿PiÎ	®,nz¤3$X¿)» ødOÄâuڍ|ƒß5²Û®  µ|>VÄ&{«+‰dK×ØMw{'­u2gͨ"ÊýK y¾baü9m˜È¥vä †"qyÅ!ƒV%ÏJu+ÇDTn-"•DˆË@G/–ÚFô$r’è?+YæŠ¡¹–¥9ÝNÊÖÀöƺÜeêMNuÎé`Ùój=l#iöæ0CÕfîªÌ+82c©-Ù«È8»Ö}éb[Z·P߸ÔÓoŠ¬OB£MhÅøÿ`þ?ÿ6‚˜VQÙi¿^ü°KðóÕÇbÔƧô&¯Ó§Ýq¯ZTX¥]@~ï–éj±’Hínä$Ü•³: nyn/UŒÜašï­ÚÏf
2K’§j%N΁]üj°-Ç?‹Û#E`À;’RÊ2Žä+Ý2(eòê³Owú¤ÞÃó=³ë‰O4qü—Y¶’\ý	1¨!…sIÜZ0àâ+ÍÄîv@Ñ·ÙO
y+…°¶ûgwPÄIéžtÄ6Ó½”[±ðÜ++*ffÒª·’w¿Õ ¶%P2Ï$Ö{”Åï‡a_§tUðÁIÃÛþ‡ÇfþÎ~ä•Ê¨ÇÃSg–5›9TbˬùT?Q7 ¶¹ƒý8®J«/Oõû!ßlÙ0c—ÐC/6ò´@.¼Çܤ?4M
8êæYè˜ÜÅJàrW`	’E{Ï“¯âïîGrtyï{šßDÿ‚iÞ*”ê®b'‚Þ‹ÆÛ\
æàCO½£=—ŸøÈ?
‘¦؆K‚/.EH æž!@ÑvAB°£´ƒÉcŒJ¸ð„Š²s8Ë MèÜss§ŠÁCþv=ù“¡¿÷E½;9nˆ
1‡ÖÔ4ÑÞæð ïŽLm¸ŒBF
€n€:&Ëú±S}J?7ßóF¼‹“cùÅ87µJî÷
û,ò]ÍŽ–øf[0®d¤"tt\å>Ü¢/Anp¬äù½¾ˆ}\uÀís¸|¾jg¦OeB—'r±RUÀÊ8V?¥’©~È:$Œ–Å·©…l¹\ÇTê¹òßF²ˆ!vØ1[°¬Ÿ)ш®—P¥|Ìræ!Ü5r
å3î(\¬Ëù>V”›ÎžŠ $à€Eh⦁)™‰FÀ)gÞwöS l£ÎÏL0Øió‘þˆ˜—Õ‘ì™"NšÛó«VÃ\ï(0£n]… ËùÀÄwóÚ‚I/ b
¦K¦?^˜–ÃEä~“O5ÏC´@Tö¹(‡-ç=Ïþ0DIjДj½²n¥ò“•UÓ@¨ˆÎ=ãlj¤‹Çxô
ãï*þ8nÇM°~D¶Cψhò»¯ÂÁöt+-ÈFvTœ`Ü5.¯D†&ŒÓß¥~º ôÔÑ*¿W5Ÿ¸÷댞FÒîQ	è¸$}H¯BG^9Èø^WW¶úú1ŽqjǨC%Ý$+{iß±$8	ËiŸnljø–¯͘§ö3¾!Ü_iʱ;á‹SÝX.º­Ÿ|ƒ£¼õ5H,ÅÕím¶û¤T"ÀÁÆå+·ålƃn–¸Ì[iˆÜXÍKÈw‰Ê«…l b½gu£$»[„
&\ŸøaÕ“X1ÌU{uמ‚¬ŒÔ7Ù9ó>.Öû'Ê{Ö-²¡ôzÀ&¢	(ç)¥D›l|°Êu7Ÿ.	k±5õÆoµ‡uÉPD~ü™Ÿ¸}ÚØßGF¨“â’ÓFÆرVœùmËÐs\
/>[°£fCp¸žfn‡ÂñH’ú³eÏ
 Ø½8ß7œV‚Ûž+2TÌ–ñ¸„FÇ%òžcý?G’<õ¯/›‹‡Ø¼1i$NÙU…$«Ø)8Õ¹SšÅÆÚçß©?¬vðÝ/>åµÅåéð‚<›2ú¯ÔNM	žã±[3Pºô5ð^8:vÓÎs~*«Á 4Σ>½Oº{¦|Û-ÃÝæ—Qî²ðñDûtžK׊Ýàµ["A3Á¯
☫Ad•œo¿Ù£¶m$åUðšp,n©³‚ÞÌvfôôëèÈn3¨æï§.êÕë7œ( gªˆñ{ö à'+Æ;Nò…Àvo…ÔÆßè?Ôö\wò(£þƒÞ_ˆ”AöIJG1ÿ4I o—c`8
m¿+=E¢,JàÁ[õiWCE2gR¿£:†àü’ôfØ8wX(ôÀf4¦…ÄG!~§9J¥¯·û®>Y?fS€…íÜ> ¨ß×jý·µõŒtq/uÈ‹R^hGœ×ä’°ÒÇëˆéxßžõÌ×õ¿¤àþ¥.•é»]VÇv‹¡»ÝÁ¹XЍVX*eDRf¦âeO•c4×.—e
]½—R4c ¿–сÒsûSR{†>ó?äˆî€#©ºÙu';i«"]HÎà^Òt—ñՏ÷€yx”Wį¢UXõ Tð¦ÓWüiìR×êìP êþ×QcÒå½,¹êû6…l)·úG!úX
§¾vëc¯n\á݆€ºhRÔ,“—›ãª‹€ÙôO(LŽ£vBÝÙÐ{Òhsšð·y–€¸¶v¸?+Çè8À1ÉΓ¦Å=3Às?édYq⌳mq<*8~šó.©q]…n ÕŒ~!tñþ»gþ¤‹?NËŽÊÁ|ŸAvYÐ"ö’2ŒJÛ¤íæ]Ú•¤(¡n'‰°C°Á«}L'Œ2¥ ˆ?¹lͲ¾5
61¿pj½¾‹è½Ä*4AªñuàŒ“A:õN>~|:Æ#€´Px¨…¸øžùXÞÙò—0Y˜]q‡ž~bæ«Ñm6ˆã¡þW²`æ˜nÃŽä½Ä®•yù0` c4PhùÓíˆæOºéOúbÅ‚$Ž¢-濱 q2óöÊnqõY`/dÝq­'=eßì5zu=Äzye‘øw†m‘? \ŠH7èºÖ?9¯Ÿa܁‡oaSõ60FëšÍy»?­¿˜å#nÞ€knãºH(£Š–l–¼+jhÊPjìì4Çjô®6ó˜°Ï2*„¥<;©RÔ/]H™FaïzÔ–»âŽüè«ž1_6
O³H-àØn¬^eæÅ«F—!p)¤Õ<<ÝÿÔµR0xÛ@”»ŒuË>äPX³÷CTX‰`–rò…³º• bÒm:ŒI“|Ñ©[& ïšÁÐód,‚zÌnÀ/'ÕÕ'î¾ÐÖV*+eòJ7Ñ~‘M³}@ÅœE~­FãTt=¢{Öº¤6Bd•”Ö.[)håýQoaCLºhq˜£0ÄrkTÆœ3`yù°Ó¤l4ÈC°š:b]Àî“ø­Îöà=qOdxVyw¤I¯ë£29¥P³ké9õžk” cÌ—( Õž÷׊UY*w•¯^;7òÆ)÷·lZŒ¥~/(©·î²Û‚ÚŸ £©tð¯Pæ	|Øÿ*‚DYÞÚƒ¨G¿¾ÇüÅux¸3°®‘ÐIóζ™ nºÁ'#ª“‰ _?üÕpNÁ/è†1Ð\þ* Ð ì€/Ë|ƒ¨¤ž:‰ÉàÿòrVRB}\HDøÞçátž@¯Ó`Ùu9íÔFu›ñKžÄðT¬ õYu	”®ö.Ô-¿UZËÓÿ4(?=¸wirÎÛ²ßàÕº³f04ü¢k:š¿l5žLð;ofB§‚KïµË0$­ú_
‚"2
U¶Èšh"´ãž#kð™P’n¤%¾B“|Ì0ÜzӐbѵ#}göÒω\Ö…ýeÒ¸†¿Fdæƒá‰1SFÞ÷Í”6’ë›(¤ëÂØÞP1'_œÝFU­Èâ5VÕEy¾êðýXö`˜n"ÙuÿÊz×b¯‹½ê*€…BÖÏX¬t(X0ÚÔw@¿ùj¯©öPZ2\אfkøOÈðS‡&uuð±¸+bé±zÕºËi©K·¸Tâ	'kŽ÷S¹ú^°²:9ûB¼ð>õ–qdÖ{ì™vÉÚÍüŸKøºÁ¦·ËáŠLŠjˆcb	cKÙJÑä?þ
¢»tånEQ1“ÖÓi€…Wå#µ£6¤qÙJ†ÙBɝìJÞö›$± YŒ8ƒð¾’&UÝš×µ1´Yðç=j²ÁÆ5Q
4‚œqà«-ÊU9‰Ç´Ë”°LîÛpÂÛjùÛR„-?³;LD¹ø•ì¡Dõh6Á  Mô †5 51™äe¢#^aQÖaˆ-ïOÌÒg?
MÜ£Öu`S¿(`	‡ç–’ªÑq–j¢_ØGƒþÀÔtža2X¾Y×µ°~šdìÔtDMâi59ŒØ`òNk#t{¿Y°,©ÇÇš\†ÆÍ‘6§KЏC•‘0hY$ŒsaH\©R›°ñ4Ý
À&<¿þÙd˜-ÿ`¼Ÿÿ‰ïñD:÷áù‚0ºˆ ÙeØÜù
æÖžuw	š‰)WUÔÿҹ̚õ¢FYÔürL?ÆQ¢ç&­kÿ3Á‹šû€aÒ»š„+>®JâG²7C¸WøŒ;4U Ù Vg_ÑÀƒtº_ÞLY@LÿuÿDŠlçyî€J&hFq¨'ùë!XÉd®¶ßòu³¤Ï«¯¾*`ìâïü#ßÃv~éQÆs±U¼*¡£±h¯‹68¿ ®"å£!®)Q·éIQÚ¼näÈ =0[~ðˆŠ"//áLeâ·²TϧiÄ8[ñõ‚_¸µ†×£ª÷¬a‡9V'<5ÝrÑöK€øŸÍñ8…ó57ƒÁŸM´^º×üî\{(J¼ÃY²ÌØvòáVnñ#ÚÒ¾±¸ÈÖ}œÿªš“2 y1ºÆ‚¿Ûô~KXYX,lIsÊVY¾ûé·oÿå úƒ„=ÁŸ]mÇ%°Èka
X7-&F×õP
ÿn
IŠÝ#gÀ¸>t¸¿\kq€á yÇúÐ8ÑHÙ%F|SÕ·uŽ#¾Í¶Xmõ']ã}>I*µà¹Kis‹§â €$RÛIŠt4:éêÝÌ[+¡µ‰öy°5ÍK
1…Áòln#lECHƒJ™Y\ñCßöiöàž{#aÁÓù£P{À9 dÉÍDZ)5ƒùN8õiÎ2B«v*.ñöÒd!™j±¦ƒIa!$òO•bDZÙ)NIÇX’‰zºÁjÝ6iAæØq™.ß[Ž"–Ô'Ç»T™“'ZEzZúÚ*VÚ›ûè:Ä8[ËUÕNCì•Õ„öÑÞâÎÉ'ªÀÎ,Â9e‚4Eè+˜¡zó~_	³v[¢¤TGrÀ¹bíÇ#j(¢°"fúÅI¿½C5PáÍftV=œ'P[¡ZšH(ê,RX§r?:(Õ¾Eg~÷‘©$à]\b1RP­<Jq%e‡zÅÐ7ü¨2r¬Ï<¢4jï}ÚH@_e”pÑ„¦–[F7¾ªþçX>îèÛdC[v0ß@Tݘ%&tã0ÇwqFeS
ÈváfIuƒ'µ5¢a%0¢;!;Z‹
qñq¶©D“—	8`í§´C‹ŠØCGc1Ø»Aídž#%÷;ÌœkŠyùŸF¡V?ÿi_Õ% ìàêJs¸±m„]y|Éj‰½ž>­•ºÚµ§®t¦˜glÈóä먓©”¸2~œè¾*1Z)ðW¦T¾=IÚ`&öcË~`[±H¬ý½ÀÕPÚÂh<ÁUÚdé
AZ$…åôÐlƒ©ù”—
d”üœó"áB»Ô_ŸÎ’x´é•ÿlÚÀàLýVwsUp÷8§èÄù©Ðé&”þíÚý'
ÈÒbLøºÅsâ´Ll‡›õZf1†7•SV¿qÌzçIô…ù€A?d¦É½0ïŠ>eøíiŸŽn¯âiO(Oš°ê€g±›OÂõ/è>ƒ6÷Wý•\¤¶œûG¶ ÍÝ\½o®{—2/z»sKY}‰sZoYðâ–Þ|ÄÅ'²ÏJ¸ÖOÕЮøRÂû\™ö™{ ©þ°ÂäBã„ðzwçØë¾PKújfuLúj‰2¨ÝûϳìרºÅ½WC©l%>ÕÄuJôÈš¼e&ùz²˜6—)ý‡}8gøGÇí2¼s%+I”ëò]aåz–uÏ÷HQïJ{Ñ’‹¨öœVõîký|wåÏä€Ê0ý0Âkøþ^:LÇþZMªˆª“Æÿj0k÷Ò‹Ë#Ü+tt-ª?H—´äo‰SpgN׏3Q!ýçžõ¹Åva‰ÙÁ¥>Ò#3£;‘9ô+C`†¢ `xuP)-ØÑÛ¬•{¬6b8Þ†S~¦Û¹fÈXžÁ§Îis G÷Öx% n ;Oм;éã0J	°>´@øæãñÔC£tª–çœÕL½b°ˆ‚Éqnn¬88o[7¼rï?ì.)AÂ[È@({#•"³.+GæKZÏ”ÙB¤p¦â$çÑ¿ía?òöˆÀ% ‹{*´ë¹4?ÞQæLë$”Y÷=î7¾_(°%M•}vÔy9ùã›{2}C°wÇÒ~0Õd
¸â¬ÊÛÑjÜØ$(é3…உ‹í‰¶¬„SáCœç
ÿ$G\‰«YþR;ü—›¨;ºÔ„E.R¡ÝÌô8”“?Û |V%<CܪxÞe7DYfÿã‚îXN,,¬Œc!TЈeVGs‡×ú”W¹±tñxÆÉ«"AG€Ä–§bS¦:µæÁœ¤XĦc>“±Õ Ù-ùþ¿ÓcÏ®y§ó¤"®>^ã¥ùHi!³£`á£W¥欜œ(.‡gOt¥öþ¾?y‰DþGmùåmP•Zc8’ãÞßîÓÑ\Y}Å<\7,[ÁÕ*mcKù±…øOå„gÜ Ò ÷+(‚A5Û`B<÷î"¨ñmÇ1Ò;ycÃT!høóB¼S cÀË%` %|C6frîœ7¯nòëDlʵ­–¤˜ùÌ6ºztÞ^°j¤QÚ#‚8)¶7\‰Z•'‚ž‘›ºdàµîd5šk"3J 0{ù›2úñp΄¸æÀy‡ï+ò(Æñ3£A!%°¸ÿqäùÝf&€u¶b/Û"ì¿ÅÎß™Ï(ªÑpœöA¨­R1ôÞj,x@é´®Ù²;“°á¥ím³w¾±&ďø³Y3¡CdǝcŽw‰äVòŽ+ã{‚ˆ›å¨Ü˜”¶ÍX:^èÑ‹¶IGŸYþ©Ç
È…ªÑ¤NbÆÖ±üF9×õÃu±âkã§ÉÖ’Ä/ñ¬wÏ6ȇôHaíýa׬ý¾!”»cçÃ’UbIõÙ·F{/£¬6S(«&Å_ÙU¯Ê7ôˆ;T­@ôïÔGOâÙ׌1+UeUwi¬=D9(£>Ôá”iÀjÈ°ºˆ˜ü¬¹È?®`‘—5º’Çéèdh5+®ù[4KE—(ÝX®)¤üZ¹Óaïô\¯mdx©bLr²ÇÚñ~ý†ÃA3”»œV?vG_¤ÐöW}ŽÐøŒ •ºë_ãKèÏØv
¯
Ù³µätæ®DÐmü>FÃè:)í¤«åÒÀoŽ9Å¥áÞÞ›28þbB%î.p¬¾rDÄ=s–œ¾>—zçf¦H»b;GY¶ekyþ¼!Ä#Ñ%ǁ_2äÒq‡âVº†ÕºûZ?mBÕxÜ­û/ºØºe¤áh¶èm=Ç·¹Å­’R}Ô†”ú›È×\Ž“:¹_??Ãs	”ŽäîÜ—©ç ½´¸iN“ÿœã,G°Î­ÊäÃ7]+뺤ÈSEØwxu¹\ö·>ð÷“9ˤZ†°×m­”ÿiÖNˆ–dýFC%)0Ë	Ãô<Æ”KʱJÏ9èå‘òFƒ°ë•ø¹‚:îynJûD×·
Fc£ù7ÙKâª#Âe¨ãÊ“2&ñ¤mc†kà&ÿš%êÒ3«PiàzµAÄ°©.9Æ„x,ƒ›(HR&ã9½
z³)d´YÁC*"³ŽŽŸô7ljàš)>ð¦ÐûŒç  ƒ?.…|²×Qh^e
¶õždúþ„Ëé²'?\'k+vl¿‡!Wm;tWpw	5p(™žàÞi\9úGc¡<·¹}ëø^‘Š4±Â&Œ[p
é](oq« 0WÕ™Š¿Ûg¿)9ógð*‚Ë»¬CÛD'‡@O­%-'ÒýUuæ"üµ:ØÓ÷×Öÿþþ=»zqm¡&¥Û€™ÿ½
fä´8wCg¸Çc¨OÕi+ÒѨ©]¡É6!U€)ä*¿ôÍþÿº~«7o¦›qv#@©íЄØ!•
ègñá#
uR_ÂY¹}SÄÀ¸N€«Q?bÃSØ°a‹këPUʈ´ÚýãzSóËÝ¿<äŽ" ž7jÙ¶œ£³Ï§qõÄþ8 GzÑùŽ7ÖYd%-Å	OÍ€V‰âò -°Fþ¥ýÊR^·ÝeN÷§¾4\4$‡q½e+ŽvÚ²pƒ/ŸÝ(TšâÉu(îí9Kç5òºEW".Fò¶š ÿ6jPìß{–+~Ï$@f„ÌWZ-#«áôÈ©ž¯¸r°N8Þ”#­;]©EšðÆC\ýb|@WWlW\­ò0SÇÁÌÅC²ã€\!¨Í@S|.çQáHx®ö䮎‰ïeùÓôƒÃÑx”Xl§
SJÔ“NA#UnŽ~Xl­~Š%ûÈUÁý“¢çDlbXdúÃŽùûUÊÌ;ód7“Ð돥Uד¥e1:K-ó<Œ#`#Ûµî{é
# $_”¤,ƒFˆÁkÇ?öž¹HúM>> RHÕd†Ñ7B%òŒ®;‡´ä‘éFçÍòÏñ‹éS’ø1Ýq¹òÃxeÕO%÷ÃuÕDµÌ†˜Õ*;C‚*ù€¡p.†!Á©QX&‡µßßÚ¬JMTuûÑó§4O%0]ÅÛ4ýœ¦"ƒ®/j3a‡T&·å÷ì£÷šP*9ý¸,ew„LÍMAQú‘Ìáf¨Ú-Ç‘ì^Î:”’sgÁ«ô¡™õižwMSÄŽ*ÈQmy°£]K{C›!®/p W=£HÁÈjî2ÊœäV˜ðíñG°:`é§{2[o#ÂdÂ<Êx!AºÜ¡¡¬DâÈ©q/†è¿ôÜ%Ž?²ÉAâàѐÁyŽDú
«
;g?D
‹Ïð*)™i4ÿ`ñ¤ìžeÞrê\jÿL%=P;}bOĆ38£qr¢&œæÊÿ6?‚âk;SÚb	úVç®h ÓaÆžG*ó‚˜Ò¬ò°ìR+WŒ¡êqN5\î6V’p_JC=W+ÔöM– %ø*jGúïû«}ñÌ|Ê/ÀlŸŠö°ó˜à‹©KÌ»Ë8»b^h«?p•"¿üAÏ)ƒ8ìe¾¢ÙCBVßízš5M+kóMíbÀêJd¯¾ó(ð\”†Hé⍏Utè_ftð¦"Ý\­ªÃ/úÜ+µ8L{îQ;¿ˆˆqžêkâ« õµÀt'P
Wï÷‹I]üÑwA53¬?@Ó;ceÊ™¸=y{bŽŸ·«_«xX)f·•¦TÛoí0(éÖËFڍvÆñþ=ÁÐGŸyTØÚ*zÞ 0~”ªè펱En Ö	¹¯;èxûÿóng£]ˆß9È÷ü¸îˆÏ¬’¼o³ÏãS³À<fÄ˧ïÀ¬ò0s1X¶ª­¯ï.’OMxg<ôö ®OæÿVšç¢øT¥ŒÖµ%[Bun#ëúŸnDû*+Õ¤]õÃ䶨îóÞ¬‰øÂäRßW~oSô
Úô2>¾
ð±J­Š­81­¼8»ùzúÄ°]‹ð˜Ú**®OJ®uWV²Y×Y§ŠÇ;…iNˆÈ@¡ÁdÒ*Ñ\j¶¶ˆb.ƨ0” ¿¼eò[9K@ˆNí[û‚°iùX(L
r—±‹}Èi2é†7 ƒ˜Ê`ª¾—‘0î!AQæOÔ}v®¬°¨UÉL£¿Ú«&¡•§†‹%”Š LøÝ7„þÅ~Œ}6.
ll™²]ïù§OÙKOí²ÌÂŒ$[fœÍ1ðÂX§€¶ú\µtA;Š
7âU1õ˜Ä¹8VýÞ[–à>/üã=™¢=Š*$† \Z¨`â_œåz©&WšNE¨%uتÿ8Ó¨=K	ˆÏ
Ïæiª„†þJ´)%ò,ÆW‚‘¾
“&k–ñùÇk\ ªÊCÓ{k¹Ì’˜Íw”¿^pîñ*‚¼©­ïL	UtD¹ÇÀj06Þ-¬> ›Ð¾£–ó…®8'R.¿1¤%7g!ÖûòUG*ú,¡¸5¹ÌÒòêºé'U~+4>7ìÞIõZ˜ÒS·M;F{K{„ºQÞ«`þÒ¿F¿½Ç	°ÙuÀ×t™ .[œÂ»7HËúÔ|vWÐÅèÍ—ü—r¥³”®Ôª£‰7ž-ªÊÍ,ËÊãScÐV‰qüžÞ²´‚$HObû„ý*É„êÇ|y	ñVòã<n°ŸôS—~;Šž76¼@ãçQ;²³Óõ5×6& 4)þ
 äBÛÞ‰^ì±øÓg¡âuOyýi;·ÒѾ³l¬¤<sÇ:"ÂXL¿,=³ù €uçœÀ†5*d`y[¾úëâkIʼnþ.T¾¿ÌqüwüÄá*Š¼‰-ä{µ-X§Ê¿a„DDª9ô|ŽP9<¡7Ú€©¢² ê¹ëO^žî¶Â?ÙBèx<¯ùÂæÝsøyâ™;a«¥¬Ç⦊*:‰²ê§Ù&·é)¶3 1ðƪ51B°1â@EnÈb#:ÁU¾^^Èf±Fôª" 
l}¡HèRvS«r7f°ïϼ|Ä0“«Í™ÁòT)³(¥¹fD{î¶PâÓèÙ›óÉ)…†þÈžk ÔÃ¨€'ìeù
Ðu
«*ñ´ÞúÉ}³ÔZÐÄ,ƨ*ܲz´îC»00 ­yºžü¦–Ùží2ƒ·¸¥c¬t®ÙÂÄÊúúù2Éb•m˜/fmÇŸÖ"$!ÄeÊåo^þ­ðˆ‚°Þ‘"Ë›L	†Ž†#ˉ3‰Ï¯$ÌÞ²°†Ëéùí¨UžŽRD/ 9¯ßè/r棖è¦Ê •Ðù²‹ú^öA6W„ñÉM¿'q×–ò´„Ň\tôäÅ+*ë÷GÖ¸ZIlÅd¯:Û=,I&Á_
h€öåÿ¹r¾äríð×'¨tŠä§C­)Ò÷áÛm’UØ
ë¤1YUAVÖ-$vVÚ_cOͯ”ê­ÆÜÙÍ*¬*3ô_hÁ þ•f¹–%í©Î^ÖBãg³—‹EÔB„ÑPfYÛ¦PG<"sÙn*\74ì6C᨝
lW±pÚWåtRç²/ê]>E+(§{­皦¸[ cÆ©_ÏbµøØX±-*ï$ËQ}mV\d…~_Š§}ì0EK/—äè,›¥T at KäÜê½"ï÷ù§*iJZþkäφvžªTÿہE;—¾ŸqGÐœ7}¹ìé)Ö¬Œ¿Y»!$su`$kö gŠß`Z?Vx·”D/I&¡Â-¡I‰‚Ž‘ifÛØ>œcEê¼Bxà$Vé¢Ö	ñ»ö¥X#’:4ÎGÛÈÅ¡Œ7ïš«|QÎ/±¢Áš'ÕK’˵`vÂ㋽ØpË`ω˴C(4žKP±œK4q°0ˆO‘f?D¸Ž€*MŒ^˜?L¢»Ñf¹Xj…óÞ)B•f•‘`B-ìqR¥^Lvc0MëXí4"·ñÁ}µ¨¥€$FX„‘™rO'·•©\,¬R¹c÷45 ç^ãàW7•ÍßBðÙÿD4bþ…¸Ê~l'åƈ~XôÒ?L¾¯{©2dyx}k´tDªñ¸©|Iãe{[ç§bÔÚ7––׸æI(Â+6iúÛ“08»Ìi"CÃáÓè䎕3¨¾”	kñ˃fø&Œx,+EÁÅÎ+äåþ„jëeN~¯<¾7úmñìˆÆ¬Ê‘4NØaNåSwÞSáøÿ×ýäii>ìZgÁØqпÚõê#Ý×8fÀ¨°K·q«ý¤ ú"˜ÌÍŸ& ³WÆhžøû;ž&oÕÝx¢³ÒYH–ˆg.ù
¯ñÔ1‰Ìæ%w¶"V”p£¨¶9+ø<«ËQ-“ïudÇ|ôn>œÄ—”˜……ïÂÄ]XÇ»FE¥$Ð!*þ1l ¯!Qá%µ¡¡×è L?‚'/Ö°~c'‹6Ùå&
˜uIé3ÑÒòÜÃø7d¬åÀ§
G¬/‹%°eY¯MN¨&N¯Ï"¢¿¬Ú9ß”]†öûb0tÖlíW]ñµø„ÐU¨èÛKqµYSÛ'þµ|áŽ:ãã,¬8WÝÇ-™¨×”åÕHðBŒ›Gél>ÜÐ^’Ê¿G|ß¡pT24×ø=vxù³·>N’2ßô»¼Çh×m/=Ö­":Ñšp¼;®²@_Mɲ§’M¨…bšV”èZ½¨¾aa™ ßžËß$Ë|y‹ºŒ¿æsú¿XÀ–”%O!ö”‘ÞtUûqÿ|Å
ðTdmÿÎk>º®PíÍÃzõßló~¢º8ˆ¸nü
C{ÿXõ6Ø]C6l][å-³çôÉ‚rî/H—#Û+1ÙPêí/Bêé
xoüÚnÀ’÷âÞ ÌÛÜl.¡±Å1œ݈ê*í‹»*¸+·.±"
iÆßô:ÄG–ÓŠ§0Õ#baieò<Juµ²Mi¥ßWT$
PÓº¹jüFè“
ŒSI¨õ3tsá’Ï2Îf=ç”^¶^ ÿ‘~»wñ®ò*¹›õú0ÕÓFD¦·–›ù1ÇYæQ«_‰`F,˵ÔØ ð!™ºÖ¨nèü³¹Êϧìä¼ó<Š?KñŠ¿"Qíä3ªÓ”T}D9ï1B]-VêZüAÅbGCŸËW{;VqÜ2½üÇ"_Ûc÷~]©æÚ¯§6_lž…GähÕ}ó|9Ëõ¡=C»{J&S±Šq2
Î:$41!Âð¯ýª²k5Á0}ÄÈ-ð´aøÃõAàºbKq¢Ÿ˜A^
‘¡}&Ð#¶:.'hÏš“($Í”ÖýìHgFŒ™KÍžýìäÕPX¯Z	Pë…ê|!*buIY¦(Í(zŒŠâ¡ýÈ$×ýxbÔ#êÆ!HLÌÚgöÏ&ÀÕ³Ú¢¹øÌß!äx
¾ƒT-=³QJ%zߥ‰p¸>[Ί©fÜà‹­2ÒyÒ÷Tè¶>ÛÿP<úNtŠàŸ
:ËǯDŠë †²ÏGª¡òÔ.8‹‘ 7œ	kŽ,ÿ÷ìŽðÂÉ ˜“ïx=•ì,ΰ§| 
¥MŸ³^£™@·Ø óe§kÓšF2qÎöíz!º…ÞÊ
ö7®;j'Ñ›BÌÏ‚Êëë¼ü­n	OVuÜyê’ZŠ_TÕ…QǐÐd Ý"¸¹!äF™hɃÙ}D
UTlz>ã ï©hæoƒPOÔüü6ú¸êb©Ù”¥²w»¿{3Ù7Õ#IŒ8{™Ÿ!‡Ìg¿ƒÍ&V‚”S+*Y\å¿5ÞæÆÂdæ‡NÑ,ù+3
 iàÕOa,ÿgbº'
b§cÓF…è{ Nçã¤Ð|K=X®|Ðæ´ÚkR™`M‹¦n9
†ùG™zÂËR%õ»
ãUçtÓÂx<Ú/å´NP¾\$®™Ä3SˆWhà9…`–?ˆ Zw¤ëù™nA¦­G® A£á“p~ç:¸mÝ£éþP[Ù›‡õÐ>uRÐ]¯_j‹5æ‡pœ×uGrâVF>ozð’à»@‰§#1éjã1#ìÿfõnÇ!ú™Ž‹Âf¸–ùÌ‘ô¥YŒ´DØÌ}ÆP(Tw¨[éÖû›ß‡–%íål6.ŒAÞÿfƒ.;†V‚£õp­Q
žJÖÁÒ/OÐd{ÀvM’¯fÒT &gú,Ê(úq|VÐÞB’$G†Q{y„Çb­ñœË“]*Üޝ_Þ¹©«½P6Tˆ’+ÃS`µY:A‰èKRrˆ?ÿB†§ò
=¡ì놧õNÔ?3\Ì„É5O’0dnRÀ×i¤"Î×Û¥Žùðƒß׿DÈT;ê[ät/­Zv¢Î;¾úUAïí²Àa,=êj\‘ᔺ«W‡mV¡µûUÇ‹³å§bø8*OÁS¹°G´/ªN	]]ð¸ª×ÉÏ/ů5ŠwÒÀ+/áÍ*wâ²X”•kçÈE¨¬Tg	ïìû$Ùæ%¯‰«©Dðd:
³íå>æùe%‰=A uéi|(yþº”ÿåR…((‘7¸8u„oJWò­‹+«$ý€»§ÇØ“2#,Ã~Ùj"
ðm–a¯íÞF·¼b!ãçÉHMÿ×Ô*³hCúMŠ27Gtý3v;?TÔ,«üÌñ9,RXF#ö¹G?[êÈnN¯†)¡SÅ…¾}Ý~¥olÂ_wP¾|ý³×õ‹ªã˜Î¹ä[,Ô,šé6}Ô?cµê:Ä0 V¾ôrNFüÊ2ʆ*ó¢S°œÓ/b
¸õ^ŸÑSÕU÷;ÙÕÛ’uïú‰9pN¾ࢪW0öA¬ð]홝bǨR&Ÿ1™ÁÌ¥5±Q.Á‚T‘£s‘éØQeêÄç+Éô.…¢(kom;Ø1–vØÔƒdS¸êVgéuéR@<´8€°Öx¼SµÉÙÓÀJläâໍ\F9Iµa#
k¿$ö7FEú¡À½í“ËzYq_º˜i¥Ë¹«›ö?ŽX^Uèï«lÜ!ƒø¨ò)îËÛÑëÖ¯On-#êÛeW]W_CþâHFq°#-è—— ý0sÖ¶ØÂ]ÉϦþð
öóy·0vÇ·b½bÏ!íwsrÙZ£Ü[bèy–Ïi¬éØŒ¨o•·Œ±¤µcÐä“®Æ<á
Òh®÷v2Ëö@ÉX(”¢FŸEÿ{Î'™6õN­Q“W¦ÚÜ݁QÂiL”Ö0&\09TÇ«Éߐ¼4SU‡ì½y-¶d ìÙ¯ëðÏKàòJzå±WmMÊ^ì©IxÙ4NÑ
‚¥)êĨPãsªòž³¯éA¡ÑB#{ëÍkÙèâ1ˆJÛÂYúÿ}X,5^e¹¾½FøPã·Wù+«¤»¦e¨håÌÖäe¸ãŠ½ò…w7Žvûøy+JBcŒç_´rjµÖ™+‘¥&"ryVœQ†©8ñ6ܘP†S±=A©[aQkƒ¹KæoÒªžÖ}²¯íT,ºë/	x­þ«‘ÿmäÊ5^pwø–½Bƶ¢²ÍUÿu’[xá]^O)ðý;YÎÞO;'›¥d7Mk:W2KÏwO…€9¼sb+DIÖp§8=›jØý‘Z6ܼ3d„¯žîü'Á·Læ\¹w#SÝ +wÿ¦¥Y- ÷ãp_p·iõD’yÐ’ä­…a σ2Ô&^c‹TÄ¿‰yé}º–¤ÞÃÝ·,g9×™@JboÔÔ÷µùíW^[&y-™¹p-¾œîÓé~EePõ/jâ¹ê<Ìô$t8þð\³èiʐ«Îèôtæð#°jJ"„.øï5jJᙆ5ûÕ•°Q‘êò”µ'±“sæ]‡ïñÃö	(.à_(`AâJª(Çd¹åWFpy_BG9#`ÖŽ
¡êr{ŒÔÂÚh<]Î\»ƒoé\»øXu•¾܉Ãs_†Eœ:gèåN/¢ØŸ¤K™›þ³ær:¢þ·E#…nK¾©ÂÝ'›æ¸
Ú6¦évƒð|Š¾Bº||I¦„n#ù:]›$IåûZÇЋ»ÎÔ¹cÍ$KˆØũänaç>ÿþñ½Ë™´þuHåJ<‡zñ³Ì^.,Áڝë€Ai®~†c¬ÑzàZ[î(ÙÏAn
y½Û¿ÛØYK½ûÜÐKMN_Õã Ò÷7óÍ‚ðC”9»9íç¿{»;k¬÷ùZT^ôqoülÙs©uŽ1Là¯=¡´tùÏÉŠ8ë†iƒ¤Årý/@Â&Ê&4†éwªÑ+‡}C¬PøЏKÞ àHJ4bK+)
ŸU+$Dý’+ñü§[xA™o?
¢ÈÅ]×X’ôÔÞ©N¦,FjcAß”r‘H¯ùî´‚1HËFeT^Ô=]=”¾-eÌô×½¡»7#
yë6!šUWɊΪ¿k„ÆvÙ‘BèšZR^pÇ3Ițŀϊ•ÓcÐAþâ˜Ìú—Êtë°m“/oü´›6j2jÛÈ ~ùüÔ„cÀ­\ü¹‹‚æ¨Aý
y™6¤ÂOØLn¡mæÛJƤ’È
us/ô¾àù^Í¥ !ƒëøhš-'ù?zCü©R¢>Û©N°ùÅ…CC at .„ž‰Cl¿hž„`¨,jvÈ蟸,É1Žz®ó¼û4Ì”—Oõl¤ñjXó‘$ €!Ø@éÛžµK-´Š”¹¼ýC7«Ð“>‚mÃqêA‰î@¤†oßò@~ÕŠV=œèŒB_Ðüÿs2(¼=	+ÒAß±81Šö¹5ÑRRŽ€ßu«0UW
KÃ¥Ñq…\ê'×ó2«¸õ¨ÆR½Š!
ßµÔ#B*'¡'‹­'ÆCð8)®,·2ÍNFØy”;ž{»´nÀۚʡ+ŸûÎcm2Àb¾ƒ0”ý;3B€²f(¾Uñ»Ñ:Þ¿í+¯°ðQ…W1»ç!~`v»Ë#MËoO#iïFÝt/ŒôôWÚÍÎK"Ñ™ÀZ Ü	 º€Oxy‰–ÂY¿AaIš{­P¹Úýj„ ejN<½áû¾jÁ¨] ÁS^7¬$¢9]œ§ß¶¸n°
'÷Å	ícÜ‘*>Õ¾`×Ý”/FÕ*Ô™ühðˆµ× ¿gIÚ!™Lt¯Ò5„À¯ƒù½ÁÌ[4™ŠÈ‰a9k\2ÊÁÉ-µáºÕ¶*M}$c’mBôµ@cÀEbÅ!â}f´Y7>FYF}¬ˆ¤¢ªªnšÄC˜`IŽ*ÈïN©sc¾„²÷1{òoYD•#½}
Ý)âh½€Dë%»I1×ÉÊYõ¿EºÌèwgV—[£<&–Rd*K'Hý*™¶Ž-*Ì1ÄbìæèfdB†å]9’ù¶(¬º€þƯ¬l篐“¼U\\Mqðù8t‚Ö8´FIƒö=¼*¥1\àù!ñ7ãÎÃZ×ìPU|Ï)Häñ8…
å}3HàÒ"/õ\î΢>ä9±;'	¬//iƒK„ÖRÅ'Ê„äĉ‹â¶:EæOÙIM«v¶¥6¹'où
~3Ør.±sgÑÕì¤(KÉ[Ù!Ó¸iÑ”Ë4¾ÞåÔã:YfÜF§Œê†32ZÒZè*:‚ÎÅnÓf1CΡƒ†eà«T'ý(m!™‘—ð!U¨_3lø^Ðt­Î>[ Á‡çø­]€uúôÁ8rDæ“6»ET#»/>x?6¢HL	ƒ4˜Ï—iª¼¡X´ªÛÍyÛ
cDÄ[ªë^ô‡÷й«ïÿ`¡ÍÆšÛSÚ(HMx;2Ànc"Àür1ãPCÙóø&{EFZq~…òr¼µlt¼–^¨]÷™ýN
y—nº­¾ßíóU4៽t6a¾!UA^4à W—$IrÒ¼çáši
Iv¨|‹ã_þÑÔü¿1ä"{¬«O#©U‹mìZ;I3y.tF >×´A'¬#¬ò‘s(u{ø°ü®ËÚ]¿µçËtm´Qa›Õ߃Rl«¸¹ã›±Ü„	nšþ×lVUf¿¸mûîk‘=´Ò?–&"®PßÔf±Á#W„´@¥óY½Ñ7³Z±ËÉëýo‹„1ÊÕà wYtæºà|=Ž`á‚ö\V™ÁW È™Ï*øìÎz¿ÐöÉÝñe jùÂ:aKS@Å¿-æN×ÎQü6)ê;Ï}H3Ò@á4䝸]bZW£ëž<5
ÔÒ $šì.þªãB½åCQì* ½Ÿº9x˜ÌÞ1ŠC(ºã3KÔ>Ç*…pb	×û1 õMÚð96Xàü_Tõü·2<?Å—^;Hz[L‘ë‰",ªÙ-‚w½úiišU§‘ ņ?
 £CL–ÌÜ<EŽÑ’ãô+x@ƒ¿†ê{3»B¶Ž^}èNâr? ªlÀóñürÉ:Œ	òwÉ«6A¿»BþØô&ÝÞˆ‡W¹ðn™:™©_\Ëä3s ¶
ïUÅŠ/1~¸iQÞ‹šÌ93ùb/‘ÀM¨½¥9ô©÷D±ÄïàÿÒ_IP±<8°Âª/H
{4^\Ù®ë2ô6췝·
RtÔ‘zò©½‘ [eClSo•ž¦é+Ô–6ù*nèÌ„7ÚÛ/Ý=€01Ó£DuCW›¾a
ó¨BÙzÿDó~É©¶˜CM,vÊÒ|+!kOsHS8‚¨N§óò,™ßÎ2ø3¸e´?ñ<i"xMÕR®æ»û’Eô¦ÕãôŒÚ¸ÔŸµ¬ÿE7,e–{¼C­‘c·œ-Ï“ýEÍ|}lm^c×¥êÈ%'\èWø¿\Š]-G}È–dƒ-q'u}ýŸÂäUþ´=…ê§Hü# ØS:'p3k]t±fïkÚ(ÁŠ0R䡯ºy¹kÈ»•4ÓÊ s!–œU]ÂdvüÉ òÂ#ù4‹÷e§fã¤Úòµ£µ–S®-¹u~ñŽ<ŽƒÝ­ðšn¬Õè×›a7µBºA÷›ÉÏï®)ÓO"ÞÚq#:Kl×Æ‘‡{Ägy¸¥
:†ˆ?‚Ÿ†u¤Õo¨@ÿ/æaQì‹š¬œg4g‘h*Ä6AEnB]è¯Õ”ƒ[3VS¢÷êëf‹Xmmè„c‡¦1øP˜?1:ê¿t²|U4m~dÀ]ÉÔ<+³yW„0<O8«µû:ÂrÇ„!"»]ƒY›{ëòE¾½‘#jqDŒ	v›ùÚˆý;‡jPNaŒè
†½ÿ¾]^³Ñ¯=þwájêKâ~‚21¬
œgóõƒŸ'S´ûßØ郉xâ|áL±‘ûh”‹ÒfiE*6å‰ôHu‘?™Â~ÿk¶×•/R‹£3ϩǯp¦h ƒêDÙEÿPýJCT?VF˼«œmlhgD}AÛÞ
 ~§'tBc¦¡‘ºe!þ²ZÉi0Å6ä×3‚ÆŠo
ãDÐ)6’uó^Ü	˜»!viOŸÙ|ùÿ;#S=‹v˜’ƒQM~m³(ó˜0†ƒµÇ@r¶ßeeZ*‹ËhÚû‹6€_28¦‡«5¨Ær”öoŸwi‘>@,¦þE2¸K*4èé¼è6	ûgÔSÍ;ϐëqñZ½Íð%ŽV‰¬<¹þCéßÐÆ‹C\áBô‘H%|ºFÃINŠßþ—yJšô4«¨Äz‹á_ÕS½Uï‹—W'€	RPXs+ßâa¦f˜NQÝ\ºaÍcÚ_Î@ÚI΂Àw¡m]hÐÜœ±ò-(÷ìH¡Þso¬ÕÒ)3ßœÍ>VèŠ
D$^¾j0…#üœZNÁ±ð&pvVpN1ÎÊ	¼ËB—­<ÉdÙö×~^íTB+¥íêéö´£™Ñ@gzØÿêb¦Œ”ÄÚE™:Ý¡‚6¬MR
ÑD|$®qµ¨’Éw£
Û	+4Û‚†ÉÆ4&Ýö¾)J“Û°ìRH‘P2¥óÍ·Ê fÖsG-CFñ‘9çHG¿¢%œŒŸõåýêà.VžˆÒ:c.S1
!{½¥‡{¨Z,1ÌPö?LÞ^æÝc§Üt€•-ÉtcxŒ˜ÈT¸é•r¢KÁÑoMbxmˆ¦ôF¥výae]**ÂjlâõnM´o¢õ"Ø:Y;URLAۏßÜ€(\‘5ç–‘ãÍÎè^ȍVûÄÖJiΉTz7`(c„€šÅêÊ£éâC¤â¦ƒ)dFXېŸ†lÌ;ÀãV×[RKÏý9B
Ž‹Ÿ„Àái)Åù®Ä<'ÀÒRž’Õ˜e~÷-?zŽƒôïýœ×™™|ÉÛÒBžË&ÏäxyùkÊäF_³?qŒŽ0Ë’ðÌ<ê\\/´/l˜dxr¿"#‰]ä•+«¨¦EîgGeÁ›í›¯P'—„<Œ}âœ4<ò|‡èB"ðЄ6-‡ pw.em¡G‰[‚­«Ýô%Ñ>Í‹ûIôðÇ4›Çº{¢.Ÿì+ð8Õzf®óü0ñ’+$à¡¥ ̵1©5™Šƒp¿üpƒ†|¬ ´ˆ e6úðƒ	Eäx3—‰ô€¶«°Î<›unôjVC®žQ#/ \SˆÕåïŽr "å1q{šÏâÄŠxˆeáOŽP	$ýq	•Ð‰Q.Ü1jqËÝ¿àb)9jkÅä‡PövéCîÚ<\œ}¹!QÛ’úÚ¨áÑ¡Ù˜(Iá'+8aݼ
¸*nß½¦·€hPLc²¹³
œIàÞcU'.ùÔe³úIÄ–¾~î'\ü/­,ò’ê™+^H!…½¹oqû˜ŸOW þ¹¿<ŒL§£ŒÝÍbÈ·ÕrG™~ö
'É×"Öæ{I×P¶œ_T\l
2·é˜j]Ä´Ã똟ïG¢’á{ë[ôY“Šj«_ÏÏ$ƒÆ	r1ƒµ:9YJ1úR[/¤ó‰p(¡bx‰cxr€¬¾›¥ç/ªfÀ¾ÿC7·ÔR¬ã,1©Ò•¤ùõÖK¹î›šÑ¨›qÅýP 8'®Îž°Z(ñ€¢sßüsÕƒ£4ãüOýCKmÆ­¯[û"«]²ÜÑë‚Ïâ¸åð4”5÷…žüÔÅ.\ööÀ²½‘=è£ñi”4ËcºNoL†|
8ùÜ}naíª/÷VÚ­Lò[ß$ÛRæsnó4mð
b°¼)7_@“ø€Ûv8/ýZ»A<¨©ø^+
›3?ìqC=•H}ð‹FÐKóE?1‡Õ·c˜êÈØ6<*Y)½±W52jCT®“>[Zº%SÅÍbl…ÂϪÞ%Š(ÓqD;Ìçáíkoľºþ{®ý€~Ùp_cá°@9ÞÍ%䦡gvò4sÌW'ßÁĸö›{°é_åíG(Å
ìë6C{d%í(ÏËRÚÄP¬8<b­ùÌ¡"Ž«“"\ùŒ¬("3ØQ­ó×[z³â¬×Ä`Φ‚ir9•(¤À}¸éæ†NŸL .-ÝÃiZ‘­J £³Ûåõj³Fð£àÛîÆ—'@ƒA$Ϙx‡2·øšr$ÂÐüš¼®w‹îïs¨êŒg”IÕ†ÈpÚ²¹ J1$àaÔ>_ÑU§¬ˆñv{áÜ@’” ® ®×Ná-Y3MB¨V( º*éêuùWœD.w¯ç‚ô¶Rb—“òˆR«q;Þ1˜e[†üÓ2Epu3ÛP}\$Xècñ*+>­Ù·Âsz¨£ù¨€˜E”´û«f`;}2çÆÎw ¶/×üP§b©ápÎWMm%y*š\îÚ«0TÿvÇÓSÞér3¢M*÷ùCy­ÁÃånͼ–±@YwÚ<&®D#Ô´v„çxPóŸò-?v÷G L
Ä•€–¾|É8òËØ7I`ƒÊa]|Jç1hû½êFri@ïd¿¥·-ŽbeL\1T†6Ç/Þ.¥¦÷RÅýL¨`)Èx“$bÛò’ŽrÓgßõ»úVWTölÙĤNE|h\C¥Š´›%v³‹^tìÒ1Ä ;(®Þ»w<_l%Ä8ý%yœ¯Ý]±‚‡o]ĽŒ==ÂÉêDÜÖ°÷·ìî‹OÊÑbM%ÊøBf^!£³Óx}ÎÇoØ-Qbþ¨©,òàþù½™áz&§Û'kºÀqááð‹m°<®Dñ„_Ï®äóEô‘¸™’䯇<4Êÿ×]¿Žô°¯9@Ù¶[\Í]¿ÃÛûæ]îƒý{´ÒòˆÙF4äŠìò7:ÜíšÃdcñjZùB¿À4%áeuÀ1+ñ”— ëñšÇc¦åõÜÙ9<	AC„¶“ª,´¬Å½“»)
g^–vtÖêc*›Mß‚ãÉt‘ë’lR‡¤QUluezVE¯æ£O'5—ñYD=ˆŠšY@>UäŽ/R¿ PœK÷UóÊ-Žœyj]f*O…7=¾þ'b»³–œ	vQK h܍;dþy‚xÝIY”áaÁ³7Ú»æuî߁iƒW, ›„JCsÊÕò-d4÷²huw4ó/Þ6–äÛqR*š»òïnhY¨`󎉷lfÉ›ÆTttÅj&6xóXâË>*x%¤;ƒá ¶<
sá "KHÌëÈE…N£ÊïC²½;Ò/ú7\¶§±™ Ο§þìnxb†ó8ëGp™R'${7é³Y;ÖÈ%»Ñ)ctá}aþ½à
÷.ƒ>[~ÃÆ 3`vS¤ò
ó7¸TÄ7ûšB÷/ñ[ªíd²¥WIúoG¤3ìÕ9v‹²» wÑËPBÑY‰$s”¿p¹d¬ÐÄÉ6{ŸsuøôÃc;>Mu
c;œ5ÎÓ@jƒÄW³—<?W¸º¦&#ûÐM“FStå:S‰…BÇöéùí,|—ÒÎ"
Üv>%’AæÈòE$¸pÞâØ:°­Š ܃qU*­ºøV`ndºW`½çåA{”Ý–9R늞ÕÓ×áP £„JVƒÞàÕÑ7Z@£ºåàŽ_»­Õà,CÿÖÏy9;¡‹§ó†î;iœŽá’«6o¢á
kÆw÷než„‰˜8àµDþaŸl$ZÐ|v)—\FÂâó Á;Ï£gÝÇØ	;eáá°êÞ$᧺X¯U¾B¼l[’ùÃgxÐ ?{O¢=Ô¡Š¹3 !Þ-lDDÿ/„WÐëÜXÏ&±ù¾xÍÆPŒSUæ"Z¥¯Þ’„5çs›âB¼2•¾YŠ˜ñ=UÙ‚Ÿjuc—ÇQ²÷Ë
×Å©ßèýF*V³“=ʺ>¤ðçÕЙâi0EkË—¾¯5äŠQ®<Úq
ö;‚ßò$¼}:¶éb›³!vÂÛ–ÇHÈøü»ÙøD“fÓh¢ŸŠR€bÛ½þ=$g­˜©ç„š[ÌnF}ÓzHÒÖúÒWGm’SçdŠ¶²V¤>¨ Bq<»Tó5º¦©X~ÐãT¯nKÝŽs:>v Šw7‡Òُ‚|
î^Û@¬b“Uyoño•ótؘ5Q€ííJë3l˜°™›
xgü¸Åeò
PŒÉöÕœé
w@à[opQ‰ð ][ó(Éy¨ý,c‘ˆ<(ýÌ“ÒÔ¨	•¾-Ñ[Ï».Ä"ÒìÝ:¯:[·ÿ¾þ¶$u(¾‹­rèÂäZ2ù¬öò%Pª
a‡¸ôºYꔉŠäªD©7Ïèt/y£§ÑBÏV‚Ÿ®‚UŸV‘yÒÃ,›ÕT½P×31ÏÙŽB‘§¢	Þ櫐ZŠåÒ·ßÍÞ¶x¥:N\'ˆÕ˼ ëch&
f¸)ˆgœØuós•X‰äºÈÖ·³ ¿Š—¡ã)þFLËU•ÑÒEÏTÚp@¥U(J@³jS»Tkºœ–{Fš‘ä'Ýï`:Œë€µ±dÇãiµl
ö4j	¿r—j¿UKygõz÷a<eE‚5¾Û蟬OͲ‡Žî)ñþ²Íl`åîKÚ6MÖÓ"
gÍÜQ­#Å
â~ÛÓD÷㤐l7BofÿâÞøOú¿ŒFŒ½áß_»SöçIEÕXè7”¢àæÑ|RjýY
<r˜êýëŸm/m–3ÌSÇ
°äè¥8?ˆÑm0Ãfyr–BI´ÏýlmVq¬rBšm5“M%¥ŠSÈ–Z™ùWv«
àöáî·÷ÐÓ#‚ŽôxDŽ¨?ρ6B뺈(Ôëjî5´¤G\_^¨•ŸË¼´D¿rˆ Èð Å¿®$촁fn$!£÷2yéx8‹È“mkßpD-÷.óõ€0»!>i÷§N}“Q–fßã§ÕÀ í”æ(ó`#ž'ÆY`ë‚íÙ"uI*釁UópsÈ]Yp…˜Vy*a§Ný£.M¯hÊUŠ4gß´!?á0I`	ÇÂW¦¡£Æ´ÒZf¸+ojTËÉÏ’¸Á¥BG«Ö*¯2s”ºã4}¹íѬ‘ºÀ…®–\€®O'¢›Æ¿
1¼ óXQ
"rZÛƒj}ÇÂ6´bAŽõµA9#0_qn}G&Ÿ:ðþ„ä9± ÓÖ)@TÂ	Ñ…ø'sŠ·Ç@Ý^æl!°S6ÉOnÓ¸–,}ÜZ˜:Ö.Q¾íx[Sā‚}îB&ÏÜI¯:âÇöß*lÛÃǘp¬Áo{d´~Š»}q½—ûoçÅæ­Ð4û̈~;ã¾*Øðµ’osî†éÔ)c"|âªúˆßÁ‘žûÙ€¼ëÞù›g¯¿7
;Þj¼„#ÞvÿÈ$O—
æÇ¡6¨½³¹¾@Éždk)’ò†%˧Dn	k»Ú/¸u'Ê|Û×H.CöÛé\›Ñ7´iuj(ÑÃäÆtGÝ›˜5¾Á„9¹MõÉ<ø^îsì8(·µ‘Þ|0ƒ–¥ÛÉkþhö.EÕW7ÜÄ	ú¼
ÁäùÃæyÌEuðYû(Åtj‡#á(Å]³ÌeÙLÕvXrx7ÎV§{ò¡ÜMÎ2ñV£)hG²ÏépK‹úHc&ˆÂ¼XœŠxX%cЩ,S>¬‚²
¶ñ»Üô²²CX»—êTÞBòÓR—ך%âG¤‹üN×(µCÒn›(ÇËÅVK:ˆr“ÏÈò¹RLL6hÂßl(J˜jª§]wÊ°«¶îvÁÉ¿Q÷&$²RFÁAÆà4Âkh7òFæS‚)–¡
Š]’°ËüK²Uflq­¤/´-/Ò¼=ŸMñA½XÈ.t°´J‹ÿ%Üz2ðzžp[γ­„­™½û.C‘=ïÌ4ÐY3†0z&òè¯\ÌÀ´nÜgäŒïHA¶ma´4írEZ›zf eÕµrQg ¿i¤.f^îçYw±,†P•jA4`ºÆt™o­ùÕt}9¹7ž´p¡«wÐæ†ÍB!_åD%þ½åÚ–+ŽG…35…5I5)ˆôƒc5ž‚úºìY>ç%‚i* ÏpO:¼±{«‹±õczŸˆv.?t*ÛŽ÷ÿg at u1e_¼vy¶´ZSgm‚j
à–cÏ*×'˜ÍB»%)Qt,%*u¦ÄÁ&ûß–ƒoË3ËØ<[b>L¹¡ƒÜÍÅ_…àùX‹±s^€Áᇞ>+ç­ƒxÕê¨Í¸’ì§äW3¢k)Ü°›tþÉ[ZÜÝ«¼É×qê:¹9(Á`‹aف’òý½ñ$H~2AÔ
hO螃„{o+¦zØðcÍöÚ·£O¨¦ÒÆèÂUÐ3sÊÉ=oë·¢§"6¬H±	bðÎ[ÓÍÃ{x˜†ÃÆ«-Ã:¥-ðç,>Ì<ñ4Áb
âCG	«ùe­ñÞ]j=¸;FwëšÎ߯ÈM¾ìÂA™ã6ÃÃÂÛx‚ã )¤HÌ‚–ëûH‘éU5įØvˆ†ö“y—7±¿lyµ3ÞÆ…R’?
©}Þ3b·/{¢,ñý†3"C'q|ÁaHš¸ÂïàAô«XE(î?Áë+ŝÍõI±‰JB¥‚ŽÏ	ed÷XÊêŒ7…hçâÈ­*¾Ms_Ýõ1Ú€p—Ï-ðÀ!kGãu•Âlÿ3¤«7‚4¦³LŽ•=Ä#;RA‰Ï«ÂÀ‡טÕ–
óÌ-„ÄéBù|bDé´c&É}>Â#‘'‘–™9÷Á­¶:ŸŽ0^?ËSÊálû Âgø|<‘†âr"‚ÖÆä¶3zž4Qchy%Nm€tzà>zѦÒªÈo*(œ&Bw‘x†•Yíø/G<l²òLÌ1iÚ­@¡ju“órÒ¡§×äóÞþÉXHCZ.œ„³F‡·ãÙ¬4ñm×@YÏÇßÊ3^¬Ø~å±\îȹº¡T6üÍκ"q?rÛã½KW¯_ö@>Ké¶ú~èïÔ‹ñ9å—50=‰š'|hzèÏþ"«¿ÈÜG´Õhù¿vê?ÆW‚1ÑoAßÂ…ƒTæ nµÌŒçgÐi3ÚÞìID­\gxt©ïRÇœÄô@×eS8ÒíP"'˜|&…b™“¹mãÊ1çÿìðÔ¶ò6£JH³ˆäèÞ?í­´(œÖ$¼†X×=|ÐFñšËƍ|%%üØŸ•v²+râÙL6kjþ…þÕú³®Â|¼¢
Ÿ¾y Þ¾œ¼fB2 ãÓšFYð—ôåx«˜é|ƒHûy¦'–bJ¥Ø‹í¸ÈkˆÑåßòo,­ŸîǨE_i‰³B+2"Òè®`ÿcVNÉ„X[ 8bGŽ\4qøQÇó½k<æ۞ɇ›¹¶¢µÇµ)o`šÅ¨Y>4´Y­
ÇnÊó"öp"„Áy?&Ãó›s;	‘GVY"$(Q]äˆbZÓàíC¡UÊJš²íŸUÑ?ÓŠøãÚxJãT$«¡‡>&ûæÓ1ˆÀÇ:¯Tph†yŒ±i·¢&—æÇ}X×ö	2Ëo§Íõ"2p‚dÒü³w„B—Sø=â>œÿ@ëŸýfv¤¶È6RX(ç@‚i¿’Æödz@óð6ßxD2 B„Ȭ¨–ŒÀ³+÷nBƒV‡ åÉQ x· bHK%²(Ü­!'!
Çþ4ÄíyÑØÂë?ƒ‚/_9ꊂ%ús1µ2¤åÈ«E^òní¢ÎlC7ȇmÖ_Vìèmú4ã»å“>b„köòÙ/çqO%•« åÛ”k »‰ˆ\_1C¹æîÄö˜ÑéþÁ`²Ù`Cðµ2nÂ3iÝÃó…Ã2Úš¿ýæqîó”‚eröô«Š&ê¨üªî"&<‚²P¸1+Ž£c~JæŽÀŠ*–qš+„
©^ʇ{ÍTòë÷„¶-‘$N)™ú^CÌBÖeÚ»àå[ÃîìZŒ Ú(NÑBXMÛ݉ÇXþH
kÓÊÅptœë)RsZ¬ D—¶bÏ3UpÏ¿Ç8¶Ò7î·÷ûÞSqµƒuÍp…5ƒV—-¬…ÙqìÌ—‚Cïn·ÃãO•1Š,#.¿ &È¿	öŠî2ÙÂ$¬m½56ïÃApå:DêÊX0ìõCy¿å‚Ô§F{þqPÙhšBHûèAìoTà¥'i,ˆ‰µöÆn[¯=
¯°îá
ëòŽ¢F¬Žæ&â€fÕÙè)Ø«*=²ÈãNÓ‡­¢šu"[^!…šý CÌ|˜=sIý.mÎKüWÄ–°³CKD†.kIÍ£—(>xȹäæ¾£€«cBC>[‰¯URA:½DA®7·\ 	Ò¯L >S	Ù¸9 ‘5:¨pãöŽ+“ÀìM¶X)v¨
}Îeᇨ¦M‚ƒu,g¶åŸÈ,÷ËãôwûÊ·ÝrRî|8––Q¯@½Ë¥Ö8Å•)ýº+ª®w5tÿþ¡N¨vìu+40ÑÁG·žX)|Ë5rµ4
æÑhbNQ¹`œÒ¾Ú0ͺ&©÷ýÓ+m;ÓuátŸ–SM¾e=¿´@ýn_ñįšÒË)EæN³æOF=¯§Q–‹Å‹ŸÖË_	úå±ñŽÀ­¸k,Ó_œÇ<¶.Š1{hŸ@q¶pá"i“•²KÀ/÷~ìYîÛ,âæ‘€…æÁ­¾c¼ÖôÖhê麟Ki®Q!'ÙeÙF/C»ê&Ë
$N-ßxÜkN&€øZ³°{ÀFäŽ¾kúx‰ß¨
}±Pò4óÈ>ô´ÕÒX4¬æRMž¾Ž	ƒ¬ ‰NW<9­¡ûv7íp$‘ÌLÍ“Ó“ã"KfäîgºFÎ>º!Yï+K³v–9ÏÄõÿlnÃT	_6`‹;N‹“Ž¿ßÔ ‹Wm41xßCÇš¶7’a1£ýGF˜"X¸ôÖGڗŦÕøÉg4b­P68]ß
y6¤Ö
Ó×a'{]8höB›Á—¹Ü44qnÄÈnêIè¶ÔÙëAÏŠð#¶äÝØ…Á³¸¬É‹ÆŠW±udf‘"Æ8Ö}P–®\Z¾‡³cN$DȬ{þÏ üÍõª×ŒòvRŒäÌî&¡¥`ïÚkùƒO¿7@´Jgndmm “}¾Ìp–Åé1¯º¬|ë«KwMOuiûÿ
§0yo#ÓfGÈà…Òµ¿5-èåeRÖªÁ»úžSÎjPugœh{C7F‹m>Ò=q2æ å­"…¹æÆG…É&„*øÑhi>¦~ÿõ…ÊH5eP0p|Y\ë¹]ñ Ó
>.?p8Ä€.`w—áè5(HT…Še<À6?qžÁ{&G¾*ƒÛ°}œý­:ÈWŸ{ü–Bv–¾8çf„ëÌò£3Ee½ï«ÊÍ‘u™Ê™yf:]¶òÆGäÞ©¶Z=Ž?xb·¥¨Ú¹Ðœª--’ÜH»¥N|[È:”ëg¥2óÛž3cØŒ	°N$£ÐgÏ–g	=æ&ÿ›}<ídœê¤²EÕê×^^§E Ñ9µ‘çâN1Y;Ðs²¼ŠãKMÚÓ,ñ»/ðÝ¯›i›f	拘¤%Þ¾{Ä(Ǎ§y9âMM/´ªp5EžÅ
ºÅà
ËÏ«¼¼XÍû1B¬qHFÛè‹ÞŽŠK­wŒWÈì%gêë2E¼¯O~ŸÙ€–ºÁø<ûÕ+̽,ôÊêK³ÊQ7D‡ÒkäšQ)ý¦Ò>èÙ´¦ÕC~8~#ö¸šhžt*¤1So¦4­MM0hJ¨wµ'þ äª+\œŽ!:4#¨Àx…ºŠŽPÚ#‚ë´ó¯ި߶[EÌw¿d”Ô!Œ0oü
ýÅ iˆ,yUxŒÂ„vP-…ÐMN"jœ¸~äÔ tä—D!JeŒU+•0Û«eq]^ËöƒÛËýa4eä…1„ìa…Ý~Æ7Ëí@H ç4æÞ¹&uÍ7èª~Èl5')ùšsŒGÉK«Óe(š‹†¨ì	
«7ïE0ÙA ¨ë‡Ÿ¤¸Î
$ú®4YïÜ}S±ÕÂƽ§hæVö1]·mœ®›'*ÁêpÝV³
<½RvòÀZ‘ÓÛ˜‘¡F²ŠvFaF®©•¿¯¦¶xåÇý¤,H0˜¡xÊŸgêsSÿ[> ¶•=7`DÙbÆA‚Aœ>Í FHð3Ù!é…µ›ŒM/áÞsU¥§TeZ²mãBÒôt©j.§¼¯‹âÑ4iD¼{œj~ýŒT²¸Œž·éÃÞ¿Æ ¦Ø» 3Ó6co>®_Æ䝗¢’¯™´´æÚmLYâNwC¦!tPO´G_…›’ײ¸1ïJ¿QY³`’ƒú¿ø¬P½ój²Â¸DfÐ3hÝÈ3a’w±ØÅuµÍ÷H¤wâ£Þ.În6ÒŠÁ•:š½’”ßÔ¹_‹™0N¤Á çVâ«LI*^!‡
Vˆ™±gEí[þÄˈà@ï6AяÄŽ˜ºŠ‚:®*¢Cú›Ðç0:%?ÐoÁUW ±,Ä,×=£-Þ:G–¡4Ù’/<×qÆo¸J55%q¥O§Ë·¥š.ŽäB•›gs]
hȾúìÿišã–¢ôlEíÐR…¤Õþ °yŽcЯSµt÷R¶¨¯×Ù<|ÂÄâ¬OCžÐ–´'³>=bÀŽ:@•ºMªƒFš‡¹ÚKa
bØ3ÇÔ¿˜…†jô¥ë]öù#%ß40‘íÓâõ%Úð‰kt
!ýÂ>ZÈ묵!|î2€…Š —a·5ß‘ºpovÛ@\RæÇ£ï_†Ÿ#þ×ØÜÔ<Á‡?ñv7æ«dVŠ+]UÅ»ÉÒùéÁ^Í/
Lˆ›äô%oRýXž–>87‚„=Ï÷c‘3؝êê| ø4 Ø’ü è„­ ñuˆR$Qä"£
á\j>Fd`øÐcÕi¾U	Í'KëWpyÇN‹ý&§ƒô‹ft876·ˆ£7EN	}ŒH‚×á T¨{		“-7èâ§)¹$G<é{¹ª^„è	\
BVø@s À§ä³ºËmºí WNI:>mì{~Q‹”ˆ½¸º¨Lé¬ %^¢íïÃKyTeÙ¥A7l_ˆÄ'ŽéŒï?3û\ÕÆùT·(qŸ(pé†WÙ|bk‰I´ž†}UÙ¦*°½Ý6:5‘°»Gƒö«Ø@îf7þ6®·œ“ÍÛFÝF·²„ôÜÇ[—sÿ‡(!;€BÛ¡ÎLÂBZ±~
é¬{Õ
jê‰285dšó‰qÆ…­†Æ±KHå܉µŽç`
¨SǪŸ µ‡°‰4!ûô‰:g¦b§Xc9Q%߶`ÐʬÉ|+ñЍqÈÍ^CT¬UW…ªîd9+ýùR
EãU¾ÏéÙ2LíŸöß›þ°’Úa욘‘Dœ”ªW6®BêBO–2
8ºæC[ÿKŸF±|@hÞXqs¾
Éi™ÓJ!¥Ì‚Àôý©¦§Ó”ÐËØ^ï#®c&÷Q9vкT$=¥×\~èQJ‚x at x
_öK0¸ÅqürÿÌ+ÈueØk»ØdB(6ãNFð-0Ç7ªQf Âq)Ãþ±”Ód»Z¶yÎ}JÛÓ4!¼ßê§Û}­}Z<°t¹}7Ý1ê4AQ{\Ì
…Þ[Î	´Y‚ ì"J,}GFkrOfAØÓÃÞÒ¯îS—kø£¶P‘;ؾíûÚfH“ÒA"£/Ò<ÿd‡{7ù"/vä×”÷‡C É‚$œiŒœœ&$”5ÒHóUžØ \Z
Ûþ	'ј5Bôþ©ÿCšƒº.j‰–"’_|M»ËØ ‘XË8v1å•èñ9úQÚ­Ñ1røÍm†•ãj3:ªò!JŽÌ¡œÓ)Í °vj3ß)³(ÓóNŒˆ_¤ÊjéîçÀg‘÷èU¼ˆî']œ0ði¶DbÌ¢y]q9{*½À`1iÞ¨ ¬åð&sRPÝ©RÚhõ	PƘ^d‡ÇŒˆïc÷Ù;¶w4Íþ]ÏÿÄáKrHØ·og.­Ž’˜3㥠A)Ò‰ôf(ÆÄBÞeö±Dú²dX§P*#ï␓°×dM‚Í#MNåWÏ»
Ÿ UX<‘–›ú=ÜÛËìÒˆ(´ÕTBÃ¥$D åæû®J™ŽÂÚ<ó¢Ü®»äoÁüññóMÒ›ùÚäÖsöwé Ná¶ùò0³ï±ñ}uÏOª.ñ?‡¤_Œºy¤3úêCÚnÚ…GqgÆôñ£pSß¿ÉMö5€ñ"òòÅ#ÍÇ“ç³f, æ(×½†ÌüËR}h
Š§«ñl ñä 4]„’È—ÄöÑȯJþÝ×™‚C‡aµ4ÞYüµ'À­³‹«}ƹh}½Dÿˆ©§çã ˆýJMa’áÿ”Fˈ^Åëj:Õ*G	ÞÙ@6ŸP–2J|&sÙr©šdbE‡Vs‰
. ®*rŠšRÒ‰ð(Ù18s @_‚Òn
ìvØ s<Äž;¨)c
 ÇYY
{]+Û…(Ú©yЁ†E€ní8P7À+˜ñÈž1³S&aaýoÉ_’0z Jì|;{}tež r
%ö–yææ|jc™2?GDßíEጿځ25*r(o„`’lx&yï·gSâ¸À	øóx‹K%aŽ…ï,I\´é’¢W´/›Éa<]ÇÓäÖ6Â'ˆëwîm}ÝØÀ1Jq÷`}ÙÇ"ØZ¿CÔï—Þ<R}ÂVž-Ѩs+ÈÑìÚåÔÜŠ\Å’FƯzaø6Â*T—êÌ0ÔK /ôRŒ”ÀS´» &]¢6?:DБ#_-
|ªwÔ뵿ʹèeŽŒ½‰ Ò‘ëˌΕү¬Õ2WŒ°Lс~žµŒñÅ«ån¸+ë&×>¼¦4ų‹YFìm	¯·©‚…XY¨êñâ«x¦£¬z)0À]•ð®ÄÎ/ŠªþCX‘Ñᘙv‚-ôŽvˆØZn*¢$ãT</Þ°P ã?—=}cI³VNDâû[i˯«´©Þ¾!„õÎ"'òÂiȺÁ$j^Ãí¹c’Q¡›ÕD ¦½Ç÷´xq¾*OJæ<ÞX|f_šJ~y;	êR!w]Šö“s^ï-Ë zL¯û†û@Ô?ËþŸÆyj·mÒVÐwïÃ>9Ç«€¯JÑ66E•<–{½ÂDFy{# ë=4öǐÄÖÃC‘Ý™W$ÅQìªI34Aènm>Öå&xSYŒ[Ë‘ Nì&—3bãZ¿ =^¢H9%bù?n”}¾kÃ\¯7Q³,›•kwA:_d¼*"hNž¼š®ÐÝëèÇyeߏ› I¦«	êsWèp.Æ `Rs›ú‹JÑZÌ™>Y|°ëû,%®Ì
Úì
õmÞJ+õ35Wè:KЂÈ×Єù¥P`¼ ,!Ze:âºCÑX–1úH,ŠŸaq¼ƒÑÕ0˜3(ïáAÆÏ?†"ŒòmU—Yß"nG	J »•A°½ô| Þ(ï#òìgópq§!x‘*|9”´}¬Oi‘|¨œ¶A’†#$tÔürù Ÿ.ÍÀøçVâÜÚ:ÛzˆP¸eK}‘îîN1÷;•X5@µRNÖ³ÚÓn .>ö22–úL¾jðÐ+Ï	gáaù ¬16qw¶“¸+}ª„ÇÙ«+¿ÈdÉJTõ _f‹üÂ*…–s òJ7jŽp\VÔ¦õPƒ]YœË»¾,P«C5ÉË~G9f©ˆ¹’B±‰~ëL2ûd	uÝå1åKqIùÊP«Ç tOd[w
jMV #þŒ8‰N·ìQ‘ÁA×mJýË„¯:‘Hwu‰^='šxÖ’>PŸŸÕŒ wE¸ãïc8A¼†oJ€˜ð\>•îà!ÖIE–ÃNfÎ"6z-Ôý—Ò§Šó䮪všÑ*´„š ü¤Xú‰wu¦;³tÀÊ}7$ŒéÙ;ä2}ëGE¦±ëttï®ÑžVµÛžtt…Öpæã_•]Çî$¼ð"ÒäLù´4{ñÅQ€ƒá&‘܃7ò}Ęæ»××òm|çÖ­¥Ç:q¦™^ë€Ý3fên”Š3ª^…j½Ý2vG»jí9ýuš,¥o
ã.
h¥ÆŽÍ¬Xn¬&ù £ÍxRìnÈü8dý£mõQWÏÅñpæ/ÞJƒ
º‚„¡4ª8zm5	-4Bê†oÌ´Í«:Ô_S¶ƒõa¶Zìš}^èœP¡DU s5«‚'y1Ü1NÄZ‰Êƒ5T+Ç¢»ƒó=½£z¸
§Ü4bÎ9l®Kì=	QWnc Ê4֐ñéÍ Ê,·5¿Q‹àÖE{V¼‰å›¬ÞqªŒ@%K\Í°+À͐ RòÌE^gYJ0ãКÐS–H2“ÏÄÀüÌjO+uéük9,"Æ-G x`I˜Ë„”1¹¼–‘=dØ+Ù€°†ÄÝ_ýR(îÙ‰ïŠ0áHÒè2·äX›ŒÙ·‰ôb,òTµzé\Ø:Uݸ–ìÙÓ1‹ùÍ•ýOîãGýpÚ±Wš”T,i$+þº g‹Ëøæ:þ¦@È?|{z@¶ô#rþ.­ÛnÒ»n*gÛ1ÚQ0Á9õ̯LÒáˬ(;|‰ðtΔ_
9㎈!	^•7¶ŒUI O´òú„1QPtŠè8Ú"ÁRG
¤vZi¹Ä<){“Aʪ¤é.XDôSˆBT½Ì÷6ÕXæ9þa	€¨ø‡Ü	™
†è Gl_c¤¿ã•*|¯™û÷šLc
TAJöçap
©˜…?éÖ“ìe}1¢ŒiÖ¤ˆÐìÌšŽÖY¤¹¨Ì×/\AçÅ|V‹ncoé}êÅÏ–ÔSâm(àN=ÊOU)“²OÙGÜw" ÿâÇnÔ­7ø{¡…½õ@u§¦Y¯ÛÍ™Òù¹–Ð¸N…’Hé$NRêñ~ƒF^&«ýÂ-s[•‰$*j´ø‘XRböÅ:Š›ˆo™²V†Ó+ Ø=Ï_‹qÚoÿ´þzC5k^d‰J|@Û¸ü[¨9‹¢G’—7wï²-†“K0Cð£izð¬@òWȁ†ÈÜnjT
ÌECÉÂØ¥+^ºG+6lÝ䑏Àb·iËŸ°ÛmuÍGÛ!Q‹µžž/b%²@(-7žš[!'?·cº¥àRöšÊ×zær²r+a`ÝÔœ’¦8›ç“H‚>æ2¢1ŠäÌêE¼.5ŸIò.ðvðàwò¨¶1àêÁ£!V±¿n
Nˆ´zWŸìþeF†ùm\ER,É;¿§ˆ®dWÈÌ«fD‰îNLE2'fã_ÿ…'Gäߘçÿ–4:©,Õ!®Ù¡¢%d
r# ÍÇåW’õ¬f?>how	>öïidnsá¼Ö°ëåaRJä`B)Fhã”	ä3NvRÏ¾õ­LòoâR}fwý÷Ïy˜­¹ù'4aÌ7NŸEò®\Àæq`ÿZ‘°t¾y,ùŠKN†%ôBåò„a Ü)‰Ž/Ÿ.âRNæ9>$ø—–CÌ.™o8Öb`ÑÔð½po·q¬º¶™ªUhðìe™‹Û@P3˜[¯Þ\EÞž’›q‰A©eÂUûI\Ôóhý|7OeI
3¬>-†:L0©
”Cu™ÛÒÃTÿäCJ+‹’`§§ß˜õp6„a¿=Õ%WúÅ}ûuË—ÐÒ.:xñ+µJăÉP‹p¤\~—‚ÒÓ1sxhêMºd*ŽDÛ6ç÷Tü†nesÒãöF¥:ñàÏ_Lé¢oŸåÇ ê¦/:ôïÀ´ûf—’?ʲ؟Ò4qˆù1xQä%ƒÜ^5PÙ9ŠêíG<“OŒV|€)€G+8Aè™.k+àJ3® Ã2+ßÙØ8r4LŽXôŶÑC;ÃÖuoSÊeƒ†zL><P"Á˹˜øm¥«f¬°:¹ëi·YH4ê¹uB:I]0LH&öT@p•.)h(¯†°"]W%ݽé´e›¯©çH-®bk@ƒþmw0b íAëìÈe¹Ïåر(`ЃæwFdßG{7sñÚ^íº„Cꁐ\9…3HQJw'jX­ÞTÒÝ$ÑŸœEsÖ69äÁéÛk
cc8¼æ~ÖÚÓ@^_ <ägK‰.×¹„"ށb¦åØGNj¶ ¼IäS`™£¬±HK23¾Îo¬®åIe:&¹x­
BüŒ.¼Ç`rT™üeá´ñYÕÄ!Z–CÙÇ+!
)(Ætf¦5{åjАÅW°ÜÔ·ù»çÜ_³q“ˆFû±ï±DÔVjðž¹`Wç¼iåÆ–K~–S† ]râêRI0§žLGÞš/Ç2zP¾¤Aa>_S>ˆ™r3ÞÈáQ¥õoÁ3Zdµ‡†…ÿ
§Æa¯XÒ%jœý3ã‡ýˆ¤ƒ7ó’
‘a(ˆp”_mv7ëÁk¨}>i¿³ÞÌýd!pc“óñÇ…Éýpäƒv¤¢O<U•ËTڟ̀怰ã}ŽÏ ÛÿI&°Ì‘;d9㤏vTT	Ûã}¤BÊi	)ó`LߘìžÛKÔÍíƒÁC´¨@∡}Z&€¯¬x[óò•³’›jw½ÿîT1ÆæÐêˆÏ‡}„„= ²ˆöîד תör@öÊÁ Y~Ü2ØÐà &äÊ©vSB'ÄÝq%ᆶ#žÚ*(#³»×«ŸRA–Ç:Ü<> œÌAbQPÅò8Í304‡Rˆt6à<-H#‡'•kk<á.k¯ç*}¯hÃÐd
Qê
…r¡1&Ž=¬Å¸˜÷é€;àÏY`e”^×¼~,À.ˆujaØbì.ê|Þ±+ä¢H²m6ArîÎâ4
.iªTGK_[Ž/$.•¾ˆ¾é ähߧuÀ¯ÅyÙ÷rn'PzôñÁ³Cmvâþ‹ñ‹žPÜÄÕÓœËåL_êÀ¤5šñIó³J8$÷lÍóSJÍCUCs{Ó=¹,–ÑiÆGÑ°;‘NϽ_úNC‘?4
5¾÷~l`!°Gk%¨†ýÍ"=‡ñw}E8à;_ÑÀ~õÀG!Ö‚ítŒ´´ úÅŠ ú
•lã2D„çúp ‘p©>Ñ(¸†jǽï²Ë°C¸`QpÖeE2È€Òò	DÛÔÀa
êN„ùY¯×ó1Ñ×ÚK]lŒ?PÜlv9æ2)9ÿú‰Å5[Ï[Òy:‡ìeàçÐ3	º(¿*<¦ƒiÅo6Úԏ
niud†rf‚pXv+Þajeˆ±-u;fY‚J‚çOZ—ì+$$£Ýò§¹lE(ïþ‰œþ×í«gØqP5ÀŒ9ÀêaLÆŽ¯]nÞôpW¼ý˜þ|ðr=;•‹±²ƒpŸ^yDã»Åµ†nHÄÌÊ«Öç{A'¦~.«QÁõë	ÿ;‰1©æÉ@ȳ
ÕRum-ß[)¤ãQ†F(
)úÔècŸ³Â¤‰M_b&C2L¿a€bÁª+rNó9³vÍ ”È~}—kû¶NM¨—tK#Q‹BrUaqîÒ%7ç2?Û')mßç¦ÝGÆ]Z©ºÆ܃úÃœ„ëz{›»GÍG­¹@u':„E¿ò>Ê>ðO"jGÓ'Ìà«æQ
£¯Žk°Š÷Égzl4æ¦
LØ¡|?òËÆ@¶z@̸½þËÀ†¾æ¥N€­âÅþ³þ¸ê¶µ	|Þj ÏiWTs‡Åà+:(RNˆßÁ8“[÷Û½\K×)°ªªìvÊù•å4%ûÚónâÚšt˜-ö¨Í)déPIoQáRÝŠOÌ-7 Röþ°Áº8(È7E|}>2‚ZLxƒ»jÜ~‡´­ÖÖŸÛÖ¨5¹,b\ýggñ^•l«rÄ©[¿›…Nñ-ÈáŽij4RÎ6“åÁj÷Çó¾Ô༶q¥€å  WØæQ˜:Ú•ñ÷IʪgWÌV³#>I¥Ç.^²1䄆«%£§	¢Vº%û…$‹ŒòazùÆjÖÊ%ŸûäÄT¥¡L•ð¯)µtT_¹Ï•åÿKb¿CE
xJ´A%<] ÀOȦ`NÔÙ™QË á—Ä"R`ݧ{K&Yý§a&Œ£Gú„±8|"½×õ^ªTP³¨åuõfÔžz½Is=Œ(õúÊø¤;Rh€˜º‰!µEÁ.‹‹~qùfàw¹ŒUÎm}q õÃk˜í˜GÄS3ï™I|@à¯N\¦/˜ÞÑ›R¾Šû0Ö²"!åïv$VñÝqÜ!fª¨ª6Äsq
?î
12A;'çú‰d³|™h%®ï¯6õä«æ„è¿­ÎKlIyêjÉöQûb­ÓÕ,·‚_ôE8ñÜÀFCCkŸOM>Wq2g9&øQnÑÁ„Ÿù›iD	¡%›A‡ýÇWé`MG؉A£”;‚Æ¢€å±ó7µ§À!;ç5çS„t8	âÉ zëð
Jb”¢‹[E‰‹EsüN*(Û®½€äp+CHVLÛD®†=	ó45ÛÇ)âUº,u åg0klILi¡ûRÔæ‰q¶|èIVxš2Xû6"&)†>ÓƒWpcz€GKr¬xd•Ò_C¾×2÷дâhÔ×qMªáaˆU‘ýNZÇ8iÓ<±“íˆótÉ*
üZ”™	mA¬arõ¿^
MHZû–ñaM6`çЫ/?=íœÁŠ{stçæM}
¢O¯…ž†VCŸÚ­o]ר¢¾šQD9ÒT VÎ,”’?
MsfYMPù–ǏлI´––±ò“Y^/Ø i:ÉôÄ4‘™‰Ž¡“ãf~ä±Jÿ%ꙝª¸¼MXƒÓÖ1FŽ×Ê1ŽmÓñtyx‰*„Ù(·†Ÿþ¼å_¥¬ÈQ
§¯ƒ'‚&åtŒÀüú>ïJɉÄVAµLqâÎcù6‚wHÊ76XŸ –&uFñEÙ&ÁÆ’bàJ—õÑùÑ¡üÂ/ñþ¶?•òG#™ÌA1• î—l±–æÊ*íf¢,ÇG†ï*Å­fæoÑ”bkþš]åÑž¸”«ÏÐ6Áªu\ÌrˆÁã.åt‚…¨¡“ЍÇð»ö÷qö;R½©MݼªJV7¾÷)G›NK \)4%˸b(F3–ãë‚æžü—©Ë•4]‡?áÎpAàe)Ë}8Ù¥‰Ðìµ~*0±0íj%§¥ÜG¶‰§¦>´E‘-p™W×Ãl#zpÍ.2¶¦íßuàšïŒ·‘wYþšP뙓jÞ%Æä=¾V"ø^¼ÏVy—J5‘×ö/*4¥.JÈ÷òìn¢“düõº>-Øb·ëh–òpYŠ«Í•>{ªqJpIYîõ7;Þ%·ªv°®‰ô%úwr7¼ áã}_Bë¡(HD‚({/
iC[ýŸRÊÀEšÖÄ~
Õå62¾²ïæ*ŠNò\¤Î	'õOèMG4 3úV·Q<Ñ»œDöQN	¢•GrILw½Ð„YcäØ7™ü
`¸_qÅYâÙ(Püæ˜Ì0ê¯l>
u€jv
®:)Í	X¾Í¬‚é<{½×|Q‡à“)«-†=¡©'ËE.,½;IzFP¸ª)eoÝ3Èþû+±0¸LäK # ^ÙŒ´µåqs8Ž*#0"Þ£AÍŸéJQÓ
ÉÉ;C¢U˜×Ñ€è¤!°ÿéS‡QXâÀÀï–Z—¬õ×l‡hÑœ"½Ʋ­½ò“•	¢ôr<Ýšç¯k0Fƒ¬í0°
P9ÌbœÞDGD4*;lß?Ü—GqåF‹LÔa·´*”ÇÄ~ü>ÌûÅ,{¯GÅj‹ƒïˆß2sÁ`F)øºóm#qW‡éýr$£Ä†"/v•Â©z?\ìökøÎ úe+Ö¡9RQ¨jû9’…{‰–Èf¡ y¹ê\JŠT:{¦Î€ÑÔp\ªÀѳCˆË¡Í5R/™©|бÕ_K]ÇœSq"¸	e¥!!V|	й£ø7Fç*À0¨´©(­“*ãpÚƨJ?é[0)2a¤»‚&;Ú]¹ÊEÆ™¯ŽÿCjTç²`¢Â‰g´·ºìq®]rLsè”Ñe B¸Ýø4ËÍHà„¥#Àö&»O.§lÿ.˜)¯Tb˜·ûР‘„•+D§ÍÇ«]¨Œºo‘yëëðû'•XmÂìÈH[z>ŠïKéLVWäü»‹4ÆßLªŒúaSï ~Gˆ1C‚·‰’A©Åÿ_šK1b©õÄYôÿñÐ_°Ž$Œi3P…eÉé ¯s¸'ëÃ1dâ¯qJ¡ÛN~mÅÂKòáck"è¥uä“ƆW†+5ŸJb49}LuìJ¡º½fiåæÌOœÀ¨ªxOÐo{î*ÀlÀ@B;OjöÜ"Kcm^B8ºUHÜw¶"mw¦ÛÝXaÈ”{¢KÃ’4R¦9´³¯”}"óš—»ù#3Kt¯B‹ÎÞO_m‘™‡KjyÊ0åÄöƒ&é\Ü:}Ÿ…ÎÀŠôðzfÒ_Î-Ë*Vz…3}<Ó!=:ý,°|NÄ)1
z«_ç,c¹ç”âç™L’¤µÁ9øµ-'ø2®¹z!5x{&*¿¢ƒé¢1fD¥2òÀgÿÎ_î!µŸ2l¢?Æœ°Œ‹åuFZÚädLó×}Nòðp¼ÕizìÏPA:EXÂý¥6Œ}øDïŽgOr«M¢0´%„hYÔûEõ%aø
\‘ËH¶"àxÞä„b!ñ껡Ôì°d0ŠXý‹A’·ö<Ýû›T]…‘É„=ô;?÷×p„Š1ã7¦õ”Û˜P9±–%˜‘; ÆÇTÜX-
‡MŸ´€U1q|þ€ìHyÌ6ý†ºSç¦Ty˜³Gͨ‹kò(<ç9µãl(áÿq–Ü=:QGM¯ÊŸ("r#»·,&&æ}Ь}Ÿ\ç¦VÅE1¥À¸M¥ž‚„ÃBã[ñ×€O>æh¤¬¾{Nð„ìäÛ0÷7kÞÓºƒ¢µœLêËöúVk‚å#m[îí“À7×ev—ØÝ	iÏ~Oe/²pKY¸)$'Žt4”.™å
9 ßŸèÎb~Žø'vœK^ÍX6ÅuÍIÇ´Y(ãȁYV3s‡¹è‡óa’µµÿ;K"+™œ”Ìæã6m¨77»æ¤b{ÓÌõS‚–þßò|iàèÆn±¦– +—x¬$y”QÖ7®Ddî LeÏEÙbý¢àº®ããyâdYÿé:¡oyyíÂ+JK±É@HWJâÖ[ò'Ûý=¿¼µòž:Èκ¨¯ú„ý*Á¤8­ÿÛ¼:+¿§)'Wbþ>‚ûS>(® 1°Mø‡wñ…–¹©Ò
´Ø%'åÎMn¦Äㆣ®Ãàœ[ ¨ TO]÷¿«AȼtïB®£²7A™dg¶.oÎfŒBMå\Ä0§d TÖ^²„ï²Wh=~VÎgE› ŸÓPv’Wh2ÇÝê
;–ÅLâ~Ù.¿œ}þØQKm'‹ŸšÜµ7à?ˆZK•ñ'?v[ã¨â¼ºÜéŸJìdìLf=¬ø0åf”I¡kb§PᏒ¦ap¹lö4Ø_g=Á}U &ŒŒI?›òÅ¥[WGH².—WC›§2ÍɇQ–ß$”쨻ÑLAÍŽíf4
¾ ›Ä± 9§nqbÆoÀÁ>˜UÜ)_áêœ »øã&¬L/%QªûÍoVíÞðl-ÊM*¸˜þ‡ãÏÂöz›ë´
­ÑÎ}öÇZ©Èչѫ{‡4S˜ŽEù„)âÖ÷bûbԐá.Kë;±0™ÇF)/ìtç-Ÿ~˜#¼üvóÛ4‘ïÕA†“Ag[¤­Ü†N ›Ò#ÈÒÜ(‹ôI&jª'¹ä$ëK*–‚QYp@=í˜Îï?*ÿ<b¶ÎíI(˜íò|<n K;;'ÌëPÕ1„<úÒ:§÷Eçÿ–@ñÁfi¢?¨nÚäJPv/ÇÉNK㤑µ­×-ý130 ,zƒu_!½Û©›RLþÑ‚ùÛ”t(¼l=e]ÃÃH•µ-
ý3º*¯p/{4´tËp¶¦Ÿ7ÒØA´b?[ºû¯

öýP}TLkþ
è¿‘‹xóèl7nH\bözF–O*ˆE’*·È™Õ7WEö
/ˆFÄTÏéÛ§Ä$hÌ;[D|¦¦i¢t£­:I¸Â|ÎnÌ»(CEY’br/±Õøƒ »íÌåRÄ!Yj¼üÑ`‚qÁNôK“ÉÐ^ຟ.¼=úžjPAdo~Tœtr¸¢õD*Wô¢Ä…/<kvÞT߈ì&„5úú^[Zí¿¤­)l‘™;"Ôœ.Ö01¶¤Š…sÚ>óÌÌ1V”ù)(YͧÝ×Ó·ˆ h“n î*#ŠHáê4<·R»‰„Ki
wcôãkâ³^5îÅe^º
Lëmz—|ì+¦š±ô)âèÓ£Ög0Ó½@;û»ª¯(¶=iìÒ¯TQr¾ÿ¨a&	©¤Cû"û2ý›¡/ëþŸúç ×¾G€£5°<žî—h¢11*ôðÒTî$×à%I(ÑÇuËüÝàEA>Ô]·*~ˉ¬ÞnÃ;²C»„3è9Æ™~ áPÍ-:Më
'°›ÑæÁcmԡ͸Ápë­…uc6¼úU‹æÀÚÆÏØ
”£ƒÅÍìB0LAMD±<nQÑP|‚ÿ¹yà©n0ô^&´zBÌd®½‰¶I ÿ¾wänŠttèÚõi×ô1_åƒËÓ‡Ç"xW™Khj+¢ùÞÉã¯ßCW›èQRƒX:sïÑOÛÄÒ[çåI-¯ûßÉCl‰ÿŽ4ýɺ’ŽDúÓ¢ð{§¼]oüü Éhz9’‚¢©÷íÿ÷Üšš¢sG>¸²"d>.õzn€h.ˆÑÀź—ßöPA»ð§îÚ|½
®¹¶èxa¸J&0SrÞ)Ázhä
!½X#:)ÚHï¤øöïõV¶Îs[¡¿*1>åÍqÙ®˜HÄfœ'l£ÎvDt
È>q?]v~ÔÏʼnQŤI8{ý%ø#n™ÙÕüñÌ/"Ä{9<gÁï¢BéXª™ñr=/Ï”‘hz÷þ²±¿49[³ãs –»&Ö— øÁ^.çʾ“.3™bd’Ž'I:é3ÜWM¾è<‰ÔË_f1·ÓMzeuÙÏg!\ݺ6ˆãEPxtw#æå½ãŽò…Ú&õÉ¡x_¥Ÿh~_…Ë6q<ÝSälaÓœN˜¬ìŸ«^PšKk®µ7¿qTž%3cÐÈ=ŽN¥ÒÕy]Ò!NÁÆõ‡x–”<î0è&—2ͲRñ_}É°þÍó5
b+†ÂóRØ|™w+f†ú9ã÷¨ÅKþm"t§]\’gIÕ I§ìu[$—Hj©hdb½ßR]ôó…·÷s“œºhÀt7âæÇíÕb3Ÿê¿º±0xW•ð×Õ;¯X±Ûy7ëW;
æxR1ō|ŽltÐu¹Œ½ GàÌyE§tÅDPµë¢SlÖñÏ?‡ÄJ$#êõ
jÙ ;IŠ+ÿ¦Ŷ€‡‡®?a¥ØÜ|Ì\ÿ‰ñ¥£a§-
<É-—†óöíh‚H˜M;…Ð¥B?‡µ­lhÄ’vmO÷:ÐêŽ7Cãn2áAkc5zëÎP¯c5!Ôy˜0ŠºŒ6>ç•V²ãlj	e°\ŽòC1éHçù3e­žãjœ=Zð‚¿‡ÿO?•‘X8÷Ôáàfä híÒž¹v¡ÖÁa_ at hé`Nùê)‡D…£&yyÝð+cf\×àñœ”O^ ÛÈ¥h.µŽK®"íô"5L<¿Eõ¦Ú1À‰nÖíÎÄC®Sê!ñ*œ}t Ì``5|ÏX•KŸrøSdtL‹Ê³¡òFÖp¿ÊæÀÓT¶îš±Ë<Žã&À°,‰(s
Œ™É
H²ÜX»ñ, ³m8ó“à„¾¾Aq„œD”«6A+\^‰Q		ÿâ¥+—ÈÇä!ã—+o.hí<ÐÛ[Ì·Ó¦“ý©È
cËÔ³¶<Éz£Ó
fü¨F·‹¦>Ñã›þ54E5Es3òK_ ©ÎÝØLH•èMR5ÐÙÝQÎá¯àß \Ø7œè²º fd6ž°vâM•êSÍ+¨Î•S©çÅþyZdÁéL¸&HSÖ ­Œ üšg?O4â©U•¡}:^¹Q4ÐOÕאèô.6ìD×[KWF­Ãy³øõ=Oåu´´%) d…Ê“µo¯Y¼k{—¢óiNöݘK
ËvV=±’8›ò×x.Wy!ê§ç}æý‹Ø­`d çO†oXÀ
íØFÉHŒA	„ií”xµÂšTWbóyª\w†uù¡'p–õüÄ)”n@”¨©?fêÁƒoÖ"ÏàT¶}|{Ž24Í¢bcýÕo)#kÊ:™ý£ïIË0&^ÎúÈ:dµ˜‚çµ·RÒœø÷Là›§·35¡,ô›ß›$àm—w=$m&í74¢0×(­y6®+ø˜|_éÙD¥äÖ¸XX=¼h4M6/eC§$†,šdZ'êpk¬Nø
¶Ð! 4ä†ú¼ÎT¿@1D~ÓßwݺބÕ€ën÷ýË? TÇľžcLÕlªOp÷‘2$9IJïH-]Ø™)¡ÿ›•¶l`Ä-…Ÿ5%3“§ïoÄ©uÏRS{æxìºæÅd[{µJ3 Ka©{,¨ÿŸ_ú$' Ùÿà
Ùöwd3sg%,Þà«f’n tB¨Çèþ9P2²>2ÙÒ½#æ£ÜmîWv½+Í|þ22†6&'Ž·Ç¿gV#¨­‹v¹¦²îZͺåeb8#[®bÑýÌpM}øÈ6L„AóK¶?؆žI©å9¦œ@Uµ²qòŠÓ$™cc­Ù¡ð˜x~Öä½f¨þ” z&¯.%&e;€ë*…Z/\hý!i”vFöF†;âµcñÈÉôôÇXÚŠ02äP›‘„)aK6ÙUu1‘)«®}»Úñ¢4Ns°kéu9,RèÂâû¿à±PÉv”—ÊN~g­‹ti:Õ@…+ F2ÀÌʺ¹X£÷îÉR9j_ûBËgÉÀS ”FOæ/€¦Y‡,}¸%s°æaö³¨v)É]¦mj>ËÒ°×6*|ý¤µÚJÂÊ«§¿;ë­¾s³ýP½°rv¢­”‡CL;T1‚`]ÃÇV.vi ñÄÎChµãí6‰¤rPâVÆ·oâçÙ9憊ì6Ã(Ù	aïÙ[~Ò’Þ¤é¡Í²ödŠh_iîÐnB) Õsƒ˜8xjoéÔÆRdÀP@Ì´uæè}·“ ñ¿,Óe‘¦íoi”{){Áz×çœk¬ŸxN]±ª Ñó‚3ŵ—èÌù‡À„=¢ôvú|éÌø9“¨¯°¸ôì„žê›4…Þ¹ž¯Ï8+pñù£ãs1Cvi{÷|Ön{º¹ñ±²7Ãñçþhƒv1)ð„aå@Úb;!æÒ/&Žgxa³3YÑO@Þs«sjµt!“¦}Â
…;@³î³Á¾ö;€ÐÅH…NiÆmK7÷§z~ßêe3wlbÁX­?¦‡St»Ú½¸Á1ªW'¾ý(ˆâ›
T—v¾sù@°kNîatñÕèÙ–Ð:6‡Tª.»G×Ø@Gxl_,ÎïÛŒÔs4ª‹ýe—d扤søõ‰À=SƒáKØ6qP‹ÇU»!x´a.ˆ™‹–ƒYxŽ(„>‘Æ•Úet%ÒöÂÆaÉ£¶{—¨'s´w~¨õ¾ƒyâ ¨¦Ä¥nS±ùEmˆ
R®›'O~åÁfùfy|*ÂH¯h¶°#®ºF“þŸCµ+š•n6
š~ñã¿b¹}ý×ö
¤ÜâsgT'v”Û¼Ž ·ñúø™®ÌÄ•1ˆCßg²}#Ì$±xæè{!‘8MI²²Ïœ$Æð™&Òì	*óëÎãŸ3¥Ù»AEæO>jš.ÃÐDÎà\ñ“6<NËeví17äæn…å|5{K’%–• Oiýêé/r”\¨~Ó¹ÈDfÖÝ vŽw‚NÅ4TöìuµbôäxÛíq9Q’!HÓo2êULL"Fë ‘åaò30VÚR>QËâ¤;häxb±T¬‘‹2¢àg6<¸öîóíÍ»Žp§rŠMÛ³<ÝÙ þ6•œYM¶ÁÛ~E&xð«&4¯6b0aÂý$³é®£…J4ËýÖåÛ±º¼àíÕè­ßÌ°<m™¤±“õÁ8ž–¶«E×SXeùµÍÕz
­ÂSŒ°:ùæzª”cßC™TâAíUÚÒ_Ól¨7úªÅ_ë/ ˜µe?KÂWFTÇý[ôI@ª<«ŸÃ“ÊÕVCN§ÈH5!a%ù IΙQÝÑi¤jïÞ“5nõu9¹ø+i•êI¢¯±$¿žGo:9Oö!R-(²U1‘oTöfÕnì÷Ñ°š¡/ˆKµ_K5„ÂèÓµ`{Ø8&ØÇú$ ¹QLÊ÷"Ç$÷ï¡g#
M, at v¾Lý&òueÿ%PïÉzû?[vÎ~“˜®48ü{jÀ™
Ñ«¡ÇS¶Rè÷~2C´+I¦¤xÐPfß©cDe)iŒJ¥Ž%Ÿê…ˆ¨)z~
-æì_ù»?n©>F©i/ú«?|bLdGÞî<“I~G4qí'PQIûyÚÖt&CfOTEíö­Nd[ÁÍËæÑG1ëE™•ÀŽÛÖ×üépý ö#;øŠ¿è¨ðJvÃa(ì¡)‘ù6añ8…Tàê ‘›yAp*ä7í±{çÄ1èlhmy
dB´ø*‹Úò“¿n5W¶\6Ï'1vësêp”«[Iª£D©?ç£Ìxk
2mÿud«•Õ6BSÈ.ž¢àrÐÁŠc¨ÛNþº"±…ºP£¥ñFKå:֜΀Ù?
°»¥µâ‚)ˆ±äJhJNÞôÙŠVû楸Óhwò9°Kyƒ_¬¦oàRðȪè2¸¼*†ŽÉ\Ç FD×ÿXäJô·]Ñ%ýE	£C¢ß7w¡/Àxlÿ—ÈJ„W¯Ì1!X†o½$b0®´¤.qðIîéüHì¤3™¤Ñ„iŒWŒ_ ŽÌ£³’Óšv¯Feæô6ÝÐØVô Ð2>¹¼£kX"‚؃@ä‚Đ㷛èxu?ú µ¶ÚÄב¨ú¥KsÎòoBÿ!(ñ!aGïGjp'Ýš¢VÇuñ0þtåZR¬›Ͷ•£ù¼t—Îë"	õ/ ·ÑÔ\¬ê%ÒÍÎ=“Ï-9d¸Þm÷>¹²ÂUUʵöiiT©…Ã+zFüúà$ãL&r'£°Ä<@W’Ê–«O*J@¯EÂ}ë·çÓ?÷Ü~¸ U.hïd` I#Ç÷Ü\!œhŒ`LÏæî ¬ó:ÛV.âÔ¼9Äå/0;¾H:Ú|r¿Ìv2’¦ÿªð!ä<ÄqÃ÷#ŽU™Ò”CQGŒÕEªÖ[Øøƒ’’|?FÍR·.=ºkz—v³v›·~Ë÷î&;þøú@»ÕÝ„%àžŽ†¹¶ìÞ
ø›eç8ü(£æÀJ¾@:Õ¬†+î#­¥ð;߉v‹MGW“£ÛbÀƯ€3î,h˜ç’è¤-v$zIªÿ¹Ó<y&™ØYySë-ðäÔ®a¬#¡¶¡uDtÌG/ºîgÕ­èñd8øvŸŒì<9C5ÂýuÌmñGžSC°"³ŽØQ×ôuGw4€Ÿ†é UãDêEÚ©Òڐ_ƒŠT•¨ùñÆжïÔ9jåLÑN,žó÷J‚G§gÍçÛ&àÆâ–끏Øf5xÈÚUÙ1yð¯o{UÍ‘ìQeÛcÎ	4-ݬ×Ý
uÏ¿Ybn|–œ/_‰$í?”8ú3xJš/s†B™ì÷¿„õÀ~Ñ9Ó]ÄK†A;™ Æ	瘋ȟöiõÍ5œGÚg„ŒÒPЧeoŸnº÷ÌqeøÄÙOn	­üTù´ç×Ë7 ]j>#"@b‰Pv¶A…*¸YŽÐóÚ˜ˆ®I•¢„“
{¹r,prIùÖ?‹C>‹•y†Æ9нy²¹*ˆ#IÉÉY|Àuœûø%5­½@a«JËÿ^Y5zó‡xÞ‰#@„*>{†¯^‹]>gÞÁ'Wcæ›Qž~o@´/¯µX«w‡§•ŒtX÷‘¶0xôÞ×T¨Ç)dõÈTüyFI.:²^‚•¡”¶Ü=`¤v‹µ¶? ½±‚Ch´Q´¬^¥J™Ï%†ÇîTR03u²öŽéÄ»þځ¨¿dDVTHYj‘¶é·äR	†®¦€EðÇ]€ß^X25XH×<géý\ý-—Ø éySYtfÿûÞ	#bA0òÊe]!øp+
¯K:#²¼ŒÎ5aDë3“ÉÅR¸`êÀ¤’Q{…,^®>jx–ÜAË;L3‚„¯ Æ³ oì+„")”ˆËoíJ^p…Bãˆd€óO1N0Qy¾Fܹ­ý±¾˜ÞN0C“F>2óÁ¸ÇkÛ@,¸þÈ0M^+Íó-‰BNNÊ-Tj¾Ï‰q
m}`ûQ¶B®)(·DêâÅ—ÿ†½–Ö,¥ùЭg…4ýy©ç¤‡?8‘Ånà^€úÌM‚ÂûHû¢¿-øJ*›–Ù…žpPV‹‚Ÿ`vO0ýG˜géÒRcnI«Jƒ„Ò:àæÞ·%̽5ÓæÖÅm0þB39ƒ"öôî-#²kë]2-/N4—qõzHýpÄ—h©u²¿P4[rš™J pûÔ8Î'Šs¶×2oƒ÷HZ¿xHœz|*Љ‹%Ñ!¾N·	°z{+BQ:¯=nŸ9£'Úo c××J-[•IÉÇŽü¸ë¥ö@!¢…é>Om«”})|T³‚Y;à
.÷ãl÷œÆFànÄ‘÷,à$Ýsõu»ã¬Dùü€_&{‰tÉ—I¦¼ÿ>î»æ[»dtQd(È;êXGÉ
º…Ì‚¿žXÚÆýyIgÉ&Ùžs&2/8ßÆì'ðÿí8N–õÛÅû@é"Ñ»Bí<žæP›yµMˆèqˆÍÇS	ë]ða¨¤°|\¤¯ñr¹Û€ª›3î
š™MŽÏ‚u…ˆPÞí{øSô>FÅ‚©Cÿ
—ey!mõ-…=cÒFœÎ1î§-ªå¨	¶úÍŽ^¼ìBŸ›÷7ët?=›a3¢«ÔFàÆÍ·qªàEá:H6Ž:ì€ÅŠ‰ãý»ðê˜Z[¿[¢8Ùõ#ž¦4JmˆO0ŽíðœRë|{ÜEvuç.ƒÜ°‰îúüM[úž~§˜Â÷¼è ÀÊîÄaýø¶ð˜¿5¾gB‡š`i€S½“¤ÍCžyl.§i ³|/òcûx¯¤k|Î>¹—FúqmöØö©äM–éþ*C§åÑ®Ö÷™Û/I	xFÈÛR÷!O at AüO7áãg2̓ ^mRX§¼Ÿ/ቬã
æGÓ¯«ôÑÆn×’VÿoŒƒp6¡÷H:®X}¶¨Ÿkÿÿæã¡®6•¼2Lœ\?šš…é_Y@ùµI­DOÍå²³M“—ò¯(Ý9.	Z§û—žBØÐUâ墔ì“ÙÒÄ4N|!ÿ,ž+]®8¨–³R¢Åt;Äȇ]† ÄÇ6#ûç¡%

--- NEW FILE pkcs11.h ---
/* pkcs11.h include file for PKCS #11. */
/* $Revision: 1.4 $ */

/* License to copy and use this software is granted provided that it is
 * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
 * (Cryptoki)" in all material mentioning or referencing this software.

 * License is also granted to make and use derivative works provided that
 * such works are identified as "derived from the RSA Security Inc. PKCS #11
 * Cryptographic Token Interface (Cryptoki)" in all material mentioning or 
 * referencing the derived work.

 * RSA Security Inc. makes no representations concerning either the 
 * merchantability of this software or the suitability of this software for
 * any particular purpose. It is provided "as is" without express or implied
 * warranty of any kind.
 */

#ifndef _PKCS11_H_
#define _PKCS11_H_ 1

#ifdef __cplusplus
extern "C" {
#endif

/* Before including this file (pkcs11.h) (or pkcs11t.h by
 * itself), 6 platform-specific macros must be defined.  These
 * macros are described below, and typical definitions for them
 * are also given.  Be advised that these definitions can depend
 * on both the platform and the compiler used (and possibly also
 * on whether a Cryptoki library is linked statically or
 * dynamically).
 *
 * In addition to defining these 6 macros, the packing convention
 * for Cryptoki structures should be set.  The Cryptoki
 * convention on packing is that structures should be 1-byte
 * aligned.
 *
 * If you're using Microsoft Developer Studio 5.0 to produce
 * Win32 stuff, this might be done by using the following
 * preprocessor directive before including pkcs11.h or pkcs11t.h:
 *
 * #pragma pack(push, cryptoki, 1)
 *
 * and using the following preprocessor directive after including
 * pkcs11.h or pkcs11t.h:
 *
 * #pragma pack(pop, cryptoki)
 *
 * If you're using an earlier version of Microsoft Developer
 * Studio to produce Win16 stuff, this might be done by using
 * the following preprocessor directive before including
 * pkcs11.h or pkcs11t.h:
 *
 * #pragma pack(1)
 *
 * In a UNIX environment, you're on your own for this.  You might
 * not need to do (or be able to do!) anything.
 *
 *
 * Now for the macros:
 *
 *
 * 1. CK_PTR: The indirection string for making a pointer to an
 * object.  It can be used like this:
 *
 * typedef CK_BYTE CK_PTR CK_BYTE_PTR;
 *
 * If you're using Microsoft Developer Studio 5.0 to produce
 * Win32 stuff, it might be defined by:
 *
 * #define CK_PTR *
 *
 * If you're using an earlier version of Microsoft Developer
 * Studio to produce Win16 stuff, it might be defined by:
 *
 * #define CK_PTR far *
 *
 * In a typical UNIX environment, it might be defined by:
 *
 * #define CK_PTR *
 *
 *
 * 2. CK_DEFINE_FUNCTION(returnType, name): A macro which makes
 * an exportable Cryptoki library function definition out of a
 * return type and a function name.  It should be used in the
 * following fashion to define the exposed Cryptoki functions in
 * a Cryptoki library:
 *
 * CK_DEFINE_FUNCTION(CK_RV, C_Initialize)(
 *   CK_VOID_PTR pReserved
 * )
 * {
 *   ...
 * }
 *
 * If you're using Microsoft Developer Studio 5.0 to define a
 * function in a Win32 Cryptoki .dll, it might be defined by:
 *
 * #define CK_DEFINE_FUNCTION(returnType, name) \
 *   returnType __declspec(dllexport) name
 *
 * If you're using an earlier version of Microsoft Developer
 * Studio to define a function in a Win16 Cryptoki .dll, it
 * might be defined by:
 *
 * #define CK_DEFINE_FUNCTION(returnType, name) \
 *   returnType __export _far _pascal name
 *
 * In a UNIX environment, it might be defined by:
 *
 * #define CK_DEFINE_FUNCTION(returnType, name) \
 *   returnType name
 *
 *
 * 3. CK_DECLARE_FUNCTION(returnType, name): A macro which makes
 * an importable Cryptoki library function declaration out of a
 * return type and a function name.  It should be used in the
 * following fashion:
 *
 * extern CK_DECLARE_FUNCTION(CK_RV, C_Initialize)(
 *   CK_VOID_PTR pReserved
 * );
 *
 * If you're using Microsoft Developer Studio 5.0 to declare a
 * function in a Win32 Cryptoki .dll, it might be defined by:
 *
 * #define CK_DECLARE_FUNCTION(returnType, name) \
 *   returnType __declspec(dllimport) name
 *
 * If you're using an earlier version of Microsoft Developer
 * Studio to declare a function in a Win16 Cryptoki .dll, it
 * might be defined by:
 *
 * #define CK_DECLARE_FUNCTION(returnType, name) \
 *   returnType __export _far _pascal name
 *
 * In a UNIX environment, it might be defined by:
 *
 * #define CK_DECLARE_FUNCTION(returnType, name) \
 *   returnType name
 *
 *
 * 4. CK_DECLARE_FUNCTION_POINTER(returnType, name): A macro
 * which makes a Cryptoki API function pointer declaration or
 * function pointer type declaration out of a return type and a
 * function name.  It should be used in the following fashion:
 *
 * // Define funcPtr to be a pointer to a Cryptoki API function
 * // taking arguments args and returning CK_RV.
 * CK_DECLARE_FUNCTION_POINTER(CK_RV, funcPtr)(args);
 *
 * or
 *
 * // Define funcPtrType to be the type of a pointer to a
 * // Cryptoki API function taking arguments args and returning
 * // CK_RV, and then define funcPtr to be a variable of type
 * // funcPtrType.
 * typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, funcPtrType)(args);
 * funcPtrType funcPtr;
 *
 * If you're using Microsoft Developer Studio 5.0 to access
 * functions in a Win32 Cryptoki .dll, in might be defined by:
 *
 * #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \
 *   returnType __declspec(dllimport) (* name)
 *
 * If you're using an earlier version of Microsoft Developer
 * Studio to access functions in a Win16 Cryptoki .dll, it might
 * be defined by:
 *
 * #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \
 *   returnType __export _far _pascal (* name)
 *
 * In a UNIX environment, it might be defined by:
 *
 * #define CK_DECLARE_FUNCTION_POINTER(returnType, name) \
 *   returnType (* name)
 *
 *
 * 5. CK_CALLBACK_FUNCTION(returnType, name): A macro which makes
 * a function pointer type for an application callback out of
 * a return type for the callback and a name for the callback.
 * It should be used in the following fashion:
 *
 * CK_CALLBACK_FUNCTION(CK_RV, myCallback)(args);
 *
 * to declare a function pointer, myCallback, to a callback
 * which takes arguments args and returns a CK_RV.  It can also
 * be used like this:
 *
 * typedef CK_CALLBACK_FUNCTION(CK_RV, myCallbackType)(args);
 * myCallbackType myCallback;
 *
 * If you're using Microsoft Developer Studio 5.0 to do Win32
 * Cryptoki development, it might be defined by:
 *
 * #define CK_CALLBACK_FUNCTION(returnType, name) \
 *   returnType (* name)
 *
 * If you're using an earlier version of Microsoft Developer
 * Studio to do Win16 development, it might be defined by:
 *
 * #define CK_CALLBACK_FUNCTION(returnType, name) \
 *   returnType _far _pascal (* name)
 *
 * In a UNIX environment, it might be defined by:
 *
 * #define CK_CALLBACK_FUNCTION(returnType, name) \
 *   returnType (* name)
 *
 *
 * 6. NULL_PTR: This macro is the value of a NULL pointer.
 *
 * In any ANSI/ISO C environment (and in many others as well),
 * this should best be defined by
 *
 * #ifndef NULL_PTR
 * #define NULL_PTR 0
 * #endif
 */


/* All the various Cryptoki types and #define'd values are in the
 * file pkcs11t.h. */
#include "pkcs11t.h"

#define __PASTE(x,y)      x##y


/* ==============================================================
 * Define the "extern" form of all the entry points.
 * ==============================================================
 */

#define CK_NEED_ARG_LIST  1
#define CK_PKCS11_FUNCTION_INFO(name) \
  extern CK_DECLARE_FUNCTION(CK_RV, name)

/* pkcs11f.h has all the information about the Cryptoki
 * function prototypes. */
#include "pkcs11f.h"

#undef CK_NEED_ARG_LIST
#undef CK_PKCS11_FUNCTION_INFO


/* ==============================================================
 * Define the typedef form of all the entry points.  That is, for
 * each Cryptoki function C_XXX, define a type CK_C_XXX which is
 * a pointer to that kind of function.
 * ==============================================================
 */

#define CK_NEED_ARG_LIST  1
#define CK_PKCS11_FUNCTION_INFO(name) \
  typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, __PASTE(CK_,name))

/* pkcs11f.h has all the information about the Cryptoki
 * function prototypes. */
#include "pkcs11f.h"

#undef CK_NEED_ARG_LIST
#undef CK_PKCS11_FUNCTION_INFO


/* ==============================================================
 * Define structed vector of entry points.  A CK_FUNCTION_LIST
 * contains a CK_VERSION indicating a library's Cryptoki version
 * and then a whole slew of function pointers to the routines in
 * the library.  This type was declared, but not defined, in
 * pkcs11t.h.
 * ==============================================================
 */

#define CK_PKCS11_FUNCTION_INFO(name) \
  __PASTE(CK_,name) name;
  
struct CK_FUNCTION_LIST {

  CK_VERSION    version;  /* Cryptoki version */

/* Pile all the function pointers into the CK_FUNCTION_LIST. */
/* pkcs11f.h has all the information about the Cryptoki
 * function prototypes. */
#include "pkcs11f.h"

};

#undef CK_PKCS11_FUNCTION_INFO


#undef __PASTE

#ifdef __cplusplus
}
#endif

#endif


--- NEW FILE pkcs11f.h ---
/* pkcs11f.h include file for PKCS #11. */
/* $Revision: 1.4 $ */

/* License to copy and use this software is granted provided that it is
 * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
 * (Cryptoki)" in all material mentioning or referencing this software.

 * License is also granted to make and use derivative works provided that
 * such works are identified as "derived from the RSA Security Inc. PKCS #11
 * Cryptographic Token Interface (Cryptoki)" in all material mentioning or 
 * referencing the derived work.

 * RSA Security Inc. makes no representations concerning either the 
 * merchantability of this software or the suitability of this software for
 * any particular purpose. It is provided "as is" without express or implied
 * warranty of any kind.
 */

/* This header file contains pretty much everything about all the */
/* Cryptoki function prototypes.  Because this information is */
/* used for more than just declaring function prototypes, the */
/* order of the functions appearing herein is important, and */
/* should not be altered. */

/* General-purpose */

/* C_Initialize initializes the Cryptoki library. */
CK_PKCS11_FUNCTION_INFO(C_Initialize)
#ifdef CK_NEED_ARG_LIST
(
  CK_VOID_PTR   pInitArgs  /* if this is not NULL_PTR, it gets
                            * cast to CK_C_INITIALIZE_ARGS_PTR
                            * and dereferenced */
);
#endif


/* C_Finalize indicates that an application is done with the
 * Cryptoki library. */
CK_PKCS11_FUNCTION_INFO(C_Finalize)
#ifdef CK_NEED_ARG_LIST
(
  CK_VOID_PTR   pReserved  /* reserved.  Should be NULL_PTR */
);
#endif


/* C_GetInfo returns general information about Cryptoki. */
CK_PKCS11_FUNCTION_INFO(C_GetInfo)
#ifdef CK_NEED_ARG_LIST
(
  CK_INFO_PTR   pInfo  /* location that receives information */
);
#endif


/* C_GetFunctionList returns the function list. */
CK_PKCS11_FUNCTION_INFO(C_GetFunctionList)
#ifdef CK_NEED_ARG_LIST
(
  CK_FUNCTION_LIST_PTR_PTR ppFunctionList  /* receives pointer to
                                            * function list */
);
#endif



/* Slot and token management */

/* C_GetSlotList obtains a list of slots in the system. */
CK_PKCS11_FUNCTION_INFO(C_GetSlotList)
#ifdef CK_NEED_ARG_LIST
(
  CK_BBOOL       tokenPresent,  /* only slots with tokens? */
  CK_SLOT_ID_PTR pSlotList,     /* receives array of slot IDs */
  CK_ULONG_PTR   pulCount       /* receives number of slots */
);
#endif


/* C_GetSlotInfo obtains information about a particular slot in
 * the system. */
CK_PKCS11_FUNCTION_INFO(C_GetSlotInfo)
#ifdef CK_NEED_ARG_LIST
(
  CK_SLOT_ID       slotID,  /* the ID of the slot */
  CK_SLOT_INFO_PTR pInfo    /* receives the slot information */
);
#endif


/* C_GetTokenInfo obtains information about a particular token
 * in the system. */
CK_PKCS11_FUNCTION_INFO(C_GetTokenInfo)
#ifdef CK_NEED_ARG_LIST
(
  CK_SLOT_ID        slotID,  /* ID of the token's slot */
  CK_TOKEN_INFO_PTR pInfo    /* receives the token information */
);
#endif


/* C_GetMechanismList obtains a list of mechanism types
 * supported by a token. */
CK_PKCS11_FUNCTION_INFO(C_GetMechanismList)
#ifdef CK_NEED_ARG_LIST
(
  CK_SLOT_ID            slotID,          /* ID of token's slot */
  CK_MECHANISM_TYPE_PTR pMechanismList,  /* gets mech. array */
  CK_ULONG_PTR          pulCount         /* gets # of mechs. */
);
#endif


/* C_GetMechanismInfo obtains information about a particular
 * mechanism possibly supported by a token. */
CK_PKCS11_FUNCTION_INFO(C_GetMechanismInfo)
#ifdef CK_NEED_ARG_LIST
(
  CK_SLOT_ID            slotID,  /* ID of the token's slot */
  CK_MECHANISM_TYPE     type,    /* type of mechanism */
  CK_MECHANISM_INFO_PTR pInfo    /* receives mechanism info */
);
#endif


/* C_InitToken initializes a token. */
CK_PKCS11_FUNCTION_INFO(C_InitToken)
#ifdef CK_NEED_ARG_LIST
/* pLabel changed from CK_CHAR_PTR to CK_UTF8CHAR_PTR for v2.10 */
(
  CK_SLOT_ID      slotID,    /* ID of the token's slot */
  CK_UTF8CHAR_PTR pPin,      /* the SO's initial PIN */
  CK_ULONG        ulPinLen,  /* length in bytes of the PIN */
  CK_UTF8CHAR_PTR pLabel     /* 32-byte token label (blank padded) */
);
#endif


/* C_InitPIN initializes the normal user's PIN. */
CK_PKCS11_FUNCTION_INFO(C_InitPIN)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_UTF8CHAR_PTR   pPin,      /* the normal user's PIN */
  CK_ULONG          ulPinLen   /* length in bytes of the PIN */
);
#endif


/* C_SetPIN modifies the PIN of the user who is logged in. */
CK_PKCS11_FUNCTION_INFO(C_SetPIN)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_UTF8CHAR_PTR   pOldPin,   /* the old PIN */
  CK_ULONG          ulOldLen,  /* length of the old PIN */
  CK_UTF8CHAR_PTR   pNewPin,   /* the new PIN */
  CK_ULONG          ulNewLen   /* length of the new PIN */
);
#endif



/* Session management */

/* C_OpenSession opens a session between an application and a
 * token. */
CK_PKCS11_FUNCTION_INFO(C_OpenSession)
#ifdef CK_NEED_ARG_LIST
(
  CK_SLOT_ID            slotID,        /* the slot's ID */
  CK_FLAGS              flags,         /* from CK_SESSION_INFO */
  CK_VOID_PTR           pApplication,  /* passed to callback */
  CK_NOTIFY             Notify,        /* callback function */
  CK_SESSION_HANDLE_PTR phSession      /* gets session handle */
);
#endif


/* C_CloseSession closes a session between an application and a
 * token. */
CK_PKCS11_FUNCTION_INFO(C_CloseSession)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession  /* the session's handle */
);
#endif


/* C_CloseAllSessions closes all sessions with a token. */
CK_PKCS11_FUNCTION_INFO(C_CloseAllSessions)
#ifdef CK_NEED_ARG_LIST
(
  CK_SLOT_ID     slotID  /* the token's slot */
);
#endif


/* C_GetSessionInfo obtains information about the session. */
CK_PKCS11_FUNCTION_INFO(C_GetSessionInfo)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE   hSession,  /* the session's handle */
  CK_SESSION_INFO_PTR pInfo      /* receives session info */
);
#endif


/* C_GetOperationState obtains the state of the cryptographic operation
 * in a session. */
CK_PKCS11_FUNCTION_INFO(C_GetOperationState)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,             /* session's handle */
  CK_BYTE_PTR       pOperationState,      /* gets state */
  CK_ULONG_PTR      pulOperationStateLen  /* gets state length */
);
#endif


/* C_SetOperationState restores the state of the cryptographic
 * operation in a session. */
CK_PKCS11_FUNCTION_INFO(C_SetOperationState)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR      pOperationState,      /* holds state */
  CK_ULONG         ulOperationStateLen,  /* holds state length */
  CK_OBJECT_HANDLE hEncryptionKey,       /* en/decryption key */
  CK_OBJECT_HANDLE hAuthenticationKey    /* sign/verify key */
);
#endif


/* C_Login logs a user into a token. */
CK_PKCS11_FUNCTION_INFO(C_Login)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_USER_TYPE      userType,  /* the user type */
  CK_UTF8CHAR_PTR   pPin,      /* the user's PIN */
  CK_ULONG          ulPinLen   /* the length of the PIN */
);
#endif


/* C_Logout logs a user out from a token. */
CK_PKCS11_FUNCTION_INFO(C_Logout)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession  /* the session's handle */
);
#endif



/* Object management */

/* C_CreateObject creates a new object. */
CK_PKCS11_FUNCTION_INFO(C_CreateObject)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_ATTRIBUTE_PTR  pTemplate,   /* the object's template */
  CK_ULONG          ulCount,     /* attributes in template */
  CK_OBJECT_HANDLE_PTR phObject  /* gets new object's handle. */
);
#endif


/* C_CopyObject copies an object, creating a new object for the
 * copy. */
CK_PKCS11_FUNCTION_INFO(C_CopyObject)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE    hSession,    /* the session's handle */
  CK_OBJECT_HANDLE     hObject,     /* the object's handle */
  CK_ATTRIBUTE_PTR     pTemplate,   /* template for new object */
  CK_ULONG             ulCount,     /* attributes in template */
  CK_OBJECT_HANDLE_PTR phNewObject  /* receives handle of copy */
);
#endif


/* C_DestroyObject destroys an object. */
CK_PKCS11_FUNCTION_INFO(C_DestroyObject)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_OBJECT_HANDLE  hObject    /* the object's handle */
);
#endif


/* C_GetObjectSize gets the size of an object in bytes. */
CK_PKCS11_FUNCTION_INFO(C_GetObjectSize)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_OBJECT_HANDLE  hObject,   /* the object's handle */
  CK_ULONG_PTR      pulSize    /* receives size of object */
);
#endif


/* C_GetAttributeValue obtains the value of one or more object
 * attributes. */
CK_PKCS11_FUNCTION_INFO(C_GetAttributeValue)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,   /* the session's handle */
  CK_OBJECT_HANDLE  hObject,    /* the object's handle */
  CK_ATTRIBUTE_PTR  pTemplate,  /* specifies attrs; gets vals */
  CK_ULONG          ulCount     /* attributes in template */
);
#endif


/* C_SetAttributeValue modifies the value of one or more object
 * attributes */
CK_PKCS11_FUNCTION_INFO(C_SetAttributeValue)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,   /* the session's handle */
  CK_OBJECT_HANDLE  hObject,    /* the object's handle */
  CK_ATTRIBUTE_PTR  pTemplate,  /* specifies attrs and values */
  CK_ULONG          ulCount     /* attributes in template */
);
#endif


/* C_FindObjectsInit initializes a search for token and session
 * objects that match a template. */
CK_PKCS11_FUNCTION_INFO(C_FindObjectsInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,   /* the session's handle */
  CK_ATTRIBUTE_PTR  pTemplate,  /* attribute values to match */
  CK_ULONG          ulCount     /* attrs in search template */
);
#endif


/* C_FindObjects continues a search for token and session
 * objects that match a template, obtaining additional object
 * handles. */
CK_PKCS11_FUNCTION_INFO(C_FindObjects)
#ifdef CK_NEED_ARG_LIST
(
 CK_SESSION_HANDLE    hSession,          /* session's handle */
 CK_OBJECT_HANDLE_PTR phObject,          /* gets obj. handles */
 CK_ULONG             ulMaxObjectCount,  /* max handles to get */
 CK_ULONG_PTR         pulObjectCount     /* actual # returned */
);
#endif


/* C_FindObjectsFinal finishes a search for token and session
 * objects. */
CK_PKCS11_FUNCTION_INFO(C_FindObjectsFinal)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession  /* the session's handle */
);
#endif



/* Encryption and decryption */

/* C_EncryptInit initializes an encryption operation. */
CK_PKCS11_FUNCTION_INFO(C_EncryptInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_MECHANISM_PTR  pMechanism,  /* the encryption mechanism */
  CK_OBJECT_HANDLE  hKey         /* handle of encryption key */
);
#endif


/* C_Encrypt encrypts single-part data. */
CK_PKCS11_FUNCTION_INFO(C_Encrypt)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR       pData,               /* the plaintext data */
  CK_ULONG          ulDataLen,           /* bytes of plaintext */
  CK_BYTE_PTR       pEncryptedData,      /* gets ciphertext */
  CK_ULONG_PTR      pulEncryptedDataLen  /* gets c-text size */
);
#endif


/* C_EncryptUpdate continues a multiple-part encryption
 * operation. */
CK_PKCS11_FUNCTION_INFO(C_EncryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,           /* session's handle */
  CK_BYTE_PTR       pPart,              /* the plaintext data */
  CK_ULONG          ulPartLen,          /* plaintext data len */
  CK_BYTE_PTR       pEncryptedPart,     /* gets ciphertext */
  CK_ULONG_PTR      pulEncryptedPartLen /* gets c-text size */
);
#endif


/* C_EncryptFinal finishes a multiple-part encryption
 * operation. */
CK_PKCS11_FUNCTION_INFO(C_EncryptFinal)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,                /* session handle */
  CK_BYTE_PTR       pLastEncryptedPart,      /* last c-text */
  CK_ULONG_PTR      pulLastEncryptedPartLen  /* gets last size */
);
#endif


/* C_DecryptInit initializes a decryption operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_MECHANISM_PTR  pMechanism,  /* the decryption mechanism */
  CK_OBJECT_HANDLE  hKey         /* handle of decryption key */
);
#endif


/* C_Decrypt decrypts encrypted data in a single part. */
CK_PKCS11_FUNCTION_INFO(C_Decrypt)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,           /* session's handle */
  CK_BYTE_PTR       pEncryptedData,     /* ciphertext */
  CK_ULONG          ulEncryptedDataLen, /* ciphertext length */
  CK_BYTE_PTR       pData,              /* gets plaintext */
  CK_ULONG_PTR      pulDataLen          /* gets p-text size */
);
#endif


/* C_DecryptUpdate continues a multiple-part decryption
 * operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR       pEncryptedPart,      /* encrypted data */
  CK_ULONG          ulEncryptedPartLen,  /* input length */
  CK_BYTE_PTR       pPart,               /* gets plaintext */
  CK_ULONG_PTR      pulPartLen           /* p-text size */
);
#endif


/* C_DecryptFinal finishes a multiple-part decryption
 * operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptFinal)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,       /* the session's handle */
  CK_BYTE_PTR       pLastPart,      /* gets plaintext */
  CK_ULONG_PTR      pulLastPartLen  /* p-text size */
);
#endif



/* Message digesting */

/* C_DigestInit initializes a message-digesting operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,   /* the session's handle */
  CK_MECHANISM_PTR  pMechanism  /* the digesting mechanism */
);
#endif


/* C_Digest digests data in a single part. */
CK_PKCS11_FUNCTION_INFO(C_Digest)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,     /* the session's handle */
  CK_BYTE_PTR       pData,        /* data to be digested */
  CK_ULONG          ulDataLen,    /* bytes of data to digest */
  CK_BYTE_PTR       pDigest,      /* gets the message digest */
  CK_ULONG_PTR      pulDigestLen  /* gets digest length */
);
#endif


/* C_DigestUpdate continues a multiple-part message-digesting
 * operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_BYTE_PTR       pPart,     /* data to be digested */
  CK_ULONG          ulPartLen  /* bytes of data to be digested */
);
#endif


/* C_DigestKey continues a multi-part message-digesting
 * operation, by digesting the value of a secret key as part of
 * the data already digested. */
CK_PKCS11_FUNCTION_INFO(C_DigestKey)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_OBJECT_HANDLE  hKey       /* secret key to digest */
);
#endif


/* C_DigestFinal finishes a multiple-part message-digesting
 * operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestFinal)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,     /* the session's handle */
  CK_BYTE_PTR       pDigest,      /* gets the message digest */
  CK_ULONG_PTR      pulDigestLen  /* gets byte count of digest */
);
#endif



/* Signing and MACing */

/* C_SignInit initializes a signature (private key encryption)
 * operation, where the signature is (will be) an appendix to
 * the data, and plaintext cannot be recovered from the
 *signature. */
CK_PKCS11_FUNCTION_INFO(C_SignInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_MECHANISM_PTR  pMechanism,  /* the signature mechanism */
  CK_OBJECT_HANDLE  hKey         /* handle of signature key */
);
#endif


/* C_Sign signs (encrypts with private key) data in a single
 * part, where the signature is (will be) an appendix to the
 * data, and plaintext cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_Sign)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,        /* the session's handle */
  CK_BYTE_PTR       pData,           /* the data to sign */
  CK_ULONG          ulDataLen,       /* count of bytes to sign */
  CK_BYTE_PTR       pSignature,      /* gets the signature */
  CK_ULONG_PTR      pulSignatureLen  /* gets signature length */
);
#endif


/* C_SignUpdate continues a multiple-part signature operation,
 * where the signature is (will be) an appendix to the data, 
 * and plaintext cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_BYTE_PTR       pPart,     /* the data to sign */
  CK_ULONG          ulPartLen  /* count of bytes to sign */
);
#endif


/* C_SignFinal finishes a multiple-part signature operation, 
 * returning the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignFinal)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,        /* the session's handle */
  CK_BYTE_PTR       pSignature,      /* gets the signature */
  CK_ULONG_PTR      pulSignatureLen  /* gets signature length */
);
#endif


/* C_SignRecoverInit initializes a signature operation, where
 * the data can be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignRecoverInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,   /* the session's handle */
  CK_MECHANISM_PTR  pMechanism, /* the signature mechanism */
  CK_OBJECT_HANDLE  hKey        /* handle of the signature key */
);
#endif


/* C_SignRecover signs data in a single operation, where the
 * data can be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_SignRecover)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,        /* the session's handle */
  CK_BYTE_PTR       pData,           /* the data to sign */
  CK_ULONG          ulDataLen,       /* count of bytes to sign */
  CK_BYTE_PTR       pSignature,      /* gets the signature */
  CK_ULONG_PTR      pulSignatureLen  /* gets signature length */
);
#endif



/* Verifying signatures and MACs */

/* C_VerifyInit initializes a verification operation, where the
 * signature is an appendix to the data, and plaintext cannot
 *  cannot be recovered from the signature (e.g. DSA). */
CK_PKCS11_FUNCTION_INFO(C_VerifyInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_MECHANISM_PTR  pMechanism,  /* the verification mechanism */
  CK_OBJECT_HANDLE  hKey         /* verification key */ 
);
#endif


/* C_Verify verifies a signature in a single-part operation, 
 * where the signature is an appendix to the data, and plaintext
 * cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_Verify)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,       /* the session's handle */
  CK_BYTE_PTR       pData,          /* signed data */
  CK_ULONG          ulDataLen,      /* length of signed data */
  CK_BYTE_PTR       pSignature,     /* signature */
  CK_ULONG          ulSignatureLen  /* signature length*/
);
#endif


/* C_VerifyUpdate continues a multiple-part verification
 * operation, where the signature is an appendix to the data, 
 * and plaintext cannot be recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_BYTE_PTR       pPart,     /* signed data */
  CK_ULONG          ulPartLen  /* length of signed data */
);
#endif


/* C_VerifyFinal finishes a multiple-part verification
 * operation, checking the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyFinal)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,       /* the session's handle */
  CK_BYTE_PTR       pSignature,     /* signature to verify */
  CK_ULONG          ulSignatureLen  /* signature length */
);
#endif


/* C_VerifyRecoverInit initializes a signature verification
 * operation, where the data is recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyRecoverInit)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_MECHANISM_PTR  pMechanism,  /* the verification mechanism */
  CK_OBJECT_HANDLE  hKey         /* verification key */
);
#endif


/* C_VerifyRecover verifies a signature in a single-part
 * operation, where the data is recovered from the signature. */
CK_PKCS11_FUNCTION_INFO(C_VerifyRecover)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,        /* the session's handle */
  CK_BYTE_PTR       pSignature,      /* signature to verify */
  CK_ULONG          ulSignatureLen,  /* signature length */
  CK_BYTE_PTR       pData,           /* gets signed data */
  CK_ULONG_PTR      pulDataLen       /* gets signed data len */
);
#endif



/* Dual-function cryptographic operations */

/* C_DigestEncryptUpdate continues a multiple-part digesting
 * and encryption operation. */
CK_PKCS11_FUNCTION_INFO(C_DigestEncryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR       pPart,               /* the plaintext data */
  CK_ULONG          ulPartLen,           /* plaintext length */
  CK_BYTE_PTR       pEncryptedPart,      /* gets ciphertext */
  CK_ULONG_PTR      pulEncryptedPartLen  /* gets c-text length */
);
#endif


/* C_DecryptDigestUpdate continues a multiple-part decryption and
 * digesting operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptDigestUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR       pEncryptedPart,      /* ciphertext */
  CK_ULONG          ulEncryptedPartLen,  /* ciphertext length */
  CK_BYTE_PTR       pPart,               /* gets plaintext */
  CK_ULONG_PTR      pulPartLen           /* gets plaintext len */
);
#endif


/* C_SignEncryptUpdate continues a multiple-part signing and
 * encryption operation. */
CK_PKCS11_FUNCTION_INFO(C_SignEncryptUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR       pPart,               /* the plaintext data */
  CK_ULONG          ulPartLen,           /* plaintext length */
  CK_BYTE_PTR       pEncryptedPart,      /* gets ciphertext */
  CK_ULONG_PTR      pulEncryptedPartLen  /* gets c-text length */
);
#endif


/* C_DecryptVerifyUpdate continues a multiple-part decryption and
 * verify operation. */
CK_PKCS11_FUNCTION_INFO(C_DecryptVerifyUpdate)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,            /* session's handle */
  CK_BYTE_PTR       pEncryptedPart,      /* ciphertext */
  CK_ULONG          ulEncryptedPartLen,  /* ciphertext length */
  CK_BYTE_PTR       pPart,               /* gets plaintext */
  CK_ULONG_PTR      pulPartLen           /* gets p-text length */
);
#endif



/* Key management */

/* C_GenerateKey generates a secret key, creating a new key
 * object. */
CK_PKCS11_FUNCTION_INFO(C_GenerateKey)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE    hSession,    /* the session's handle */
  CK_MECHANISM_PTR     pMechanism,  /* key generation mech. */
  CK_ATTRIBUTE_PTR     pTemplate,   /* template for new key */
  CK_ULONG             ulCount,     /* # of attrs in template */
  CK_OBJECT_HANDLE_PTR phKey        /* gets handle of new key */
);
#endif


/* C_GenerateKeyPair generates a public-key/private-key pair, 
 * creating new key objects. */
CK_PKCS11_FUNCTION_INFO(C_GenerateKeyPair)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE    hSession,                    /* session
                                                     * handle */
  CK_MECHANISM_PTR     pMechanism,                  /* key-gen
                                                     * mech. */
  CK_ATTRIBUTE_PTR     pPublicKeyTemplate,          /* template
                                                     * for pub.
                                                     * key */
  CK_ULONG             ulPublicKeyAttributeCount,   /* # pub.
                                                     * attrs. */
  CK_ATTRIBUTE_PTR     pPrivateKeyTemplate,         /* template
                                                     * for priv.
                                                     * key */
  CK_ULONG             ulPrivateKeyAttributeCount,  /* # priv.
                                                     * attrs. */
  CK_OBJECT_HANDLE_PTR phPublicKey,                 /* gets pub.
                                                     * key
                                                     * handle */
  CK_OBJECT_HANDLE_PTR phPrivateKey                 /* gets
                                                     * priv. key
                                                     * handle */
);
#endif


/* C_WrapKey wraps (i.e., encrypts) a key. */
CK_PKCS11_FUNCTION_INFO(C_WrapKey)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,        /* the session's handle */
  CK_MECHANISM_PTR  pMechanism,      /* the wrapping mechanism */
  CK_OBJECT_HANDLE  hWrappingKey,    /* wrapping key */
  CK_OBJECT_HANDLE  hKey,            /* key to be wrapped */
  CK_BYTE_PTR       pWrappedKey,     /* gets wrapped key */
  CK_ULONG_PTR      pulWrappedKeyLen /* gets wrapped key size */
);
#endif


/* C_UnwrapKey unwraps (decrypts) a wrapped key, creating a new
 * key object. */
CK_PKCS11_FUNCTION_INFO(C_UnwrapKey)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE    hSession,          /* session's handle */
  CK_MECHANISM_PTR     pMechanism,        /* unwrapping mech. */
  CK_OBJECT_HANDLE     hUnwrappingKey,    /* unwrapping key */
  CK_BYTE_PTR          pWrappedKey,       /* the wrapped key */
  CK_ULONG             ulWrappedKeyLen,   /* wrapped key len */
  CK_ATTRIBUTE_PTR     pTemplate,         /* new key template */
  CK_ULONG             ulAttributeCount,  /* template length */
  CK_OBJECT_HANDLE_PTR phKey              /* gets new handle */
);
#endif


/* C_DeriveKey derives a key from a base key, creating a new key
 * object. */
CK_PKCS11_FUNCTION_INFO(C_DeriveKey)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE    hSession,          /* session's handle */
  CK_MECHANISM_PTR     pMechanism,        /* key deriv. mech. */
  CK_OBJECT_HANDLE     hBaseKey,          /* base key */
  CK_ATTRIBUTE_PTR     pTemplate,         /* new key template */
  CK_ULONG             ulAttributeCount,  /* template length */
  CK_OBJECT_HANDLE_PTR phKey              /* gets new handle */
);
#endif



/* Random number generation */

/* C_SeedRandom mixes additional seed material into the token's
 * random number generator. */
CK_PKCS11_FUNCTION_INFO(C_SeedRandom)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,  /* the session's handle */
  CK_BYTE_PTR       pSeed,     /* the seed material */
  CK_ULONG          ulSeedLen  /* length of seed material */
);
#endif


/* C_GenerateRandom generates random data. */
CK_PKCS11_FUNCTION_INFO(C_GenerateRandom)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession,    /* the session's handle */
  CK_BYTE_PTR       RandomData,  /* receives the random data */
  CK_ULONG          ulRandomLen  /* # of bytes to generate */
);
#endif



/* Parallel function management */

/* C_GetFunctionStatus is a legacy function; it obtains an
 * updated status of a function running in parallel with an
 * application. */
CK_PKCS11_FUNCTION_INFO(C_GetFunctionStatus)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession  /* the session's handle */
);
#endif


/* C_CancelFunction is a legacy function; it cancels a function
 * running in parallel. */
CK_PKCS11_FUNCTION_INFO(C_CancelFunction)
#ifdef CK_NEED_ARG_LIST
(
  CK_SESSION_HANDLE hSession  /* the session's handle */
);
#endif



/* Functions added in for Cryptoki Version 2.01 or later */

/* C_WaitForSlotEvent waits for a slot event (token insertion,
 * removal, etc.) to occur. */
CK_PKCS11_FUNCTION_INFO(C_WaitForSlotEvent)
#ifdef CK_NEED_ARG_LIST
(
  CK_FLAGS flags,        /* blocking/nonblocking flag */
  CK_SLOT_ID_PTR pSlot,  /* location that receives the slot ID */
  CK_VOID_PTR pRserved   /* reserved.  Should be NULL_PTR */
);
#endif


--- NEW FILE pkcs11t.h ---
/* pkcs11t.h include file for PKCS #11. */
/* $Revision: 1.10 $ */

/* License to copy and use this software is granted provided that it is
 * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
 * (Cryptoki)" in all material mentioning or referencing this software.

 * License is also granted to make and use derivative works provided that
 * such works are identified as "derived from the RSA Security Inc. PKCS #11
 * Cryptographic Token Interface (Cryptoki)" in all material mentioning or
 * referencing the derived work.

 * RSA Security Inc. makes no representations concerning either the
 * merchantability of this software or the suitability of this software for
 * any particular purpose. It is provided "as is" without express or implied
 * warranty of any kind.
 */

/* See top of pkcs11.h for information about the macros that
 * must be defined and the structure-packing conventions that
 * must be set before including this file. */

#ifndef _PKCS11T_H_
#define _PKCS11T_H_ 1

#define CRYPTOKI_VERSION_MAJOR 2
#define CRYPTOKI_VERSION_MINOR 20
#define CRYPTOKI_VERSION_AMENDMENT 3

#define CK_TRUE 1
#define CK_FALSE 0

#ifndef CK_DISABLE_TRUE_FALSE
#ifndef FALSE
#define FALSE CK_FALSE
#endif

#ifndef TRUE
#define TRUE CK_TRUE
#endif
#endif

/* an unsigned 8-bit value */
typedef unsigned char     CK_BYTE;

/* an unsigned 8-bit character */
typedef CK_BYTE           CK_CHAR;

/* an 8-bit UTF-8 character */
typedef CK_BYTE           CK_UTF8CHAR;

/* a BYTE-sized Boolean flag */
typedef CK_BYTE           CK_BBOOL;

/* an unsigned value, at least 32 bits long */
typedef unsigned long int CK_ULONG;

/* a signed value, the same size as a CK_ULONG */
/* CK_LONG is new for v2.0 */
typedef long int          CK_LONG;

/* at least 32 bits; each bit is a Boolean flag */
typedef CK_ULONG          CK_FLAGS;


/* some special values for certain CK_ULONG variables */
#define CK_UNAVAILABLE_INFORMATION (~0UL)
#define CK_EFFECTIVELY_INFINITE    0


typedef CK_BYTE     CK_PTR   CK_BYTE_PTR;
typedef CK_CHAR     CK_PTR   CK_CHAR_PTR;
typedef CK_UTF8CHAR CK_PTR   CK_UTF8CHAR_PTR;
typedef CK_ULONG    CK_PTR   CK_ULONG_PTR;
typedef void        CK_PTR   CK_VOID_PTR;

/* Pointer to a CK_VOID_PTR-- i.e., pointer to pointer to void */
typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR;


/* The following value is always invalid if used as a session */
/* handle or object handle */
#define CK_INVALID_HANDLE 0


typedef struct CK_VERSION {
  CK_BYTE       major;  /* integer portion of version number */
  CK_BYTE       minor;  /* 1/100ths portion of version number */
} CK_VERSION;

typedef CK_VERSION CK_PTR CK_VERSION_PTR;


typedef struct CK_INFO {
  /* manufacturerID and libraryDecription have been changed from
   * CK_CHAR to CK_UTF8CHAR for v2.10 */
  CK_VERSION    cryptokiVersion;     /* Cryptoki interface ver */
  CK_UTF8CHAR   manufacturerID[32];  /* blank padded */
  CK_FLAGS      flags;               /* must be zero */

  /* libraryDescription and libraryVersion are new for v2.0 */
  CK_UTF8CHAR   libraryDescription[32];  /* blank padded */
  CK_VERSION    libraryVersion;          /* version of library */
} CK_INFO;

typedef CK_INFO CK_PTR    CK_INFO_PTR;


/* CK_NOTIFICATION enumerates the types of notifications that
 * Cryptoki provides to an application */
/* CK_NOTIFICATION has been changed from an enum to a CK_ULONG
 * for v2.0 */
typedef CK_ULONG CK_NOTIFICATION;
#define CKN_SURRENDER       0

/* The following notification is new for PKCS #11 v2.20 amendment 3 */
#define CKN_OTP_CHANGED     1


typedef CK_ULONG          CK_SLOT_ID;

typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR;


/* CK_SLOT_INFO provides information about a slot */
typedef struct CK_SLOT_INFO {
  /* slotDescription and manufacturerID have been changed from
   * CK_CHAR to CK_UTF8CHAR for v2.10 */
  CK_UTF8CHAR   slotDescription[64];  /* blank padded */
  CK_UTF8CHAR   manufacturerID[32];   /* blank padded */
  CK_FLAGS      flags;

  /* hardwareVersion and firmwareVersion are new for v2.0 */
  CK_VERSION    hardwareVersion;  /* version of hardware */
  CK_VERSION    firmwareVersion;  /* version of firmware */
} CK_SLOT_INFO;

/* flags: bit flags that provide capabilities of the slot
 *      Bit Flag              Mask        Meaning
 */
#define CKF_TOKEN_PRESENT     0x00000001  /* a token is there */
#define CKF_REMOVABLE_DEVICE  0x00000002  /* removable devices*/
#define CKF_HW_SLOT           0x00000004  /* hardware slot */

typedef CK_SLOT_INFO CK_PTR CK_SLOT_INFO_PTR;


/* CK_TOKEN_INFO provides information about a token */
typedef struct CK_TOKEN_INFO {
  /* label, manufacturerID, and model have been changed from
   * CK_CHAR to CK_UTF8CHAR for v2.10 */
  CK_UTF8CHAR   label[32];           /* blank padded */
  CK_UTF8CHAR   manufacturerID[32];  /* blank padded */
  CK_UTF8CHAR   model[16];           /* blank padded */
  CK_CHAR       serialNumber[16];    /* blank padded */
  CK_FLAGS      flags;               /* see below */

  /* ulMaxSessionCount, ulSessionCount, ulMaxRwSessionCount,
   * ulRwSessionCount, ulMaxPinLen, and ulMinPinLen have all been
   * changed from CK_USHORT to CK_ULONG for v2.0 */
  CK_ULONG      ulMaxSessionCount;     /* max open sessions */
  CK_ULONG      ulSessionCount;        /* sess. now open */
  CK_ULONG      ulMaxRwSessionCount;   /* max R/W sessions */
  CK_ULONG      ulRwSessionCount;      /* R/W sess. now open */
  CK_ULONG      ulMaxPinLen;           /* in bytes */
  CK_ULONG      ulMinPinLen;           /* in bytes */
  CK_ULONG      ulTotalPublicMemory;   /* in bytes */
  CK_ULONG      ulFreePublicMemory;    /* in bytes */
  CK_ULONG      ulTotalPrivateMemory;  /* in bytes */
  CK_ULONG      ulFreePrivateMemory;   /* in bytes */

  /* hardwareVersion, firmwareVersion, and time are new for
   * v2.0 */
  CK_VERSION    hardwareVersion;       /* version of hardware */
  CK_VERSION    firmwareVersion;       /* version of firmware */
  CK_CHAR       utcTime[16];           /* time */
} CK_TOKEN_INFO;

/* The flags parameter is defined as follows:
 *      Bit Flag                    Mask        Meaning
 */
#define CKF_RNG                     0x00000001  /* has random #
                                                 * generator */
#define CKF_WRITE_PROTECTED         0x00000002  /* token is
                                                 * write-
                                                 * protected */
#define CKF_LOGIN_REQUIRED          0x00000004  /* user must
                                                 * login */
#define CKF_USER_PIN_INITIALIZED    0x00000008  /* normal user's
                                                 * PIN is set */

/* CKF_RESTORE_KEY_NOT_NEEDED is new for v2.0.  If it is set,
 * that means that *every* time the state of cryptographic
 * operations of a session is successfully saved, all keys
 * needed to continue those operations are stored in the state */
#define CKF_RESTORE_KEY_NOT_NEEDED  0x00000020

/* CKF_CLOCK_ON_TOKEN is new for v2.0.  If it is set, that means
 * that the token has some sort of clock.  The time on that
 * clock is returned in the token info structure */
#define CKF_CLOCK_ON_TOKEN          0x00000040

/* CKF_PROTECTED_AUTHENTICATION_PATH is new for v2.0.  If it is
 * set, that means that there is some way for the user to login
 * without sending a PIN through the Cryptoki library itself */
#define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100

/* CKF_DUAL_CRYPTO_OPERATIONS is new for v2.0.  If it is true,
 * that means that a single session with the token can perform
 * dual simultaneous cryptographic operations (digest and
 * encrypt; decrypt and digest; sign and encrypt; and decrypt
 * and sign) */
#define CKF_DUAL_CRYPTO_OPERATIONS  0x00000200

/* CKF_TOKEN_INITIALIZED if new for v2.10. If it is true, the
 * token has been initialized using C_InitializeToken or an
 * equivalent mechanism outside the scope of PKCS #11.
 * Calling C_InitializeToken when this flag is set will cause
 * the token to be reinitialized. */
#define CKF_TOKEN_INITIALIZED       0x00000400

/* CKF_SECONDARY_AUTHENTICATION if new for v2.10. If it is
 * true, the token supports secondary authentication for
 * private key objects. This flag is deprecated in v2.11 and
   onwards. */
#define CKF_SECONDARY_AUTHENTICATION  0x00000800

/* CKF_USER_PIN_COUNT_LOW if new for v2.10. If it is true, an
 * incorrect user login PIN has been entered at least once
 * since the last successful authentication. */
#define CKF_USER_PIN_COUNT_LOW       0x00010000

/* CKF_USER_PIN_FINAL_TRY if new for v2.10. If it is true,
 * supplying an incorrect user PIN will it to become locked. */
#define CKF_USER_PIN_FINAL_TRY       0x00020000

/* CKF_USER_PIN_LOCKED if new for v2.10. If it is true, the
 * user PIN has been locked. User login to the token is not
 * possible. */
#define CKF_USER_PIN_LOCKED          0x00040000

/* CKF_USER_PIN_TO_BE_CHANGED if new for v2.10. If it is true,
 * the user PIN value is the default value set by token
 * initialization or manufacturing, or the PIN has been
 * expired by the card. */
#define CKF_USER_PIN_TO_BE_CHANGED   0x00080000

/* CKF_SO_PIN_COUNT_LOW if new for v2.10. If it is true, an
 * incorrect SO login PIN has been entered at least once since
 * the last successful authentication. */
#define CKF_SO_PIN_COUNT_LOW         0x00100000

/* CKF_SO_PIN_FINAL_TRY if new for v2.10. If it is true,
 * supplying an incorrect SO PIN will it to become locked. */
#define CKF_SO_PIN_FINAL_TRY         0x00200000

/* CKF_SO_PIN_LOCKED if new for v2.10. If it is true, the SO
 * PIN has been locked. SO login to the token is not possible.
 */
#define CKF_SO_PIN_LOCKED            0x00400000

/* CKF_SO_PIN_TO_BE_CHANGED if new for v2.10. If it is true,
 * the SO PIN value is the default value set by token
 * initialization or manufacturing, or the PIN has been
 * expired by the card. */
#define CKF_SO_PIN_TO_BE_CHANGED     0x00800000

typedef CK_TOKEN_INFO CK_PTR CK_TOKEN_INFO_PTR;


/* CK_SESSION_HANDLE is a Cryptoki-assigned value that
 * identifies a session */
typedef CK_ULONG          CK_SESSION_HANDLE;

typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR;


/* CK_USER_TYPE enumerates the types of Cryptoki users */
/* CK_USER_TYPE has been changed from an enum to a CK_ULONG for
 * v2.0 */
typedef CK_ULONG          CK_USER_TYPE;
/* Security Officer */
#define CKU_SO    0
/* Normal user */
#define CKU_USER  1
/* Context specific (added in v2.20) */
#define CKU_CONTEXT_SPECIFIC   2

/* CK_STATE enumerates the session states */
/* CK_STATE has been changed from an enum to a CK_ULONG for
 * v2.0 */
typedef CK_ULONG          CK_STATE;
#define CKS_RO_PUBLIC_SESSION  0
#define CKS_RO_USER_FUNCTIONS  1
#define CKS_RW_PUBLIC_SESSION  2
#define CKS_RW_USER_FUNCTIONS  3
#define CKS_RW_SO_FUNCTIONS    4


/* CK_SESSION_INFO provides information about a session */
typedef struct CK_SESSION_INFO {
  CK_SLOT_ID    slotID;
  CK_STATE      state;
  CK_FLAGS      flags;          /* see below */

  /* ulDeviceError was changed from CK_USHORT to CK_ULONG for
   * v2.0 */
  CK_ULONG      ulDeviceError;  /* device-dependent error code */
} CK_SESSION_INFO;

/* The flags are defined in the following table:
 *      Bit Flag                Mask        Meaning
 */
#define CKF_RW_SESSION          0x00000002  /* session is r/w */
#define CKF_SERIAL_SESSION      0x00000004  /* no parallel */

typedef CK_SESSION_INFO CK_PTR CK_SESSION_INFO_PTR;


/* CK_OBJECT_HANDLE is a token-specific identifier for an
 * object  */
typedef CK_ULONG          CK_OBJECT_HANDLE;

typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR;


/* CK_OBJECT_CLASS is a value that identifies the classes (or
 * types) of objects that Cryptoki recognizes.  It is defined
 * as follows: */
/* CK_OBJECT_CLASS was changed from CK_USHORT to CK_ULONG for
 * v2.0 */
typedef CK_ULONG          CK_OBJECT_CLASS;

/* The following classes of objects are defined: */
/* CKO_HW_FEATURE is new for v2.10 */
/* CKO_DOMAIN_PARAMETERS is new for v2.11 */
/* CKO_MECHANISM is new for v2.20 */
#define CKO_DATA              0x00000000
#define CKO_CERTIFICATE       0x00000001
#define CKO_PUBLIC_KEY        0x00000002
#define CKO_PRIVATE_KEY       0x00000003
#define CKO_SECRET_KEY        0x00000004
#define CKO_HW_FEATURE        0x00000005
#define CKO_DOMAIN_PARAMETERS 0x00000006
#define CKO_MECHANISM         0x00000007

/* CKO_OTP_KEY is new for PKCS #11 v2.20 amendment 1 */
#define CKO_OTP_KEY           0x00000008

#define CKO_VENDOR_DEFINED    0x80000000

typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR;

/* CK_HW_FEATURE_TYPE is new for v2.10. CK_HW_FEATURE_TYPE is a
 * value that identifies the hardware feature type of an object
 * with CK_OBJECT_CLASS equal to CKO_HW_FEATURE. */
typedef CK_ULONG          CK_HW_FEATURE_TYPE;

/* The following hardware feature types are defined */
/* CKH_USER_INTERFACE is new for v2.20 */
#define CKH_MONOTONIC_COUNTER  0x00000001
#define CKH_CLOCK           0x00000002
#define CKH_USER_INTERFACE  0x00000003
#define CKH_VENDOR_DEFINED  0x80000000

/* CK_KEY_TYPE is a value that identifies a key type */
/* CK_KEY_TYPE was changed from CK_USHORT to CK_ULONG for v2.0 */
typedef CK_ULONG          CK_KEY_TYPE;

/* the following key types are defined: */
#define CKK_RSA             0x00000000
#define CKK_DSA             0x00000001
#define CKK_DH              0x00000002

/* CKK_ECDSA and CKK_KEA are new for v2.0 */
/* CKK_ECDSA is deprecated in v2.11, CKK_EC is preferred. */
#define CKK_ECDSA           0x00000003
#define CKK_EC              0x00000003
#define CKK_X9_42_DH        0x00000004
#define CKK_KEA             0x00000005

#define CKK_GENERIC_SECRET  0x00000010
#define CKK_RC2             0x00000011
#define CKK_RC4             0x00000012
#define CKK_DES             0x00000013
#define CKK_DES2            0x00000014
#define CKK_DES3            0x00000015

/* all these key types are new for v2.0 */
#define CKK_CAST            0x00000016
#define CKK_CAST3           0x00000017
/* CKK_CAST5 is deprecated in v2.11, CKK_CAST128 is preferred. */
#define CKK_CAST5           0x00000018
#define CKK_CAST128         0x00000018
#define CKK_RC5             0x00000019
#define CKK_IDEA            0x0000001A
#define CKK_SKIPJACK        0x0000001B
#define CKK_BATON           0x0000001C
#define CKK_JUNIPER         0x0000001D
#define CKK_CDMF            0x0000001E
#define CKK_AES             0x0000001F

/* BlowFish and TwoFish are new for v2.20 */
#define CKK_BLOWFISH        0x00000020
#define CKK_TWOFISH         0x00000021

/* SecurID, HOTP, and ACTI are new for PKCS #11 v2.20 amendment 1 */
#define CKK_SECURID         0x00000022
#define CKK_HOTP            0x00000023
#define CKK_ACTI            0x00000024

/* Camellia is new for PKCS #11 v2.20 amendment 3 */
#define CKK_CAMELLIA                   0x00000025
/* ARIA is new for PKCS #11 v2.20 amendment 3 */
#define CKK_ARIA                       0x00000026


#define CKK_VENDOR_DEFINED  0x80000000


/* CK_CERTIFICATE_TYPE is a value that identifies a certificate
 * type */
/* CK_CERTIFICATE_TYPE was changed from CK_USHORT to CK_ULONG
 * for v2.0 */
typedef CK_ULONG          CK_CERTIFICATE_TYPE;

/* The following certificate types are defined: */
/* CKC_X_509_ATTR_CERT is new for v2.10 */
/* CKC_WTLS is new for v2.20 */
#define CKC_X_509           0x00000000
#define CKC_X_509_ATTR_CERT 0x00000001
#define CKC_WTLS            0x00000002
#define CKC_VENDOR_DEFINED  0x80000000


/* CK_ATTRIBUTE_TYPE is a value that identifies an attribute
 * type */
/* CK_ATTRIBUTE_TYPE was changed from CK_USHORT to CK_ULONG for
 * v2.0 */
typedef CK_ULONG          CK_ATTRIBUTE_TYPE;

/* The CKF_ARRAY_ATTRIBUTE flag identifies an attribute which
   consists of an array of values. */
#define CKF_ARRAY_ATTRIBUTE    0x40000000

/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1
   and relates to the CKA_OTP_FORMAT attribute */
#define CK_OTP_FORMAT_DECIMAL      0
#define CK_OTP_FORMAT_HEXADECIMAL  1
#define CK_OTP_FORMAT_ALPHANUMERIC 2
#define CK_OTP_FORMAT_BINARY       3

/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1
   and relates to the CKA_OTP_..._REQUIREMENT attributes */
#define CK_OTP_PARAM_IGNORED       0
#define CK_OTP_PARAM_OPTIONAL      1
#define CK_OTP_PARAM_MANDATORY     2

/* The following attribute types are defined: */
#define CKA_CLASS              0x00000000
#define CKA_TOKEN              0x00000001
#define CKA_PRIVATE            0x00000002
#define CKA_LABEL              0x00000003
#define CKA_APPLICATION        0x00000010
#define CKA_VALUE              0x00000011

/* CKA_OBJECT_ID is new for v2.10 */
#define CKA_OBJECT_ID          0x00000012

#define CKA_CERTIFICATE_TYPE   0x00000080
#define CKA_ISSUER             0x00000081
#define CKA_SERIAL_NUMBER      0x00000082

/* CKA_AC_ISSUER, CKA_OWNER, and CKA_ATTR_TYPES are new
 * for v2.10 */
#define CKA_AC_ISSUER          0x00000083
#define CKA_OWNER              0x00000084
#define CKA_ATTR_TYPES         0x00000085

/* CKA_TRUSTED is new for v2.11 */
#define CKA_TRUSTED            0x00000086

/* CKA_CERTIFICATE_CATEGORY ...
 * CKA_CHECK_VALUE are new for v2.20 */
#define CKA_CERTIFICATE_CATEGORY        0x00000087
#define CKA_JAVA_MIDP_SECURITY_DOMAIN   0x00000088
#define CKA_URL                         0x00000089
#define CKA_HASH_OF_SUBJECT_PUBLIC_KEY  0x0000008A
#define CKA_HASH_OF_ISSUER_PUBLIC_KEY   0x0000008B
#define CKA_CHECK_VALUE                 0x00000090

#define CKA_KEY_TYPE           0x00000100
#define CKA_SUBJECT            0x00000101
#define CKA_ID                 0x00000102
#define CKA_SENSITIVE          0x00000103
#define CKA_ENCRYPT            0x00000104
#define CKA_DECRYPT            0x00000105
#define CKA_WRAP               0x00000106
#define CKA_UNWRAP             0x00000107
#define CKA_SIGN               0x00000108
#define CKA_SIGN_RECOVER       0x00000109
#define CKA_VERIFY             0x0000010A
#define CKA_VERIFY_RECOVER     0x0000010B
#define CKA_DERIVE             0x0000010C
#define CKA_START_DATE         0x00000110
#define CKA_END_DATE           0x00000111
#define CKA_MODULUS            0x00000120
#define CKA_MODULUS_BITS       0x00000121
#define CKA_PUBLIC_EXPONENT    0x00000122
#define CKA_PRIVATE_EXPONENT   0x00000123
#define CKA_PRIME_1            0x00000124
#define CKA_PRIME_2            0x00000125
#define CKA_EXPONENT_1         0x00000126
#define CKA_EXPONENT_2         0x00000127
#define CKA_COEFFICIENT        0x00000128
#define CKA_PRIME              0x00000130
#define CKA_SUBPRIME           0x00000131
#define CKA_BASE               0x00000132

/* CKA_PRIME_BITS and CKA_SUB_PRIME_BITS are new for v2.11 */
#define CKA_PRIME_BITS         0x00000133
#define CKA_SUBPRIME_BITS      0x00000134
#define CKA_SUB_PRIME_BITS     CKA_SUBPRIME_BITS
/* (To retain backwards-compatibility) */

#define CKA_VALUE_BITS         0x00000160
#define CKA_VALUE_LEN          0x00000161

/* CKA_EXTRACTABLE, CKA_LOCAL, CKA_NEVER_EXTRACTABLE,
 * CKA_ALWAYS_SENSITIVE, CKA_MODIFIABLE, CKA_ECDSA_PARAMS,
 * and CKA_EC_POINT are new for v2.0 */
#define CKA_EXTRACTABLE        0x00000162
#define CKA_LOCAL              0x00000163
#define CKA_NEVER_EXTRACTABLE  0x00000164
#define CKA_ALWAYS_SENSITIVE   0x00000165

/* CKA_KEY_GEN_MECHANISM is new for v2.11 */
#define CKA_KEY_GEN_MECHANISM  0x00000166

#define CKA_MODIFIABLE         0x00000170

/* CKA_ECDSA_PARAMS is deprecated in v2.11,
 * CKA_EC_PARAMS is preferred. */
#define CKA_ECDSA_PARAMS       0x00000180
#define CKA_EC_PARAMS          0x00000180

#define CKA_EC_POINT           0x00000181

/* CKA_SECONDARY_AUTH, CKA_AUTH_PIN_FLAGS,
 * are new for v2.10. Deprecated in v2.11 and onwards. */
#define CKA_SECONDARY_AUTH     0x00000200
#define CKA_AUTH_PIN_FLAGS     0x00000201

/* CKA_ALWAYS_AUTHENTICATE ...
 * CKA_UNWRAP_TEMPLATE are new for v2.20 */
#define CKA_ALWAYS_AUTHENTICATE  0x00000202

#define CKA_WRAP_WITH_TRUSTED    0x00000210
#define CKA_WRAP_TEMPLATE        (CKF_ARRAY_ATTRIBUTE|0x00000211)
#define CKA_UNWRAP_TEMPLATE      (CKF_ARRAY_ATTRIBUTE|0x00000212)

/* CKA_OTP... atttributes are new for PKCS #11 v2.20 amendment 3. */
#define CKA_OTP_FORMAT                0x00000220
#define CKA_OTP_LENGTH                0x00000221
#define CKA_OTP_TIME_INTERVAL         0x00000222
#define CKA_OTP_USER_FRIENDLY_MODE    0x00000223
#define CKA_OTP_CHALLENGE_REQUIREMENT 0x00000224
#define CKA_OTP_TIME_REQUIREMENT      0x00000225
#define CKA_OTP_COUNTER_REQUIREMENT   0x00000226
#define CKA_OTP_PIN_REQUIREMENT       0x00000227
#define CKA_OTP_COUNTER               0x0000022E
#define CKA_OTP_TIME                  0x0000022F
#define CKA_OTP_USER_IDENTIFIER       0x0000022A
#define CKA_OTP_SERVICE_IDENTIFIER    0x0000022B
#define CKA_OTP_SERVICE_LOGO          0x0000022C
#define CKA_OTP_SERVICE_LOGO_TYPE     0x0000022D


/* CKA_HW_FEATURE_TYPE, CKA_RESET_ON_INIT, and CKA_HAS_RESET
 * are new for v2.10 */
#define CKA_HW_FEATURE_TYPE    0x00000300
#define CKA_RESET_ON_INIT      0x00000301
#define CKA_HAS_RESET          0x00000302

/* The following attributes are new for v2.20 */
#define CKA_PIXEL_X                     0x00000400
#define CKA_PIXEL_Y                     0x00000401
#define CKA_RESOLUTION                  0x00000402
#define CKA_CHAR_ROWS                   0x00000403
#define CKA_CHAR_COLUMNS                0x00000404
#define CKA_COLOR                       0x00000405
#define CKA_BITS_PER_PIXEL              0x00000406
#define CKA_CHAR_SETS                   0x00000480
#define CKA_ENCODING_METHODS            0x00000481
#define CKA_MIME_TYPES                  0x00000482
#define CKA_MECHANISM_TYPE              0x00000500
#define CKA_REQUIRED_CMS_ATTRIBUTES     0x00000501
#define CKA_DEFAULT_CMS_ATTRIBUTES      0x00000502
#define CKA_SUPPORTED_CMS_ATTRIBUTES    0x00000503
#define CKA_ALLOWED_MECHANISMS          (CKF_ARRAY_ATTRIBUTE|0x00000600)

#define CKA_VENDOR_DEFINED     0x80000000

/* CK_ATTRIBUTE is a structure that includes the type, length
 * and value of an attribute */
typedef struct CK_ATTRIBUTE {
  CK_ATTRIBUTE_TYPE type;
  CK_VOID_PTR       pValue;

  /* ulValueLen went from CK_USHORT to CK_ULONG for v2.0 */
  CK_ULONG          ulValueLen;  /* in bytes */
} CK_ATTRIBUTE;

typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR;


/* CK_DATE is a structure that defines a date */
typedef struct CK_DATE{
  CK_CHAR       year[4];   /* the year ("1900" - "9999") */
  CK_CHAR       month[2];  /* the month ("01" - "12") */
  CK_CHAR       day[2];    /* the day   ("01" - "31") */
} CK_DATE;


/* CK_MECHANISM_TYPE is a value that identifies a mechanism
 * type */
/* CK_MECHANISM_TYPE was changed from CK_USHORT to CK_ULONG for
 * v2.0 */
typedef CK_ULONG          CK_MECHANISM_TYPE;

/* the following mechanism types are defined: */
#define CKM_RSA_PKCS_KEY_PAIR_GEN      0x00000000
#define CKM_RSA_PKCS                   0x00000001
#define CKM_RSA_9796                   0x00000002
#define CKM_RSA_X_509                  0x00000003

/* CKM_MD2_RSA_PKCS, CKM_MD5_RSA_PKCS, and CKM_SHA1_RSA_PKCS
 * are new for v2.0.  They are mechanisms which hash and sign */
#define CKM_MD2_RSA_PKCS               0x00000004
#define CKM_MD5_RSA_PKCS               0x00000005
#define CKM_SHA1_RSA_PKCS              0x00000006

/* CKM_RIPEMD128_RSA_PKCS, CKM_RIPEMD160_RSA_PKCS, and
 * CKM_RSA_PKCS_OAEP are new for v2.10 */
#define CKM_RIPEMD128_RSA_PKCS         0x00000007
#define CKM_RIPEMD160_RSA_PKCS         0x00000008
#define CKM_RSA_PKCS_OAEP              0x00000009

/* CKM_RSA_X9_31_KEY_PAIR_GEN, CKM_RSA_X9_31, CKM_SHA1_RSA_X9_31,
 * CKM_RSA_PKCS_PSS, and CKM_SHA1_RSA_PKCS_PSS are new for v2.11 */
#define CKM_RSA_X9_31_KEY_PAIR_GEN     0x0000000A
#define CKM_RSA_X9_31                  0x0000000B
#define CKM_SHA1_RSA_X9_31             0x0000000C
#define CKM_RSA_PKCS_PSS               0x0000000D
#define CKM_SHA1_RSA_PKCS_PSS          0x0000000E

#define CKM_DSA_KEY_PAIR_GEN           0x00000010
#define CKM_DSA                        0x00000011
#define CKM_DSA_SHA1                   0x00000012
#define CKM_DH_PKCS_KEY_PAIR_GEN       0x00000020
#define CKM_DH_PKCS_DERIVE             0x00000021

/* CKM_X9_42_DH_KEY_PAIR_GEN, CKM_X9_42_DH_DERIVE,
 * CKM_X9_42_DH_HYBRID_DERIVE, and CKM_X9_42_MQV_DERIVE are new for
 * v2.11 */
#define CKM_X9_42_DH_KEY_PAIR_GEN      0x00000030
#define CKM_X9_42_DH_DERIVE            0x00000031
#define CKM_X9_42_DH_HYBRID_DERIVE     0x00000032
#define CKM_X9_42_MQV_DERIVE           0x00000033

/* CKM_SHA256/384/512 are new for v2.20 */
#define CKM_SHA256_RSA_PKCS            0x00000040
#define CKM_SHA384_RSA_PKCS            0x00000041
#define CKM_SHA512_RSA_PKCS            0x00000042
#define CKM_SHA256_RSA_PKCS_PSS        0x00000043
#define CKM_SHA384_RSA_PKCS_PSS        0x00000044
#define CKM_SHA512_RSA_PKCS_PSS        0x00000045

/* SHA-224 RSA mechanisms are new for PKCS #11 v2.20 amendment 3 */
#define CKM_SHA224_RSA_PKCS            0x00000046
#define CKM_SHA224_RSA_PKCS_PSS        0x00000047

#define CKM_RC2_KEY_GEN                0x00000100
#define CKM_RC2_ECB                    0x00000101
#define CKM_RC2_CBC                    0x00000102
#define CKM_RC2_MAC                    0x00000103

/* CKM_RC2_MAC_GENERAL and CKM_RC2_CBC_PAD are new for v2.0 */
#define CKM_RC2_MAC_GENERAL            0x00000104
#define CKM_RC2_CBC_PAD                0x00000105

#define CKM_RC4_KEY_GEN                0x00000110
#define CKM_RC4                        0x00000111
#define CKM_DES_KEY_GEN                0x00000120
#define CKM_DES_ECB                    0x00000121
#define CKM_DES_CBC                    0x00000122
#define CKM_DES_MAC                    0x00000123

/* CKM_DES_MAC_GENERAL and CKM_DES_CBC_PAD are new for v2.0 */
#define CKM_DES_MAC_GENERAL            0x00000124
#define CKM_DES_CBC_PAD                0x00000125

#define CKM_DES2_KEY_GEN               0x00000130
#define CKM_DES3_KEY_GEN               0x00000131
#define CKM_DES3_ECB                   0x00000132
#define CKM_DES3_CBC                   0x00000133
#define CKM_DES3_MAC                   0x00000134

/* CKM_DES3_MAC_GENERAL, CKM_DES3_CBC_PAD, CKM_CDMF_KEY_GEN,
 * CKM_CDMF_ECB, CKM_CDMF_CBC, CKM_CDMF_MAC,
 * CKM_CDMF_MAC_GENERAL, and CKM_CDMF_CBC_PAD are new for v2.0 */
#define CKM_DES3_MAC_GENERAL           0x00000135
#define CKM_DES3_CBC_PAD               0x00000136
#define CKM_CDMF_KEY_GEN               0x00000140
#define CKM_CDMF_ECB                   0x00000141
#define CKM_CDMF_CBC                   0x00000142
#define CKM_CDMF_MAC                   0x00000143
#define CKM_CDMF_MAC_GENERAL           0x00000144
#define CKM_CDMF_CBC_PAD               0x00000145

/* the following four DES mechanisms are new for v2.20 */
#define CKM_DES_OFB64                  0x00000150
#define CKM_DES_OFB8                   0x00000151
#define CKM_DES_CFB64                  0x00000152
#define CKM_DES_CFB8                   0x00000153

#define CKM_MD2                        0x00000200

/* CKM_MD2_HMAC and CKM_MD2_HMAC_GENERAL are new for v2.0 */
#define CKM_MD2_HMAC                   0x00000201
#define CKM_MD2_HMAC_GENERAL           0x00000202

#define CKM_MD5                        0x00000210

/* CKM_MD5_HMAC and CKM_MD5_HMAC_GENERAL are new for v2.0 */
#define CKM_MD5_HMAC                   0x00000211
#define CKM_MD5_HMAC_GENERAL           0x00000212

#define CKM_SHA_1                      0x00000220

/* CKM_SHA_1_HMAC and CKM_SHA_1_HMAC_GENERAL are new for v2.0 */
#define CKM_SHA_1_HMAC                 0x00000221
#define CKM_SHA_1_HMAC_GENERAL         0x00000222

/* CKM_RIPEMD128, CKM_RIPEMD128_HMAC,
 * CKM_RIPEMD128_HMAC_GENERAL, CKM_RIPEMD160, CKM_RIPEMD160_HMAC,
 * and CKM_RIPEMD160_HMAC_GENERAL are new for v2.10 */
#define CKM_RIPEMD128                  0x00000230
#define CKM_RIPEMD128_HMAC             0x00000231
#define CKM_RIPEMD128_HMAC_GENERAL     0x00000232
#define CKM_RIPEMD160                  0x00000240
#define CKM_RIPEMD160_HMAC             0x00000241
#define CKM_RIPEMD160_HMAC_GENERAL     0x00000242

/* CKM_SHA256/384/512 are new for v2.20 */
#define CKM_SHA256                     0x00000250
#define CKM_SHA256_HMAC                0x00000251
#define CKM_SHA256_HMAC_GENERAL        0x00000252

/* SHA-224 is new for PKCS #11 v2.20 amendment 3 */
#define CKM_SHA224                     0x00000255
#define CKM_SHA224_HMAC                0x00000256
#define CKM_SHA224_HMAC_GENERAL        0x00000257

#define CKM_SHA384                     0x00000260
#define CKM_SHA384_HMAC                0x00000261
#define CKM_SHA384_HMAC_GENERAL        0x00000262
#define CKM_SHA512                     0x00000270
#define CKM_SHA512_HMAC                0x00000271
#define CKM_SHA512_HMAC_GENERAL        0x00000272

/* SecurID is new for PKCS #11 v2.20 amendment 1 */
#define CKM_SECURID_KEY_GEN            0x00000280
#define CKM_SECURID                    0x00000282

/* HOTP is new for PKCS #11 v2.20 amendment 1 */
#define CKM_HOTP_KEY_GEN    0x00000290
#define CKM_HOTP            0x00000291

/* ACTI is new for PKCS #11 v2.20 amendment 1 */
#define CKM_ACTI            0x000002A0
#define CKM_ACTI_KEY_GEN    0x000002A1

/* All of the following mechanisms are new for v2.0 */
/* Note that CAST128 and CAST5 are the same algorithm */
#define CKM_CAST_KEY_GEN               0x00000300
#define CKM_CAST_ECB                   0x00000301
#define CKM_CAST_CBC                   0x00000302
#define CKM_CAST_MAC                   0x00000303
#define CKM_CAST_MAC_GENERAL           0x00000304
#define CKM_CAST_CBC_PAD               0x00000305
#define CKM_CAST3_KEY_GEN              0x00000310
#define CKM_CAST3_ECB                  0x00000311
#define CKM_CAST3_CBC                  0x00000312
#define CKM_CAST3_MAC                  0x00000313
#define CKM_CAST3_MAC_GENERAL          0x00000314
#define CKM_CAST3_CBC_PAD              0x00000315
#define CKM_CAST5_KEY_GEN              0x00000320
#define CKM_CAST128_KEY_GEN            0x00000320
#define CKM_CAST5_ECB                  0x00000321
#define CKM_CAST128_ECB                0x00000321
#define CKM_CAST5_CBC                  0x00000322
#define CKM_CAST128_CBC                0x00000322
#define CKM_CAST5_MAC                  0x00000323
#define CKM_CAST128_MAC                0x00000323
#define CKM_CAST5_MAC_GENERAL          0x00000324
#define CKM_CAST128_MAC_GENERAL        0x00000324
#define CKM_CAST5_CBC_PAD              0x00000325
#define CKM_CAST128_CBC_PAD            0x00000325
#define CKM_RC5_KEY_GEN                0x00000330
#define CKM_RC5_ECB                    0x00000331
#define CKM_RC5_CBC                    0x00000332
#define CKM_RC5_MAC                    0x00000333
#define CKM_RC5_MAC_GENERAL            0x00000334
#define CKM_RC5_CBC_PAD                0x00000335
#define CKM_IDEA_KEY_GEN               0x00000340
#define CKM_IDEA_ECB                   0x00000341
#define CKM_IDEA_CBC                   0x00000342
#define CKM_IDEA_MAC                   0x00000343
#define CKM_IDEA_MAC_GENERAL           0x00000344
#define CKM_IDEA_CBC_PAD               0x00000345
#define CKM_GENERIC_SECRET_KEY_GEN     0x00000350
#define CKM_CONCATENATE_BASE_AND_KEY   0x00000360
#define CKM_CONCATENATE_BASE_AND_DATA  0x00000362
#define CKM_CONCATENATE_DATA_AND_BASE  0x00000363
#define CKM_XOR_BASE_AND_DATA          0x00000364
#define CKM_EXTRACT_KEY_FROM_KEY       0x00000365
#define CKM_SSL3_PRE_MASTER_KEY_GEN    0x00000370
#define CKM_SSL3_MASTER_KEY_DERIVE     0x00000371
#define CKM_SSL3_KEY_AND_MAC_DERIVE    0x00000372

/* CKM_SSL3_MASTER_KEY_DERIVE_DH, CKM_TLS_PRE_MASTER_KEY_GEN,
 * CKM_TLS_MASTER_KEY_DERIVE, CKM_TLS_KEY_AND_MAC_DERIVE, and
 * CKM_TLS_MASTER_KEY_DERIVE_DH are new for v2.11 */
#define CKM_SSL3_MASTER_KEY_DERIVE_DH  0x00000373
#define CKM_TLS_PRE_MASTER_KEY_GEN     0x00000374
#define CKM_TLS_MASTER_KEY_DERIVE      0x00000375
#define CKM_TLS_KEY_AND_MAC_DERIVE     0x00000376
#define CKM_TLS_MASTER_KEY_DERIVE_DH   0x00000377

/* CKM_TLS_PRF is new for v2.20 */
#define CKM_TLS_PRF                    0x00000378

#define CKM_SSL3_MD5_MAC               0x00000380
#define CKM_SSL3_SHA1_MAC              0x00000381
#define CKM_MD5_KEY_DERIVATION         0x00000390
#define CKM_MD2_KEY_DERIVATION         0x00000391
#define CKM_SHA1_KEY_DERIVATION        0x00000392

/* CKM_SHA256/384/512 are new for v2.20 */
#define CKM_SHA256_KEY_DERIVATION      0x00000393
#define CKM_SHA384_KEY_DERIVATION      0x00000394
#define CKM_SHA512_KEY_DERIVATION      0x00000395

/* SHA-224 key derivation is new for PKCS #11 v2.20 amendment 3 */
#define CKM_SHA224_KEY_DERIVATION      0x00000396

#define CKM_PBE_MD2_DES_CBC            0x000003A0
#define CKM_PBE_MD5_DES_CBC            0x000003A1
#define CKM_PBE_MD5_CAST_CBC           0x000003A2
#define CKM_PBE_MD5_CAST3_CBC          0x000003A3
#define CKM_PBE_MD5_CAST5_CBC          0x000003A4
#define CKM_PBE_MD5_CAST128_CBC        0x000003A4
#define CKM_PBE_SHA1_CAST5_CBC         0x000003A5
#define CKM_PBE_SHA1_CAST128_CBC       0x000003A5
#define CKM_PBE_SHA1_RC4_128           0x000003A6
#define CKM_PBE_SHA1_RC4_40            0x000003A7
#define CKM_PBE_SHA1_DES3_EDE_CBC      0x000003A8
#define CKM_PBE_SHA1_DES2_EDE_CBC      0x000003A9
#define CKM_PBE_SHA1_RC2_128_CBC       0x000003AA
#define CKM_PBE_SHA1_RC2_40_CBC        0x000003AB

/* CKM_PKCS5_PBKD2 is new for v2.10 */
#define CKM_PKCS5_PBKD2                0x000003B0

#define CKM_PBA_SHA1_WITH_SHA1_HMAC    0x000003C0

/* WTLS mechanisms are new for v2.20 */
#define CKM_WTLS_PRE_MASTER_KEY_GEN         0x000003D0
#define CKM_WTLS_MASTER_KEY_DERIVE          0x000003D1
#define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC   0x000003D2
#define CKM_WTLS_PRF                        0x000003D3
#define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE  0x000003D4
#define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE  0x000003D5

#define CKM_KEY_WRAP_LYNKS             0x00000400
#define CKM_KEY_WRAP_SET_OAEP          0x00000401

/* CKM_CMS_SIG is new for v2.20 */
#define CKM_CMS_SIG                    0x00000500

/* CKM_KIP mechanisms are new for PKCS #11 v2.20 amendment 2 */
#define CKM_KIP_DERIVE	               0x00000510
#define CKM_KIP_WRAP	               0x00000511
#define CKM_KIP_MAC	               0x00000512

/* Camellia is new for PKCS #11 v2.20 amendment 3 */
#define CKM_CAMELLIA_KEY_GEN           0x00000550
#define CKM_CAMELLIA_ECB               0x00000551
#define CKM_CAMELLIA_CBC               0x00000552
#define CKM_CAMELLIA_MAC               0x00000553
#define CKM_CAMELLIA_MAC_GENERAL       0x00000554
#define CKM_CAMELLIA_CBC_PAD           0x00000555
#define CKM_CAMELLIA_ECB_ENCRYPT_DATA  0x00000556
#define CKM_CAMELLIA_CBC_ENCRYPT_DATA  0x00000557
#define CKM_CAMELLIA_CTR               0x00000558

/* ARIA is new for PKCS #11 v2.20 amendment 3 */
#define CKM_ARIA_KEY_GEN               0x00000560
#define CKM_ARIA_ECB                   0x00000561
#define CKM_ARIA_CBC                   0x00000562
#define CKM_ARIA_MAC                   0x00000563
#define CKM_ARIA_MAC_GENERAL           0x00000564
#define CKM_ARIA_CBC_PAD               0x00000565
#define CKM_ARIA_ECB_ENCRYPT_DATA      0x00000566
#define CKM_ARIA_CBC_ENCRYPT_DATA      0x00000567

/* Fortezza mechanisms */
#define CKM_SKIPJACK_KEY_GEN           0x00001000
#define CKM_SKIPJACK_ECB64             0x00001001
#define CKM_SKIPJACK_CBC64             0x00001002
#define CKM_SKIPJACK_OFB64             0x00001003
#define CKM_SKIPJACK_CFB64             0x00001004
#define CKM_SKIPJACK_CFB32             0x00001005
#define CKM_SKIPJACK_CFB16             0x00001006
#define CKM_SKIPJACK_CFB8              0x00001007
#define CKM_SKIPJACK_WRAP              0x00001008
#define CKM_SKIPJACK_PRIVATE_WRAP      0x00001009
#define CKM_SKIPJACK_RELAYX            0x0000100a
#define CKM_KEA_KEY_PAIR_GEN           0x00001010
#define CKM_KEA_KEY_DERIVE             0x00001011
#define CKM_FORTEZZA_TIMESTAMP         0x00001020
#define CKM_BATON_KEY_GEN              0x00001030
#define CKM_BATON_ECB128               0x00001031
#define CKM_BATON_ECB96                0x00001032
#define CKM_BATON_CBC128               0x00001033
#define CKM_BATON_COUNTER              0x00001034
#define CKM_BATON_SHUFFLE              0x00001035
#define CKM_BATON_WRAP                 0x00001036

/* CKM_ECDSA_KEY_PAIR_GEN is deprecated in v2.11,
 * CKM_EC_KEY_PAIR_GEN is preferred */
#define CKM_ECDSA_KEY_PAIR_GEN         0x00001040
#define CKM_EC_KEY_PAIR_GEN            0x00001040

#define CKM_ECDSA                      0x00001041
#define CKM_ECDSA_SHA1                 0x00001042

/* CKM_ECDH1_DERIVE, CKM_ECDH1_COFACTOR_DERIVE, and CKM_ECMQV_DERIVE
 * are new for v2.11 */
#define CKM_ECDH1_DERIVE               0x00001050
#define CKM_ECDH1_COFACTOR_DERIVE      0x00001051
#define CKM_ECMQV_DERIVE               0x00001052

#define CKM_JUNIPER_KEY_GEN            0x00001060
#define CKM_JUNIPER_ECB128             0x00001061
#define CKM_JUNIPER_CBC128             0x00001062
#define CKM_JUNIPER_COUNTER            0x00001063
#define CKM_JUNIPER_SHUFFLE            0x00001064
#define CKM_JUNIPER_WRAP               0x00001065
#define CKM_FASTHASH                   0x00001070

/* CKM_AES_KEY_GEN, CKM_AES_ECB, CKM_AES_CBC, CKM_AES_MAC,
 * CKM_AES_MAC_GENERAL, CKM_AES_CBC_PAD, CKM_DSA_PARAMETER_GEN,
 * CKM_DH_PKCS_PARAMETER_GEN, and CKM_X9_42_DH_PARAMETER_GEN are
 * new for v2.11 */
#define CKM_AES_KEY_GEN                0x00001080
#define CKM_AES_ECB                    0x00001081
#define CKM_AES_CBC                    0x00001082
#define CKM_AES_MAC                    0x00001083
#define CKM_AES_MAC_GENERAL            0x00001084
#define CKM_AES_CBC_PAD                0x00001085

/* AES counter mode is new for PKCS #11 v2.20 amendment 3 */
#define CKM_AES_CTR                    0x00001086

/* BlowFish and TwoFish are new for v2.20 */
#define CKM_BLOWFISH_KEY_GEN           0x00001090
#define CKM_BLOWFISH_CBC               0x00001091
#define CKM_TWOFISH_KEY_GEN            0x00001092
#define CKM_TWOFISH_CBC                0x00001093


/* CKM_xxx_ENCRYPT_DATA mechanisms are new for v2.20 */
#define CKM_DES_ECB_ENCRYPT_DATA       0x00001100
#define CKM_DES_CBC_ENCRYPT_DATA       0x00001101
#define CKM_DES3_ECB_ENCRYPT_DATA      0x00001102
#define CKM_DES3_CBC_ENCRYPT_DATA      0x00001103
#define CKM_AES_ECB_ENCRYPT_DATA       0x00001104
#define CKM_AES_CBC_ENCRYPT_DATA       0x00001105

#define CKM_DSA_PARAMETER_GEN          0x00002000
#define CKM_DH_PKCS_PARAMETER_GEN      0x00002001
#define CKM_X9_42_DH_PARAMETER_GEN     0x00002002

#define CKM_VENDOR_DEFINED             0x80000000

typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;


/* CK_MECHANISM is a structure that specifies a particular
 * mechanism  */
typedef struct CK_MECHANISM {
  CK_MECHANISM_TYPE mechanism;
  CK_VOID_PTR       pParameter;

  /* ulParameterLen was changed from CK_USHORT to CK_ULONG for
   * v2.0 */
  CK_ULONG          ulParameterLen;  /* in bytes */
} CK_MECHANISM;

typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR;


/* CK_MECHANISM_INFO provides information about a particular
 * mechanism */
typedef struct CK_MECHANISM_INFO {
    CK_ULONG    ulMinKeySize;
    CK_ULONG    ulMaxKeySize;
    CK_FLAGS    flags;
} CK_MECHANISM_INFO;

/* The flags are defined as follows:
 *      Bit Flag               Mask        Meaning */
#define CKF_HW                 0x00000001  /* performed by HW */

/* The flags CKF_ENCRYPT, CKF_DECRYPT, CKF_DIGEST, CKF_SIGN,
 * CKG_SIGN_RECOVER, CKF_VERIFY, CKF_VERIFY_RECOVER,
 * CKF_GENERATE, CKF_GENERATE_KEY_PAIR, CKF_WRAP, CKF_UNWRAP,
 * and CKF_DERIVE are new for v2.0.  They specify whether or not
 * a mechanism can be used for a particular task */
#define CKF_ENCRYPT            0x00000100
#define CKF_DECRYPT            0x00000200
#define CKF_DIGEST             0x00000400
#define CKF_SIGN               0x00000800
#define CKF_SIGN_RECOVER       0x00001000
#define CKF_VERIFY             0x00002000
#define CKF_VERIFY_RECOVER     0x00004000
#define CKF_GENERATE           0x00008000
#define CKF_GENERATE_KEY_PAIR  0x00010000
#define CKF_WRAP               0x00020000
#define CKF_UNWRAP             0x00040000
#define CKF_DERIVE             0x00080000

/* CKF_EC_F_P, CKF_EC_F_2M, CKF_EC_ECPARAMETERS, CKF_EC_NAMEDCURVE,
 * CKF_EC_UNCOMPRESS, and CKF_EC_COMPRESS are new for v2.11. They
 * describe a token's EC capabilities not available in mechanism
 * information. */
#define CKF_EC_F_P             0x00100000
#define CKF_EC_F_2M            0x00200000
#define CKF_EC_ECPARAMETERS    0x00400000
#define CKF_EC_NAMEDCURVE      0x00800000
#define CKF_EC_UNCOMPRESS      0x01000000
#define CKF_EC_COMPRESS        0x02000000

#define CKF_EXTENSION          0x80000000 /* FALSE for this version */

typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR;


/* CK_RV is a value that identifies the return value of a
 * Cryptoki function */
/* CK_RV was changed from CK_USHORT to CK_ULONG for v2.0 */
typedef CK_ULONG          CK_RV;

#define CKR_OK                                0x00000000
#define CKR_CANCEL                            0x00000001
#define CKR_HOST_MEMORY                       0x00000002
#define CKR_SLOT_ID_INVALID                   0x00000003

/* CKR_FLAGS_INVALID was removed for v2.0 */

/* CKR_GENERAL_ERROR and CKR_FUNCTION_FAILED are new for v2.0 */
#define CKR_GENERAL_ERROR                     0x00000005
#define CKR_FUNCTION_FAILED                   0x00000006

/* CKR_ARGUMENTS_BAD, CKR_NO_EVENT, CKR_NEED_TO_CREATE_THREADS,
 * and CKR_CANT_LOCK are new for v2.01 */
#define CKR_ARGUMENTS_BAD                     0x00000007
#define CKR_NO_EVENT                          0x00000008
#define CKR_NEED_TO_CREATE_THREADS            0x00000009
#define CKR_CANT_LOCK                         0x0000000A

#define CKR_ATTRIBUTE_READ_ONLY               0x00000010
#define CKR_ATTRIBUTE_SENSITIVE               0x00000011
#define CKR_ATTRIBUTE_TYPE_INVALID            0x00000012
#define CKR_ATTRIBUTE_VALUE_INVALID           0x00000013
#define CKR_DATA_INVALID                      0x00000020
#define CKR_DATA_LEN_RANGE                    0x00000021
#define CKR_DEVICE_ERROR                      0x00000030
#define CKR_DEVICE_MEMORY                     0x00000031
#define CKR_DEVICE_REMOVED                    0x00000032
#define CKR_ENCRYPTED_DATA_INVALID            0x00000040
#define CKR_ENCRYPTED_DATA_LEN_RANGE          0x00000041
#define CKR_FUNCTION_CANCELED                 0x00000050
#define CKR_FUNCTION_NOT_PARALLEL             0x00000051

/* CKR_FUNCTION_NOT_SUPPORTED is new for v2.0 */
#define CKR_FUNCTION_NOT_SUPPORTED            0x00000054

#define CKR_KEY_HANDLE_INVALID                0x00000060

/* CKR_KEY_SENSITIVE was removed for v2.0 */

#define CKR_KEY_SIZE_RANGE                    0x00000062
#define CKR_KEY_TYPE_INCONSISTENT             0x00000063

/* CKR_KEY_NOT_NEEDED, CKR_KEY_CHANGED, CKR_KEY_NEEDED,
 * CKR_KEY_INDIGESTIBLE, CKR_KEY_FUNCTION_NOT_PERMITTED,
 * CKR_KEY_NOT_WRAPPABLE, and CKR_KEY_UNEXTRACTABLE are new for
 * v2.0 */
#define CKR_KEY_NOT_NEEDED                    0x00000064
#define CKR_KEY_CHANGED                       0x00000065
#define CKR_KEY_NEEDED                        0x00000066
#define CKR_KEY_INDIGESTIBLE                  0x00000067
#define CKR_KEY_FUNCTION_NOT_PERMITTED        0x00000068
#define CKR_KEY_NOT_WRAPPABLE                 0x00000069
#define CKR_KEY_UNEXTRACTABLE                 0x0000006A

#define CKR_MECHANISM_INVALID                 0x00000070
#define CKR_MECHANISM_PARAM_INVALID           0x00000071

/* CKR_OBJECT_CLASS_INCONSISTENT and CKR_OBJECT_CLASS_INVALID
 * were removed for v2.0 */
#define CKR_OBJECT_HANDLE_INVALID             0x00000082
#define CKR_OPERATION_ACTIVE                  0x00000090
#define CKR_OPERATION_NOT_INITIALIZED         0x00000091
#define CKR_PIN_INCORRECT                     0x000000A0
#define CKR_PIN_INVALID                       0x000000A1
#define CKR_PIN_LEN_RANGE                     0x000000A2

/* CKR_PIN_EXPIRED and CKR_PIN_LOCKED are new for v2.0 */
#define CKR_PIN_EXPIRED                       0x000000A3
#define CKR_PIN_LOCKED                        0x000000A4

#define CKR_SESSION_CLOSED                    0x000000B0
#define CKR_SESSION_COUNT                     0x000000B1
#define CKR_SESSION_HANDLE_INVALID            0x000000B3
#define CKR_SESSION_PARALLEL_NOT_SUPPORTED    0x000000B4
#define CKR_SESSION_READ_ONLY                 0x000000B5
#define CKR_SESSION_EXISTS                    0x000000B6

/* CKR_SESSION_READ_ONLY_EXISTS and
 * CKR_SESSION_READ_WRITE_SO_EXISTS are new for v2.0 */
#define CKR_SESSION_READ_ONLY_EXISTS          0x000000B7
#define CKR_SESSION_READ_WRITE_SO_EXISTS      0x000000B8

#define CKR_SIGNATURE_INVALID                 0x000000C0
#define CKR_SIGNATURE_LEN_RANGE               0x000000C1
#define CKR_TEMPLATE_INCOMPLETE               0x000000D0
#define CKR_TEMPLATE_INCONSISTENT             0x000000D1
#define CKR_TOKEN_NOT_PRESENT                 0x000000E0
#define CKR_TOKEN_NOT_RECOGNIZED              0x000000E1
#define CKR_TOKEN_WRITE_PROTECTED             0x000000E2
#define CKR_UNWRAPPING_KEY_HANDLE_INVALID     0x000000F0
#define CKR_UNWRAPPING_KEY_SIZE_RANGE         0x000000F1
#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT  0x000000F2
#define CKR_USER_ALREADY_LOGGED_IN            0x00000100
#define CKR_USER_NOT_LOGGED_IN                0x00000101
#define CKR_USER_PIN_NOT_INITIALIZED          0x00000102
#define CKR_USER_TYPE_INVALID                 0x00000103

/* CKR_USER_ANOTHER_ALREADY_LOGGED_IN and CKR_USER_TOO_MANY_TYPES
 * are new to v2.01 */
#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN    0x00000104
#define CKR_USER_TOO_MANY_TYPES               0x00000105

#define CKR_WRAPPED_KEY_INVALID               0x00000110
#define CKR_WRAPPED_KEY_LEN_RANGE             0x00000112
#define CKR_WRAPPING_KEY_HANDLE_INVALID       0x00000113
#define CKR_WRAPPING_KEY_SIZE_RANGE           0x00000114
#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT    0x00000115
#define CKR_RANDOM_SEED_NOT_SUPPORTED         0x00000120

/* These are new to v2.0 */
#define CKR_RANDOM_NO_RNG                     0x00000121

/* These are new to v2.11 */
#define CKR_DOMAIN_PARAMS_INVALID             0x00000130

/* These are new to v2.0 */
#define CKR_BUFFER_TOO_SMALL                  0x00000150
#define CKR_SAVED_STATE_INVALID               0x00000160
#define CKR_INFORMATION_SENSITIVE             0x00000170
#define CKR_STATE_UNSAVEABLE                  0x00000180

/* These are new to v2.01 */
#define CKR_CRYPTOKI_NOT_INITIALIZED          0x00000190
#define CKR_CRYPTOKI_ALREADY_INITIALIZED      0x00000191
#define CKR_MUTEX_BAD                         0x000001A0
#define CKR_MUTEX_NOT_LOCKED                  0x000001A1

/* The following return values are new for PKCS #11 v2.20 amendment 3 */
#define CKR_NEW_PIN_MODE                      0x000001B0
#define CKR_NEXT_OTP                          0x000001B1

/* This is new to v2.20 */
#define CKR_FUNCTION_REJECTED                 0x00000200

#define CKR_VENDOR_DEFINED                    0x80000000


/* CK_NOTIFY is an application callback that processes events */
typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)(
  CK_SESSION_HANDLE hSession,     /* the session's handle */
  CK_NOTIFICATION   event,
  CK_VOID_PTR       pApplication  /* passed to C_OpenSession */
);


/* CK_FUNCTION_LIST is a structure holding a Cryptoki spec
 * version and pointers of appropriate types to all the
 * Cryptoki functions */
/* CK_FUNCTION_LIST is new for v2.0 */
typedef struct CK_FUNCTION_LIST CK_FUNCTION_LIST;

typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR;

typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR;


/* CK_CREATEMUTEX is an application callback for creating a
 * mutex object */
typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)(
  CK_VOID_PTR_PTR ppMutex  /* location to receive ptr to mutex */
);


/* CK_DESTROYMUTEX is an application callback for destroying a
 * mutex object */
typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)(
  CK_VOID_PTR pMutex  /* pointer to mutex */
);


/* CK_LOCKMUTEX is an application callback for locking a mutex */
typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)(
  CK_VOID_PTR pMutex  /* pointer to mutex */
);


/* CK_UNLOCKMUTEX is an application callback for unlocking a
 * mutex */
typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)(
  CK_VOID_PTR pMutex  /* pointer to mutex */
);


/* CK_C_INITIALIZE_ARGS provides the optional arguments to
 * C_Initialize */
typedef struct CK_C_INITIALIZE_ARGS {
  CK_CREATEMUTEX CreateMutex;
  CK_DESTROYMUTEX DestroyMutex;
  CK_LOCKMUTEX LockMutex;
  CK_UNLOCKMUTEX UnlockMutex;
  CK_FLAGS flags;
  CK_VOID_PTR pReserved;
} CK_C_INITIALIZE_ARGS;

/* flags: bit flags that provide capabilities of the slot
 *      Bit Flag                           Mask       Meaning
 */
#define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001
#define CKF_OS_LOCKING_OK                  0x00000002

typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR;


/* additional flags for parameters to functions */

/* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */
#define CKF_DONT_BLOCK     1

/* CK_RSA_PKCS_OAEP_MGF_TYPE is new for v2.10.
 * CK_RSA_PKCS_OAEP_MGF_TYPE  is used to indicate the Message
 * Generation Function (MGF) applied to a message block when
 * formatting a message block for the PKCS #1 OAEP encryption
 * scheme. */
typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE;

typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR;

/* The following MGFs are defined */
/* CKG_MGF1_SHA256, CKG_MGF1_SHA384, and CKG_MGF1_SHA512
 * are new for v2.20 */
#define CKG_MGF1_SHA1         0x00000001
#define CKG_MGF1_SHA256       0x00000002
#define CKG_MGF1_SHA384       0x00000003
#define CKG_MGF1_SHA512       0x00000004
/* SHA-224 is new for PKCS #11 v2.20 amendment 3 */
#define CKG_MGF1_SHA224       0x00000005

/* CK_RSA_PKCS_OAEP_SOURCE_TYPE is new for v2.10.
 * CK_RSA_PKCS_OAEP_SOURCE_TYPE  is used to indicate the source
 * of the encoding parameter when formatting a message block
 * for the PKCS #1 OAEP encryption scheme. */
typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE;

typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR;

/* The following encoding parameter sources are defined */
#define CKZ_DATA_SPECIFIED    0x00000001

/* CK_RSA_PKCS_OAEP_PARAMS is new for v2.10.
 * CK_RSA_PKCS_OAEP_PARAMS provides the parameters to the
 * CKM_RSA_PKCS_OAEP mechanism. */
typedef struct CK_RSA_PKCS_OAEP_PARAMS {
        CK_MECHANISM_TYPE hashAlg;
        CK_RSA_PKCS_MGF_TYPE mgf;
        CK_RSA_PKCS_OAEP_SOURCE_TYPE source;
        CK_VOID_PTR pSourceData;
        CK_ULONG ulSourceDataLen;
} CK_RSA_PKCS_OAEP_PARAMS;

typedef CK_RSA_PKCS_OAEP_PARAMS CK_PTR CK_RSA_PKCS_OAEP_PARAMS_PTR;

/* CK_RSA_PKCS_PSS_PARAMS is new for v2.11.
 * CK_RSA_PKCS_PSS_PARAMS provides the parameters to the
 * CKM_RSA_PKCS_PSS mechanism(s). */
typedef struct CK_RSA_PKCS_PSS_PARAMS {
        CK_MECHANISM_TYPE    hashAlg;
        CK_RSA_PKCS_MGF_TYPE mgf;
        CK_ULONG             sLen;
} CK_RSA_PKCS_PSS_PARAMS;

typedef CK_RSA_PKCS_PSS_PARAMS CK_PTR CK_RSA_PKCS_PSS_PARAMS_PTR;

/* CK_EC_KDF_TYPE is new for v2.11. */
typedef CK_ULONG CK_EC_KDF_TYPE;

/* The following EC Key Derivation Functions are defined */
#define CKD_NULL                 0x00000001
#define CKD_SHA1_KDF             0x00000002

/* CK_ECDH1_DERIVE_PARAMS is new for v2.11.
 * CK_ECDH1_DERIVE_PARAMS provides the parameters to the
 * CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE mechanisms,
 * where each party contributes one key pair.
 */
typedef struct CK_ECDH1_DERIVE_PARAMS {
  CK_EC_KDF_TYPE kdf;
  CK_ULONG ulSharedDataLen;
  CK_BYTE_PTR pSharedData;
  CK_ULONG ulPublicDataLen;
  CK_BYTE_PTR pPublicData;
} CK_ECDH1_DERIVE_PARAMS;

typedef CK_ECDH1_DERIVE_PARAMS CK_PTR CK_ECDH1_DERIVE_PARAMS_PTR;


/* CK_ECDH2_DERIVE_PARAMS is new for v2.11.
 * CK_ECDH2_DERIVE_PARAMS provides the parameters to the
 * CKM_ECMQV_DERIVE mechanism, where each party contributes two key pairs. */
typedef struct CK_ECDH2_DERIVE_PARAMS {
  CK_EC_KDF_TYPE kdf;
  CK_ULONG ulSharedDataLen;
  CK_BYTE_PTR pSharedData;
  CK_ULONG ulPublicDataLen;
  CK_BYTE_PTR pPublicData;
  CK_ULONG ulPrivateDataLen;
  CK_OBJECT_HANDLE hPrivateData;
  CK_ULONG ulPublicDataLen2;
  CK_BYTE_PTR pPublicData2;
} CK_ECDH2_DERIVE_PARAMS;

typedef CK_ECDH2_DERIVE_PARAMS CK_PTR CK_ECDH2_DERIVE_PARAMS_PTR;

typedef struct CK_ECMQV_DERIVE_PARAMS {
  CK_EC_KDF_TYPE kdf;
  CK_ULONG ulSharedDataLen;
  CK_BYTE_PTR pSharedData;
  CK_ULONG ulPublicDataLen;
  CK_BYTE_PTR pPublicData;
  CK_ULONG ulPrivateDataLen;
  CK_OBJECT_HANDLE hPrivateData;
  CK_ULONG ulPublicDataLen2;
  CK_BYTE_PTR pPublicData2;
  CK_OBJECT_HANDLE publicKey;
} CK_ECMQV_DERIVE_PARAMS;

typedef CK_ECMQV_DERIVE_PARAMS CK_PTR CK_ECMQV_DERIVE_PARAMS_PTR;

/* Typedefs and defines for the CKM_X9_42_DH_KEY_PAIR_GEN and the
 * CKM_X9_42_DH_PARAMETER_GEN mechanisms (new for PKCS #11 v2.11) */
typedef CK_ULONG CK_X9_42_DH_KDF_TYPE;
typedef CK_X9_42_DH_KDF_TYPE CK_PTR CK_X9_42_DH_KDF_TYPE_PTR;

/* The following X9.42 DH key derivation functions are defined
   (besides CKD_NULL already defined : */
#define CKD_SHA1_KDF_ASN1        0x00000003
#define CKD_SHA1_KDF_CONCATENATE 0x00000004

/* CK_X9_42_DH1_DERIVE_PARAMS is new for v2.11.
 * CK_X9_42_DH1_DERIVE_PARAMS provides the parameters to the
 * CKM_X9_42_DH_DERIVE key derivation mechanism, where each party
 * contributes one key pair */
typedef struct CK_X9_42_DH1_DERIVE_PARAMS {
  CK_X9_42_DH_KDF_TYPE kdf;
  CK_ULONG ulOtherInfoLen;
  CK_BYTE_PTR pOtherInfo;
  CK_ULONG ulPublicDataLen;
  CK_BYTE_PTR pPublicData;
} CK_X9_42_DH1_DERIVE_PARAMS;

typedef struct CK_X9_42_DH1_DERIVE_PARAMS CK_PTR CK_X9_42_DH1_DERIVE_PARAMS_PTR;

/* CK_X9_42_DH2_DERIVE_PARAMS is new for v2.11.
 * CK_X9_42_DH2_DERIVE_PARAMS provides the parameters to the
 * CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation
 * mechanisms, where each party contributes two key pairs */
typedef struct CK_X9_42_DH2_DERIVE_PARAMS {
  CK_X9_42_DH_KDF_TYPE kdf;
  CK_ULONG ulOtherInfoLen;
  CK_BYTE_PTR pOtherInfo;
  CK_ULONG ulPublicDataLen;
  CK_BYTE_PTR pPublicData;
  CK_ULONG ulPrivateDataLen;
  CK_OBJECT_HANDLE hPrivateData;
  CK_ULONG ulPublicDataLen2;
  CK_BYTE_PTR pPublicData2;
} CK_X9_42_DH2_DERIVE_PARAMS;

typedef CK_X9_42_DH2_DERIVE_PARAMS CK_PTR CK_X9_42_DH2_DERIVE_PARAMS_PTR;

typedef struct CK_X9_42_MQV_DERIVE_PARAMS {
  CK_X9_42_DH_KDF_TYPE kdf;
  CK_ULONG ulOtherInfoLen;
  CK_BYTE_PTR pOtherInfo;
  CK_ULONG ulPublicDataLen;
  CK_BYTE_PTR pPublicData;
  CK_ULONG ulPrivateDataLen;
  CK_OBJECT_HANDLE hPrivateData;
  CK_ULONG ulPublicDataLen2;
  CK_BYTE_PTR pPublicData2;
  CK_OBJECT_HANDLE publicKey;
} CK_X9_42_MQV_DERIVE_PARAMS;

typedef CK_X9_42_MQV_DERIVE_PARAMS CK_PTR CK_X9_42_MQV_DERIVE_PARAMS_PTR;

/* CK_KEA_DERIVE_PARAMS provides the parameters to the
 * CKM_KEA_DERIVE mechanism */
/* CK_KEA_DERIVE_PARAMS is new for v2.0 */
typedef struct CK_KEA_DERIVE_PARAMS {
  CK_BBOOL      isSender;
  CK_ULONG      ulRandomLen;
  CK_BYTE_PTR   pRandomA;
  CK_BYTE_PTR   pRandomB;
  CK_ULONG      ulPublicDataLen;
  CK_BYTE_PTR   pPublicData;
} CK_KEA_DERIVE_PARAMS;

typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR;


/* CK_RC2_PARAMS provides the parameters to the CKM_RC2_ECB and
 * CKM_RC2_MAC mechanisms.  An instance of CK_RC2_PARAMS just
 * holds the effective keysize */
typedef CK_ULONG          CK_RC2_PARAMS;

typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR;


/* CK_RC2_CBC_PARAMS provides the parameters to the CKM_RC2_CBC
 * mechanism */
typedef struct CK_RC2_CBC_PARAMS {
  /* ulEffectiveBits was changed from CK_USHORT to CK_ULONG for
   * v2.0 */
  CK_ULONG      ulEffectiveBits;  /* effective bits (1-1024) */

  CK_BYTE       iv[8];            /* IV for CBC mode */
} CK_RC2_CBC_PARAMS;

typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR;


/* CK_RC2_MAC_GENERAL_PARAMS provides the parameters for the
 * CKM_RC2_MAC_GENERAL mechanism */
/* CK_RC2_MAC_GENERAL_PARAMS is new for v2.0 */
typedef struct CK_RC2_MAC_GENERAL_PARAMS {
  CK_ULONG      ulEffectiveBits;  /* effective bits (1-1024) */
  CK_ULONG      ulMacLength;      /* Length of MAC in bytes */
} CK_RC2_MAC_GENERAL_PARAMS;

typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR \
  CK_RC2_MAC_GENERAL_PARAMS_PTR;


/* CK_RC5_PARAMS provides the parameters to the CKM_RC5_ECB and
 * CKM_RC5_MAC mechanisms */
/* CK_RC5_PARAMS is new for v2.0 */
typedef struct CK_RC5_PARAMS {
  CK_ULONG      ulWordsize;  /* wordsize in bits */
  CK_ULONG      ulRounds;    /* number of rounds */
} CK_RC5_PARAMS;

typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR;


/* CK_RC5_CBC_PARAMS provides the parameters to the CKM_RC5_CBC
 * mechanism */
/* CK_RC5_CBC_PARAMS is new for v2.0 */
typedef struct CK_RC5_CBC_PARAMS {
  CK_ULONG      ulWordsize;  /* wordsize in bits */
  CK_ULONG      ulRounds;    /* number of rounds */
  CK_BYTE_PTR   pIv;         /* pointer to IV */
  CK_ULONG      ulIvLen;     /* length of IV in bytes */
} CK_RC5_CBC_PARAMS;

typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR;


/* CK_RC5_MAC_GENERAL_PARAMS provides the parameters for the
 * CKM_RC5_MAC_GENERAL mechanism */
/* CK_RC5_MAC_GENERAL_PARAMS is new for v2.0 */
typedef struct CK_RC5_MAC_GENERAL_PARAMS {
  CK_ULONG      ulWordsize;   /* wordsize in bits */
  CK_ULONG      ulRounds;     /* number of rounds */
  CK_ULONG      ulMacLength;  /* Length of MAC in bytes */
} CK_RC5_MAC_GENERAL_PARAMS;

typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR \
  CK_RC5_MAC_GENERAL_PARAMS_PTR;


/* CK_MAC_GENERAL_PARAMS provides the parameters to most block
 * ciphers' MAC_GENERAL mechanisms.  Its value is the length of
 * the MAC */
/* CK_MAC_GENERAL_PARAMS is new for v2.0 */
typedef CK_ULONG          CK_MAC_GENERAL_PARAMS;

typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR;

/* CK_DES/AES_ECB/CBC_ENCRYPT_DATA_PARAMS are new for v2.20 */
typedef struct CK_DES_CBC_ENCRYPT_DATA_PARAMS {
  CK_BYTE      iv[8];
  CK_BYTE_PTR  pData;
  CK_ULONG     length;
} CK_DES_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_DES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR;

typedef struct CK_AES_CBC_ENCRYPT_DATA_PARAMS {
  CK_BYTE      iv[16];
  CK_BYTE_PTR  pData;
  CK_ULONG     length;
} CK_AES_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_AES_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR;

/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the
 * CKM_SKIPJACK_PRIVATE_WRAP mechanism */
/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS is new for v2.0 */
typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS {
  CK_ULONG      ulPasswordLen;
  CK_BYTE_PTR   pPassword;
  CK_ULONG      ulPublicDataLen;
  CK_BYTE_PTR   pPublicData;
  CK_ULONG      ulPAndGLen;
  CK_ULONG      ulQLen;
  CK_ULONG      ulRandomLen;
  CK_BYTE_PTR   pRandomA;
  CK_BYTE_PTR   pPrimeP;
  CK_BYTE_PTR   pBaseG;
  CK_BYTE_PTR   pSubprimeQ;
} CK_SKIPJACK_PRIVATE_WRAP_PARAMS;

typedef CK_SKIPJACK_PRIVATE_WRAP_PARAMS CK_PTR \
  CK_SKIPJACK_PRIVATE_WRAP_PTR;


/* CK_SKIPJACK_RELAYX_PARAMS provides the parameters to the
 * CKM_SKIPJACK_RELAYX mechanism */
/* CK_SKIPJACK_RELAYX_PARAMS is new for v2.0 */
typedef struct CK_SKIPJACK_RELAYX_PARAMS {
  CK_ULONG      ulOldWrappedXLen;
  CK_BYTE_PTR   pOldWrappedX;
  CK_ULONG      ulOldPasswordLen;
  CK_BYTE_PTR   pOldPassword;
  CK_ULONG      ulOldPublicDataLen;
  CK_BYTE_PTR   pOldPublicData;
  CK_ULONG      ulOldRandomLen;
  CK_BYTE_PTR   pOldRandomA;
  CK_ULONG      ulNewPasswordLen;
  CK_BYTE_PTR   pNewPassword;
  CK_ULONG      ulNewPublicDataLen;
  CK_BYTE_PTR   pNewPublicData;
  CK_ULONG      ulNewRandomLen;
  CK_BYTE_PTR   pNewRandomA;
} CK_SKIPJACK_RELAYX_PARAMS;

typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR \
  CK_SKIPJACK_RELAYX_PARAMS_PTR;


typedef struct CK_PBE_PARAMS {
  CK_BYTE_PTR      pInitVector;
  CK_UTF8CHAR_PTR  pPassword;
  CK_ULONG         ulPasswordLen;
  CK_BYTE_PTR      pSalt;
  CK_ULONG         ulSaltLen;
  CK_ULONG         ulIteration;
} CK_PBE_PARAMS;

typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR;


/* CK_KEY_WRAP_SET_OAEP_PARAMS provides the parameters to the
 * CKM_KEY_WRAP_SET_OAEP mechanism */
/* CK_KEY_WRAP_SET_OAEP_PARAMS is new for v2.0 */
typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS {
  CK_BYTE       bBC;     /* block contents byte */
  CK_BYTE_PTR   pX;      /* extra data */
  CK_ULONG      ulXLen;  /* length of extra data in bytes */
} CK_KEY_WRAP_SET_OAEP_PARAMS;

typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR \
  CK_KEY_WRAP_SET_OAEP_PARAMS_PTR;


typedef struct CK_SSL3_RANDOM_DATA {
  CK_BYTE_PTR  pClientRandom;
  CK_ULONG     ulClientRandomLen;
  CK_BYTE_PTR  pServerRandom;
  CK_ULONG     ulServerRandomLen;
} CK_SSL3_RANDOM_DATA;


typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS {
  CK_SSL3_RANDOM_DATA RandomInfo;
  CK_VERSION_PTR pVersion;
} CK_SSL3_MASTER_KEY_DERIVE_PARAMS;

typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR \
  CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR;


typedef struct CK_SSL3_KEY_MAT_OUT {
  CK_OBJECT_HANDLE hClientMacSecret;
  CK_OBJECT_HANDLE hServerMacSecret;
  CK_OBJECT_HANDLE hClientKey;
  CK_OBJECT_HANDLE hServerKey;
  CK_BYTE_PTR      pIVClient;
  CK_BYTE_PTR      pIVServer;
} CK_SSL3_KEY_MAT_OUT;

typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR;


typedef struct CK_SSL3_KEY_MAT_PARAMS {
  CK_ULONG                ulMacSizeInBits;
  CK_ULONG                ulKeySizeInBits;
  CK_ULONG                ulIVSizeInBits;
  CK_BBOOL                bIsExport;
  CK_SSL3_RANDOM_DATA     RandomInfo;
  CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
} CK_SSL3_KEY_MAT_PARAMS;

typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR;

/* CK_TLS_PRF_PARAMS is new for version 2.20 */
typedef struct CK_TLS_PRF_PARAMS {
  CK_BYTE_PTR  pSeed;
  CK_ULONG     ulSeedLen;
  CK_BYTE_PTR  pLabel;
  CK_ULONG     ulLabelLen;
  CK_BYTE_PTR  pOutput;
  CK_ULONG_PTR pulOutputLen;
} CK_TLS_PRF_PARAMS;

typedef CK_TLS_PRF_PARAMS CK_PTR CK_TLS_PRF_PARAMS_PTR;

/* WTLS is new for version 2.20 */
typedef struct CK_WTLS_RANDOM_DATA {
  CK_BYTE_PTR pClientRandom;
  CK_ULONG    ulClientRandomLen;
  CK_BYTE_PTR pServerRandom;
  CK_ULONG    ulServerRandomLen;
} CK_WTLS_RANDOM_DATA;

typedef CK_WTLS_RANDOM_DATA CK_PTR CK_WTLS_RANDOM_DATA_PTR;

typedef struct CK_WTLS_MASTER_KEY_DERIVE_PARAMS {
  CK_MECHANISM_TYPE   DigestMechanism;
  CK_WTLS_RANDOM_DATA RandomInfo;
  CK_BYTE_PTR         pVersion;
} CK_WTLS_MASTER_KEY_DERIVE_PARAMS;

typedef CK_WTLS_MASTER_KEY_DERIVE_PARAMS CK_PTR \
  CK_WTLS_MASTER_KEY_DERIVE_PARAMS_PTR;

typedef struct CK_WTLS_PRF_PARAMS {
  CK_MECHANISM_TYPE DigestMechanism;
  CK_BYTE_PTR       pSeed;
  CK_ULONG          ulSeedLen;
  CK_BYTE_PTR       pLabel;
  CK_ULONG          ulLabelLen;
  CK_BYTE_PTR       pOutput;
  CK_ULONG_PTR      pulOutputLen;
} CK_WTLS_PRF_PARAMS;

typedef CK_WTLS_PRF_PARAMS CK_PTR CK_WTLS_PRF_PARAMS_PTR;

typedef struct CK_WTLS_KEY_MAT_OUT {
  CK_OBJECT_HANDLE hMacSecret;
  CK_OBJECT_HANDLE hKey;
  CK_BYTE_PTR      pIV;
} CK_WTLS_KEY_MAT_OUT;

typedef CK_WTLS_KEY_MAT_OUT CK_PTR CK_WTLS_KEY_MAT_OUT_PTR;

typedef struct CK_WTLS_KEY_MAT_PARAMS {
  CK_MECHANISM_TYPE       DigestMechanism;
  CK_ULONG                ulMacSizeInBits;
  CK_ULONG                ulKeySizeInBits;
  CK_ULONG                ulIVSizeInBits;
  CK_ULONG                ulSequenceNumber;
  CK_BBOOL                bIsExport;
  CK_WTLS_RANDOM_DATA     RandomInfo;
  CK_WTLS_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
} CK_WTLS_KEY_MAT_PARAMS;

typedef CK_WTLS_KEY_MAT_PARAMS CK_PTR CK_WTLS_KEY_MAT_PARAMS_PTR;

/* CMS is new for version 2.20 */
typedef struct CK_CMS_SIG_PARAMS {
  CK_OBJECT_HANDLE      certificateHandle;
  CK_MECHANISM_PTR      pSigningMechanism;
  CK_MECHANISM_PTR      pDigestMechanism;
  CK_UTF8CHAR_PTR       pContentType;
  CK_BYTE_PTR           pRequestedAttributes;
  CK_ULONG              ulRequestedAttributesLen;
  CK_BYTE_PTR           pRequiredAttributes;
  CK_ULONG              ulRequiredAttributesLen;
} CK_CMS_SIG_PARAMS;

typedef CK_CMS_SIG_PARAMS CK_PTR CK_CMS_SIG_PARAMS_PTR;

typedef struct CK_KEY_DERIVATION_STRING_DATA {
  CK_BYTE_PTR pData;
  CK_ULONG    ulLen;
} CK_KEY_DERIVATION_STRING_DATA;

typedef CK_KEY_DERIVATION_STRING_DATA CK_PTR \
  CK_KEY_DERIVATION_STRING_DATA_PTR;


/* The CK_EXTRACT_PARAMS is used for the
 * CKM_EXTRACT_KEY_FROM_KEY mechanism.  It specifies which bit
 * of the base key should be used as the first bit of the
 * derived key */
/* CK_EXTRACT_PARAMS is new for v2.0 */
typedef CK_ULONG CK_EXTRACT_PARAMS;

typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR;

/* CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is new for v2.10.
 * CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is used to
 * indicate the Pseudo-Random Function (PRF) used to generate
 * key bits using PKCS #5 PBKDF2. */
typedef CK_ULONG CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE;

typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR;

/* The following PRFs are defined in PKCS #5 v2.0. */
#define CKP_PKCS5_PBKD2_HMAC_SHA1 0x00000001


/* CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is new for v2.10.
 * CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is used to indicate the
 * source of the salt value when deriving a key using PKCS #5
 * PBKDF2. */
typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE;

typedef CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE CK_PTR CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR;

/* The following salt value sources are defined in PKCS #5 v2.0. */
#define CKZ_SALT_SPECIFIED        0x00000001

/* CK_PKCS5_PBKD2_PARAMS is new for v2.10.
 * CK_PKCS5_PBKD2_PARAMS is a structure that provides the
 * parameters to the CKM_PKCS5_PBKD2 mechanism. */
typedef struct CK_PKCS5_PBKD2_PARAMS {
        CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE           saltSource;
        CK_VOID_PTR                                pSaltSourceData;
        CK_ULONG                                   ulSaltSourceDataLen;
        CK_ULONG                                   iterations;
        CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf;
        CK_VOID_PTR                                pPrfData;
        CK_ULONG                                   ulPrfDataLen;
        CK_UTF8CHAR_PTR                            pPassword;
        CK_ULONG_PTR                               ulPasswordLen;
} CK_PKCS5_PBKD2_PARAMS;

typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR;

/* All CK_OTP structs are new for PKCS #11 v2.20 amendment 3 */

typedef CK_ULONG CK_OTP_PARAM_TYPE;
typedef CK_OTP_PARAM_TYPE CK_PARAM_TYPE; /* B/w compatibility */

typedef struct CK_OTP_PARAM {
    CK_OTP_PARAM_TYPE type;
    CK_VOID_PTR pValue;
    CK_ULONG ulValueLen;
} CK_OTP_PARAM;

typedef CK_OTP_PARAM CK_PTR CK_OTP_PARAM_PTR;

typedef struct CK_OTP_PARAMS {
    CK_OTP_PARAM_PTR pParams;
    CK_ULONG ulCount;
} CK_OTP_PARAMS;

typedef CK_OTP_PARAMS CK_PTR CK_OTP_PARAMS_PTR;

typedef struct CK_OTP_SIGNATURE_INFO {
    CK_OTP_PARAM_PTR pParams;
    CK_ULONG ulCount;
} CK_OTP_SIGNATURE_INFO;

typedef CK_OTP_SIGNATURE_INFO CK_PTR CK_OTP_SIGNATURE_INFO_PTR;

/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1 */
#define CK_OTP_VALUE          0
#define CK_OTP_PIN            1
#define CK_OTP_CHALLENGE      2
#define CK_OTP_TIME           3
#define CK_OTP_COUNTER        4
#define CK_OTP_FLAGS          5
#define CK_OTP_OUTPUT_LENGTH  6
#define CK_OTP_OUTPUT_FORMAT  7

/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1 */
#define CKF_NEXT_OTP          0x00000001
#define CKF_EXCLUDE_TIME      0x00000002
#define CKF_EXCLUDE_COUNTER   0x00000004
#define CKF_EXCLUDE_CHALLENGE 0x00000008
#define CKF_EXCLUDE_PIN       0x00000010
#define CKF_USER_FRIENDLY_OTP 0x00000020

/* CK_KIP_PARAMS is new for PKCS #11 v2.20 amendment 2 */
typedef struct CK_KIP_PARAMS {
    CK_MECHANISM_PTR  pMechanism;
    CK_OBJECT_HANDLE  hKey;
    CK_BYTE_PTR       pSeed;
    CK_ULONG          ulSeedLen;
} CK_KIP_PARAMS;

typedef CK_KIP_PARAMS CK_PTR CK_KIP_PARAMS_PTR;

/* CK_AES_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */
typedef struct CK_AES_CTR_PARAMS {
    CK_ULONG ulCounterBits;
    CK_BYTE cb[16];
} CK_AES_CTR_PARAMS;

typedef CK_AES_CTR_PARAMS CK_PTR CK_AES_CTR_PARAMS_PTR;

/* CK_CAMELLIA_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */
typedef struct CK_CAMELLIA_CTR_PARAMS {
    CK_ULONG ulCounterBits;
    CK_BYTE cb[16];
} CK_CAMELLIA_CTR_PARAMS;

typedef CK_CAMELLIA_CTR_PARAMS CK_PTR CK_CAMELLIA_CTR_PARAMS_PTR;

/* CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */
typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS {
    CK_BYTE      iv[16];
    CK_BYTE_PTR  pData;
    CK_ULONG     length;
} CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR;

/* CK_ARIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */
typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS {
    CK_BYTE      iv[16];
    CK_BYTE_PTR  pData;
    CK_ULONG     length;
} CK_ARIA_CBC_ENCRYPT_DATA_PARAMS;

typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR;

#endif

realcrypt-6.2a-rebranding.patch:

--- NEW FILE realcrypt-6.2a-rebranding.patch ---
--- truecrypt-6.2a-source/Common/Language.xml	2008-07-08 08:00:30.000000000 -0700
+++ truecrypt-6.2a-source/Common/Language.xml.new	2008-08-05 16:18:22.000000000 -0700
@@ -12,20 +12,20 @@
     <control lang="en" key="IDCANCEL">Cancel</control>
     <control lang="en" key="IDC_ALL_USERS">Install &amp;for all users</control>
     <control lang="en" key="IDC_BROWSE">Bro&amp;wse...</control>
-    <control lang="en" key="IDC_DESKTOP_ICON">Add TrueCrypt icon to &amp;desktop</control>
-    <control lang="en" key="IDC_FILE_TYPE">Associate the .tc file &amp;extension with TrueCrypt</control>
+    <control lang="en" key="IDC_DESKTOP_ICON">Add RealCrypt icon to &amp;desktop</control>
+    <control lang="en" key="IDC_FILE_TYPE">Associate the .tc file &amp;extension with RealCrypt</control>
     <control lang="en" key="IDC_OPEN_CONTAINING_FOLDER">&amp;Open the destination location when finished</control>
-    <control lang="en" key="IDC_PROG_GROUP">Add TrueCrypt to &amp;Start menu</control>
+    <control lang="en" key="IDC_PROG_GROUP">Add RealCrypt to &amp;Start menu</control>
     <control lang="en" key="IDC_SYSTEM_RESTORE">Create System &amp;Restore point</control>
     <control lang="en" key="IDC_UNINSTALL">&amp;Uninstall</control>
     <control lang="en" key="IDC_WIZARD_MODE_EXTRACT_ONLY">&amp;Extract</control>
     <control lang="en" key="IDC_WIZARD_MODE_INSTALL">&amp;Install</control>
-    <control lang="en" key="IDD_INSTL_DLG">TrueCrypt Setup Wizard</control>
-    <control lang="en" key="IDD_UNINSTALL">Uninstall TrueCrypt</control>
+    <control lang="en" key="IDD_INSTL_DLG">RealCrypt Setup Wizard</control>
+    <control lang="en" key="IDD_UNINSTALL">Uninstall RealCrypt</control>
     <control lang="en" key="IDHELP">&amp;Help</control>
     <control lang="en" key="IDT_EXTRACT_DESTINATION">Please select or type the location where you want to place the extracted files:</control>
-    <control lang="en" key="IDT_INSTALL_DESTINATION">Please select or type the location where you want to install the TrueCrypt program files. If the specified folder does not exist, it will be automatically created.</control>
-    <control lang="en" key="IDT_UNINSTALL_DIR">Click Uninstall to remove TrueCrypt from this system.</control>
+    <control lang="en" key="IDT_INSTALL_DESTINATION">Please select or type the location where you want to install the RealCrypt program files. If the specified folder does not exist, it will be automatically created.</control>
+    <control lang="en" key="IDT_UNINSTALL_DIR">Click Uninstall to remove RealCrypt from this system.</control>
     <control lang="en" key="IDC_ABORT_BUTTON">Abort</control>
     <control lang="en" key="IDC_CIPHER_TEST">&amp;Test</control>
     <control lang="en" key="IDC_DEVICE_TRANSFORM_MODE_FORMAT">Create encrypted volume and format it</control>
@@ -36,7 +36,7 @@
     <control lang="en" key="IDC_FILE_CONTAINER">Create an encrypted file container</control>
     <control lang="en" key="IDC_GB">&amp;GB</control>
     <control lang="en" key="IDC_HIDDEN_SYSENC_INFO_LINK">More information</control>
-    <control lang="en" key="IDC_HIDDEN_VOL">Hi&amp;dden TrueCrypt volume </control>
+    <control lang="en" key="IDC_HIDDEN_VOL">Hi&amp;dden RealCrypt volume </control>
     <control lang="en" key="IDC_HIDDEN_VOL_HELP">More information about hidden volumes</control>
     <control lang="en" key="IDC_HIDVOL_WIZ_MODE_DIRECT">Direct mode</control>
     <control lang="en" key="IDC_HIDVOL_WIZ_MODE_FULL">Normal mode</control>
@@ -58,14 +58,14 @@
     <control lang="en" key="IDC_SHOW_PASSWORD">&amp;Display password</control>
     <control lang="en" key="IDC_SHOW_PASSWORD_SINGLE">&amp;Display password</control>
     <control lang="en" key="IDC_SINGLE_BOOT">Single-boot</control>
-    <control lang="en" key="IDC_STD_VOL">Standard TrueCrypt volume</control>
+    <control lang="en" key="IDC_STD_VOL">Standard RealCrypt volume</control>
     <control lang="en" key="IDC_SYSENC_HIDDEN">Hi&amp;dden</control>
     <control lang="en" key="IDC_SYSENC_NORMAL">Normal</control>
     <control lang="en" key="IDC_SYS_DEVICE">Encrypt the system partition or entire system drive</control>
     <control lang="en" key="IDC_SYS_PARTITION">Encrypt the Windows system partition</control>
     <control lang="en" key="IDC_WHOLE_SYS_DRIVE">Encrypt the whole drive</control>
     <control lang="en" key="IDC_WIZ_BENCHMARK">&amp;Benchmark</control>
-    <control lang="en" key="IDD_VOL_CREATION_WIZARD_DLG">TrueCrypt Volume Creation Wizard</control>
+    <control lang="en" key="IDD_VOL_CREATION_WIZARD_DLG">RealCrypt Volume Creation Wizard</control>
     <control lang="en" key="IDT_CLUSTER">Cluster </control>
     <control lang="en" key="IDT_COLLECTING_RANDOM_DATA_NOTE">IMPORTANT: Move your mouse as randomly as possible within this window. The longer you move it, the better. This significantly increases the cryptographic strength of the encryption keys. Then click Next to continue.</control>
     <control lang="en" key="IDT_CONFIRM">&amp;Confirm:</control>
@@ -95,8 +95,8 @@
     <control lang="en" key="IDCLOSE">Close</control>
     <control lang="en" key="IDC_ALLOW_ESC_PBA_BYPASS">Allow pre-boot &amp;authentication to be bypassed by pressing the Esc key (enables boot manager)</control>
     <control lang="en" key="IDC_AUTORUN_DISABLE">Do nothing</control>
-    <control lang="en" key="IDC_AUTORUN_MOUNT">&amp;Auto-mount TrueCrypt volume (specified below)</control>
-    <control lang="en" key="IDC_AUTORUN_START">&amp;Start TrueCrypt</control>
+    <control lang="en" key="IDC_AUTORUN_MOUNT">&amp;Auto-mount RealCrypt volume (specified below)</control>
+    <control lang="en" key="IDC_AUTORUN_START">&amp;Start RealCrypt</control>
     <control lang="en" key="IDC_AUTO_DETECT_PKCS11_MODULE">Auto-&amp;Detect Library</control>
     <control lang="en" key="IDC_BOOT_LOADER_CACHE_PASSWORD">&amp;Cache pre-boot authentication password in driver memory (for mounting of non-system volumes)</control>
     <control lang="en" key="IDC_BROWSE_DIRS">Browse...</control>
@@ -104,7 +104,7 @@
     <control lang="en" key="IDC_CACHE">Cache passwords and keyfil&amp;es in memory</control>
     <control lang="en" key="IDC_CLOSE_BKG_TASK_WHEN_NOVOL">Exit when there are no mounted volumes</control>
     <control lang="en" key="IDC_CLOSE_TOKEN_SESSION_AFTER_MOUNT">&amp;Close token session (log out) after a volume is successfully mounted</control>
-    <control lang="en" key="IDC_COPY_WIZARD">Include TrueCrypt Volume Creation Wizard</control>
+    <control lang="en" key="IDC_COPY_WIZARD">Include RealCrypt Volume Creation Wizard</control>
     <control lang="en" key="IDC_CREATE">Create</control>
     <control lang="en" key="IDC_CREATE_VOLUME">&amp;Create Volume</control>
     <control lang="en" key="IDC_DISABLE_BOOT_LOADER_OUTPUT">Do not &amp;show any texts in the pre-boot authentication screen (except the below custom message)</control>
@@ -133,9 +133,9 @@
     <control lang="en" key="IDC_PREF_DISMOUNT_POWERSAVING">Entering power saving mode</control>
     <control lang="en" key="IDC_PREF_DISMOUNT_SCREENSAVER">Screen saver is launched</control>
     <control lang="en" key="IDC_PREF_FORCE_AUTO_DISMOUNT">Force auto-dismount even if volume contains open files or directories</control>
-    <control lang="en" key="IDC_PREF_LOGON_MOUNT_DEVICES">Mount all device-hosted TrueCrypt volumes</control>
+    <control lang="en" key="IDC_PREF_LOGON_MOUNT_DEVICES">Mount all device-hosted RealCrypt volumes</control>
     <control lang="en" key="IDC_PREF_LOGON_MOUNT_FAVORITES">Mount favorite volumes</control>
-    <control lang="en" key="IDC_PREF_LOGON_START">Start TrueCrypt Background Task</control>
+    <control lang="en" key="IDC_PREF_LOGON_START">Start RealCrypt Background Task</control>
     <control lang="en" key="IDC_PREF_MOUNT_READONLY">Mount volumes as read-only</control>
     <control lang="en" key="IDC_PREF_MOUNT_REMOVABLE">Mount volumes as removable media</control>
     <control lang="en" key="IDC_PREF_OPEN_EXPLORER">Open Explorer window for successfully mounted volume</control>
@@ -154,15 +154,15 @@
     <control lang="en" key="IDC_VOLUME_PROPERTIES">&amp;Volume Properties...</control>
     <control lang="en" key="IDC_VOLUME_TOOLS">Volume &amp;Tools...</control>
     <control lang="en" key="IDC_WIPE_CACHE">&amp;Wipe Cache</control>
-    <control lang="en" key="IDD_HOTKEYS_DLG">TrueCrypt - System-Wide Hot Keys</control>
-    <control lang="en" key="IDD_MOUNT_DLG">TrueCrypt</control>
+    <control lang="en" key="IDD_HOTKEYS_DLG">RealCrypt - System-Wide Hot Keys</control>
+    <control lang="en" key="IDD_MOUNT_DLG">RealCrypt</control>
     <control lang="en" key="IDD_PASSWORDCHANGE_DLG">Change Password or Keyfiles</control>
-    <control lang="en" key="IDD_PASSWORD_DLG">Enter TrueCrypt Volume Password</control>
-    <control lang="en" key="IDD_PREFERENCES_DLG">TrueCrypt - Preferences</control>
-    <control lang="en" key="IDD_SYSENC_SETTINGS">TrueCrypt - System Encryption Settings</control>
-    <control lang="en" key="IDD_TOKEN_PREFERENCES">TrueCrypt - Security Token Preferences</control>
-    <control lang="en" key="IDD_TRAVELER_DLG">TrueCrypt Traveler Disk Setup</control>
-    <control lang="en" key="IDD_VOLUME_PROPERTIES">TrueCrypt Volume Properties</control>
+    <control lang="en" key="IDD_PASSWORD_DLG">Enter RealCrypt Volume Password</control>
+    <control lang="en" key="IDD_PREFERENCES_DLG">RealCrypt - Preferences</control>
+    <control lang="en" key="IDD_SYSENC_SETTINGS">RealCrypt - System Encryption Settings</control>
+    <control lang="en" key="IDD_TOKEN_PREFERENCES">RealCrypt - Security Token Preferences</control>
+    <control lang="en" key="IDD_TRAVELER_DLG">RealCrypt Traveler Disk Setup</control>
+    <control lang="en" key="IDD_VOLUME_PROPERTIES">RealCrypt Volume Properties</control>
     <control lang="en" key="IDM_ABOUT">About...</control>
     <control lang="en" key="IDM_ADD_REMOVE_VOL_KEYFILES">Add/Remove Keyfiles to/from Volume...</control>
     <control lang="en" key="IDM_BACKUP_VOL_HEADER">Backup Volume Header...</control>
@@ -223,7 +223,7 @@
     <control lang="en" key="IDM_VERSION_HISTORY">Version History</control>
     <control lang="en" key="IDM_VOLUME_PROPERTIES">Volume Properties</control>
     <control lang="en" key="IDM_VOLUME_WIZARD">Volume Creation Wizard</control>
-    <control lang="en" key="IDM_WEBSITE">TrueCrypt Website</control>
+    <control lang="en" key="IDM_WEBSITE">RealCrypt Website</control>
     <control lang="en" key="IDM_WIPE_CACHE">Wipe Cached Passwords</control>
     <control lang="en" key="IDOK">OK</control>
     <control lang="en" key="IDT_ASSIGN_HOTKEY">Shortcut</control>
@@ -248,8 +248,8 @@
     <control lang="en" key="IDT_PKCS5_PRF">PKCS-5 PRF:</control>
     <control lang="en" key="IDT_PW_CACHE_OPTIONS">Password Cache</control>
     <control lang="en" key="IDT_SECURITY_OPTIONS">Security Options</control>
-    <control lang="en" key="IDT_TASKBAR_ICON">TrueCrypt Background Task</control>
-    <control lang="en" key="IDT_TRAVELER_MOUNT">TrueCrypt volume to mount (relative to traveler disk root):</control>
+    <control lang="en" key="IDT_TASKBAR_ICON">RealCrypt Background Task</control>
+    <control lang="en" key="IDT_TRAVELER_MOUNT">RealCrypt volume to mount (relative to traveler disk root):</control>
     <control lang="en" key="IDT_TRAVEL_INSERTION">Upon insertion of traveler disk: </control>
     <control lang="en" key="IDT_TRAVEL_ROOT">Create traveler disk files at (traveler disk root directory):</control>
     <control lang="en" key="IDT_VOLUME">Volume</control>
@@ -283,16 +283,16 @@
     <control lang="en" key="IDC_TOKEN_FILES_ADD">Add &amp;Token Files...</control>
     <control lang="en" key="IDC_USE_EMBEDDED_HEADER_BAK">Use backup header embedded in &amp;volume if available</control>
     <control lang="en" key="IDC_XTS_MODE_ENABLED">XTS mode</control>
-    <control lang="en" key="IDD_ABOUT_DLG">About TrueCrypt</control>
-    <control lang="en" key="IDD_BENCHMARK_DLG">TrueCrypt - Encryption Algorithm Benchmark</control>
-    <control lang="en" key="IDD_CIPHER_TEST_DLG">TrueCrypt - Test Vectors</control>
+    <control lang="en" key="IDD_ABOUT_DLG">About RealCrypt</control>
+    <control lang="en" key="IDD_BENCHMARK_DLG">RealCrypt - Encryption Algorithm Benchmark</control>
+    <control lang="en" key="IDD_CIPHER_TEST_DLG">RealCrypt - Test Vectors</control>
     <control lang="en" key="IDD_COMMANDHELP_DLG">Command Line Help</control>
-    <control lang="en" key="IDD_KEYFILES">TrueCrypt - Keyfiles</control>
-    <control lang="en" key="IDD_KEYFILE_GENERATOR">TrueCrypt - Keyfile Generator</control>
-    <control lang="en" key="IDD_LANGUAGE">TrueCrypt - Language</control>
-    <control lang="en" key="IDD_MOUNT_OPTIONS">TrueCrypt - Mount Options</control>
+    <control lang="en" key="IDD_KEYFILES">RealCrypt - Keyfiles</control>
+    <control lang="en" key="IDD_KEYFILE_GENERATOR">RealCrypt - Keyfile Generator</control>
+    <control lang="en" key="IDD_LANGUAGE">RealCrypt - Language</control>
+    <control lang="en" key="IDD_MOUNT_OPTIONS">RealCrypt - Mount Options</control>
     <control lang="en" key="IDD_NEW_TOKEN_KEYFILE">New Security Token Keyfile Properties</control>
-    <control lang="en" key="IDD_RANDOM_POOL_ENRICHMENT">TrueCrypt - Random Pool Enrichment</control>
+    <control lang="en" key="IDD_RANDOM_POOL_ENRICHMENT">RealCrypt - Random Pool Enrichment</control>
     <control lang="en" key="IDD_RAWDEVICES_DLG">Select a Partition or Device</control>
     <control lang="en" key="IDD_TOKEN_KEYFILES">Security Token Keyfiles</control>
     <control lang="en" key="IDD_TOKEN_PASSWORD">Security token password/PIN required</control>
@@ -330,7 +330,7 @@
     <control lang="en" key="IDD_PCDM_REMOVE_ALL_KEYFILES_FROM_VOL">Remove All Keyfiles from Volume</control>
     <control lang="en" key="IDT_EXPLORER_OPTIONS">Windows Explorer</control>
     <control lang="en" key="IDC_BROWSE_KEYFILES">Browse...</control>
-    <control lang="en" key="IDD_KEYFILE_GENERATOR_DLG">TrueCrypt - Keyfile Generator</control>
+    <control lang="en" key="IDD_KEYFILE_GENERATOR_DLG">RealCrypt - Keyfile Generator</control>
     <control lang="en" key="MENU_SYSTEM_ENCRYPTION">S&amp;ystem</control>
     <control lang="en" key="MENU_VOLUMES">&amp;Volumes</control>
     <control lang="en" key="MENU_KEYFILES">&amp;Keyfiles</control>
@@ -342,15 +342,15 @@
     <string lang="en" key="ABOUTBOX">&amp;About...</string>
     <string lang="en" key="ACCESSMODEFAIL">The read-only attribute on your old volume could not be changed. Please check the file access permissions.</string>
     <string lang="en" key="ACCESS_DENIED">Error: Access denied.\n\nThe partition you are trying to access is either 0 sectors long, or it is the boot device.</string>
-    <string lang="en" key="ADMIN_PRIVILEGES_DRIVER">In order to load the TrueCrypt driver, you need to be logged into an account with administrator privileges.</string>
+    <string lang="en" key="ADMIN_PRIVILEGES_DRIVER">In order to load the RealCrypt driver, you need to be logged into an account with administrator privileges.</string>
     <string lang="en" key="ADMIN_PRIVILEGES_WARN_DEVICES">Please note that in order to encrypt/format a partition/device you need to be logged into an account with administrator privileges.\n\nThis does not apply to file-hosted volumes.</string>
     <string lang="en" key="ADMIN_PRIVILEGES_WARN_HIDVOL">In order to create a hidden volume you need to be logged into an account with administrator privileges.\n\nContinue?</string>
     <string lang="en" key="ADMIN_PRIVILEGES_WARN_NTFS">Please note that in order to format the volume as NTFS you need to be logged into an account with administrator privileges.\n\nWithout administrator privileges, you can format the volume as FAT.</string>
     <string lang="en" key="AES_HELP">FIPS-approved cipher (Rijndael, published in 1998) that may be used by U.S. government departments and agencies to protect classified information up to the Top Secret level. 256-bit key, 128-bit block, 14 rounds (AES-256). Mode of operation is XTS.</string>
     <string lang="en" key="ALREADY_MOUNTED">Volume is already mounted.</string>
-    <string lang="en" key="ERR_SELF_TESTS_FAILED">CAUTION: At least one encryption or hash algorithm failed the built-in automatic self-tests!\n\nTrueCrypt installation may be corrupted.</string>
+    <string lang="en" key="ERR_SELF_TESTS_FAILED">CAUTION: At least one encryption or hash algorithm failed the built-in automatic self-tests!\n\nRealCrypt installation may be corrupted.</string>
     <string lang="en" key="ERR_NOT_ENOUGH_RANDOM_DATA">CAUTION: There is not enough data in the Random Number Generator pool to provide the requested amount of random data.\n\nYou should not proceed any further. Please select 'Report a Bug' from the Help menu, and report this error.</string>
-    <string lang="en" key="ERR_HARDWARE_ERROR">The drive is damaged (there is a physical defect on it) or a cable is damaged, or the memory is malfunctioning.\n\nPlease note that this is a problem with your hardware, not with TrueCrypt. Therefore, please do NOT report this as a bug/problem in TrueCrypt and please do NOT ask for help with this in the TrueCrypt Forums. Please contact your computer vendor's technical support team for assistance. Thank you.\n\nNote: If the error occurs repeatedly at the same place, it is very likely caused by a bad disk block, which should be possible to correct using third-party software (note that, in many cases, the 'chkdsk /r' command cannot correct it because it works only at the filesystem level; in some cases, the 'chkdsk' tool cannot even detect it).</string>
+    <string lang="en" key="ERR_HARDWARE_ERROR">The drive is damaged (there is a physical defect on it) or a cable is damaged, or the memory is malfunctioning.\n\nPlease note that this is a problem with your hardware, not with RealCrypt. Therefore, please do NOT report this as a bug/problem in RealCrypt and please do NOT ask for help with this in the RealCrypt Forums. Please contact your computer vendor's technical support team for assistance. Thank you.\n\nNote: If the error occurs repeatedly at the same place, it is very likely caused by a bad disk block, which should be possible to correct using third-party software (note that, in many cases, the 'chkdsk /r' command cannot correct it because it works only at the filesystem level; in some cases, the 'chkdsk' tool cannot even detect it).</string>
     <string lang="en" key="WHOLE_DRIVE_ENCRYPTION_PREVENTED_BY_DRIVERS">Your system appears to be using custom chipset drivers containing a bug that prevents encryption of the whole system drive.\n\nPlease try updating or uninstalling any custom (non-Microsoft) chipset drivers before proceeding. If it does not help, try encrypting the system partition only.</string>
     <string lang="en" key="BAD_DRIVE_LETTER">Invalid drive letter.</string>
     <string lang="en" key="INVALID_PATH">Invalid path.</string>
@@ -359,13 +359,13 @@
     <string lang="en" key="CAPSLOCK_ON">Warning: Caps Lock is on. This may cause you to enter your password incorrectly.</string>
     <string lang="en" key="VOLUME_TYPE_TITLE">Volume Type</string>
     <string lang="en" key="HIDDEN_VOLUME_TYPE_HELP">It may happen that you are forced by somebody to reveal the password to an encrypted volume. There are many situations where you cannot refuse to reveal the password (for example, due to extortion). Using a so-called hidden volume allows you to solve such situations without revealing the password to your volume.</string>
-    <string lang="en" key="NORMAL_VOLUME_TYPE_HELP">Select this option if you want to create a normal TrueCrypt volume.</string>
+    <string lang="en" key="NORMAL_VOLUME_TYPE_HELP">Select this option if you want to create a normal RealCrypt volume.</string>
     <string lang="en" key="HIDDEN_OS_PRECLUDES_SINGLE_KEY_WDE">Please note that if you wish an operating system to be installed in a hidden partition-hosted volume, then the entire system drive cannot be encrypted using a single key.</string>
     <string lang="en" key="CIPHER_HIDVOL_HOST_TITLE">Outer Volume Encryption Options</string>
     <string lang="en" key="CIPHER_HIDVOL_TITLE">Hidden Volume Encryption Options</string>
     <string lang="en" key="CIPHER_TITLE">Encryption Options</string>
     <string lang="en" key="CLEAN_WINMRU_FAILED">WARNING: Failed to clear the path of the last selected volume/keyfile (remembered by file selector)!</string>
-    <string lang="en" key="COMPRESSION_NOT_SUPPORTED">Error: The container has been compressed at the filesystem level. TrueCrypt does not support compressed containers (note that compression of encrypted data is ineffective and redundant).\n\nPlease disable compression for the container by following these steps:\n1) Right-click the container in Windows Explorer (not in TrueCrypt).\n2) Select 'Properties'.\n3) In the 'Properties' dialog box, click 'Advanced'.\n4) In the 'Advanced Attributes' dialog box, disable the option 'Compress contents to save disk space' and click 'OK'.\n5) In the 'Properties' dialog box, click 'OK'.</string>
+    <string lang="en" key="COMPRESSION_NOT_SUPPORTED">Error: The container has been compressed at the filesystem level. RealCrypt does not support compressed containers (note that compression of encrypted data is ineffective and redundant).\n\nPlease disable compression for the container by following these steps:\n1) Right-click the container in Windows Explorer (not in RealCrypt).\n2) Select 'Properties'.\n3) In the 'Properties' dialog box, click 'Advanced'.\n4) In the 'Advanced Attributes' dialog box, disable the option 'Compress contents to save disk space' and click 'OK'.\n5) In the 'Properties' dialog box, click 'OK'.</string>
     <string lang="en" key="CREATE_FAILED">Failed to create volume %hs</string>
     <string lang="en" key="DEVICE_FREE_BYTES">Size of %hs is %.2f bytes</string>
     <string lang="en" key="DEVICE_FREE_KB">Size of %hs is %.2f KB</string>
@@ -375,20 +375,20 @@
     <string lang="en" key="DEVICE_FREE_PB">Size of %hs is %.2f PB</string>
     <string lang="en" key="DEVICE_IN_USE_FORMAT">WARNING: The device/partition is in use by the operating system or applications. Formatting the device/partition might cause data corruption and system instability.\n\nContinue?</string>
     <string lang="en" key="DEVICE_IN_USE_INPLACE_ENC">Warning: The partition is in use by the operating system or applications. You should close any applications that might be using the partition (including antivirus software).\n\nContinue?</string>
-    <string lang="en" key="FORMAT_CANT_DISMOUNT_FILESYS">Error: The device/partition contains a file system that could not be dismounted. The file system may be in use by the operating system. Formatting the device/partition would very likely cause data corruption and system instability.\n\nTo solve this issue, we recommend that you first delete the partition and then recreate it without formatting. To do so, follow these steps:\n1) Right-click the 'Computer' (or 'My Computer') icon in the 'Start Menu' and select 'Manage'. The 'Computer Management' window should appear.\n2) In the 'Computer Management' window, select 'Storage' > 'Disk Management'.\n3) Right-click the partition you want to encrypt and select either 'Delete Partition', or 'Delete Volume', or 'Delete Logical Drive'.\n4) Click 'Yes'. If Windows asks you to restart the computer, do so. Then repeat the steps 1 and 2 and continue from the step 5.\n5) Right-click the unallocated/free space area and select either 'Ne
 w Partition', or 'New Simple Volume', or 'New Logical Drive'.\n6) The 'New Partition Wizard' or 'New Simple Volume Wizard' window should appear now; follow its instructions. On the wizard page entitled 'Format Partition', select either 'Do not format this partition' or 'Do not format this volume'. In the same wizard, click 'Next' and then 'Finish'.\n7) Note that the device path you have selected in TrueCrypt may be wrong now. Therefore, exit the TrueCrypt Volume Creation Wizard (if it is still running) and then start it again.\n8) Try encrypting the device/partition again.\n\nIf TrueCrypt repeatedly fails to encrypt the device/partition, you may want to consider creating a file container instead.</string>
+    <string lang="en" key="FORMAT_CANT_DISMOUNT_FILESYS">Error: The device/partition contains a file system that could not be dismounted. The file system may be in use by the operating system. Formatting the device/partition would very likely cause data corruption and system instability.\n\nTo solve this issue, we recommend that you first delete the partition and then recreate it without formatting. To do so, follow these steps:\n1) Right-click the 'Computer' (or 'My Computer') icon in the 'Start Menu' and select 'Manage'. The 'Computer Management' window should appear.\n2) In the 'Computer Management' window, select 'Storage' > 'Disk Management'.\n3) Right-click the partition you want to encrypt and select either 'Delete Partition', or 'Delete Volume', or 'Delete Logical Drive'.\n4) Click 'Yes'. If Windows asks you to restart the computer, do so. Then repeat the steps 1 and 2 and continue from the step 5.\n5) Right-click the unallocated/free space area and select either 'Ne
 w Partition', or 'New Simple Volume', or 'New Logical Drive'.\n6) The 'New Partition Wizard' or 'New Simple Volume Wizard' window should appear now; follow its instructions. On the wizard page entitled 'Format Partition', select either 'Do not format this partition' or 'Do not format this volume'. In the same wizard, click 'Next' and then 'Finish'.\n7) Note that the device path you have selected in RealCrypt may be wrong now. Therefore, exit the RealCrypt Volume Creation Wizard (if it is still running) and then start it again.\n8) Try encrypting the device/partition again.\n\nIf RealCrypt repeatedly fails to encrypt the device/partition, you may want to consider creating a file container instead.</string>
     <string lang="en" key="INPLACE_ENC_CANT_LOCK_OR_DISMOUNT_FILESYS">Error: The filesystem could not be locked and/or dismounted. It may be in use by the operating system or applications (for example, antivirus software). Encrypting the partition might cause data corruption and system instability.\n\nPlease close any applications that might be using the filesystem (including antivirus software) and try again. If it does not help, please follow the below steps.</string>
     <string lang="en" key="DEVICE_IN_USE_INFO">WARNING: Some of the mounted devices/partitions were already in use!\n\nIgnoring this can cause undesired results including system instability.\n\nWe strongly recommend that you close any application that might be using the devices/partitions.</string>
-    <string lang="en" key="DEVICE_PARTITIONS_ERR">The selected device contains partitions.\n\nFormatting the device might cause system instability and/or data corruption. Please either select a partition on the device, or remove all partitions on the device to enable TrueCrypt to format it safely.</string>
-    <string lang="en" key="DEVICE_PARTITIONS_ERR_W_INPLACE_ENC_NOTE">The selected non-system device contains partitions.\n\nEncrypted device-hosted TrueCrypt volumes can be created within devices that do not contain any partitions (including hard disks and solid-state drives). A device that contains partitions can be entirely encrypted in place (using a single master key) only if it is the drive where Windows is installed and from which it boots.\n\nIf you want to encrypt the selected non-system device using a single master key, you will need to remove all partitions on the device first to enable TrueCrypt to format it safely (formatting a device that contains partitions might cause system instability and/or data corruption). Alternatively, you can encrypt each partition on the drive individually (each partition will be encrypted using a different master key).\n\nNote: If you want to remove all partitions from a GPT disk, you may need to convert it to a MBR disk (using e.g. 
 the Computer Management tool) in order to remove hidden partitions.</string>
+    <string lang="en" key="DEVICE_PARTITIONS_ERR">The selected device contains partitions.\n\nFormatting the device might cause system instability and/or data corruption. Please either select a partition on the device, or remove all partitions on the device to enable RealCrypt to format it safely.</string>
+    <string lang="en" key="DEVICE_PARTITIONS_ERR_W_INPLACE_ENC_NOTE">The selected non-system device contains partitions.\n\nEncrypted device-hosted RealCrypt volumes can be created within devices that do not contain any partitions (including hard disks and solid-state drives). A device that contains partitions can be entirely encrypted in place (using a single master key) only if it is the drive where Windows is installed and from which it boots.\n\nIf you want to encrypt the selected non-system device using a single master key, you will need to remove all partitions on the device first to enable RealCrypt to format it safely (formatting a device that contains partitions might cause system instability and/or data corruption). Alternatively, you can encrypt each partition on the drive individually (each partition will be encrypted using a different master key).\n\nNote: If you want to remove all partitions from a GPT disk, you may need to convert it to a MBR disk (using e.g. 
 the Computer Management tool) in order to remove hidden partitions.</string>
     <string lang="en" key="WHOLE_NONSYS_DEVICE_ENC_CONFIRM">Warning: If you encrypt the entire device (as opposed to encrypting only a partition on it), operating systems will consider the device as new, empty, and unformatted (as it will contain no partition table) and may spontaneously initialize the device (or ask you if you want to do so), which may damage the volume.\n\nTo avoid that you may want to consider creating a partition on the device and encrypting the partition instead.\n\nAre you sure want to encrypt the entire device?</string>
-    <string lang="en" key="AFTER_FORMAT_DRIVE_LETTER_WARN">IMPORTANT: Please keep in mind that this volume can NOT be mounted/accessed using the drive letter %c:, which is currently assigned to it!\n\nTo mount this volume, click 'Auto-Mount Devices' in the main TrueCrypt window (alternatively, in the main TrueCrypt window, click 'Select Device', then select this partition/device, and click 'Mount'). The volume will be mounted to a different drive letter, which you select from the list in the main TrueCrypt window.\n\nThe original drive letter %c: should be used only in case you need to remove encryption from the partition/device (e.g., if you no longer need encryption). In such a case, right-click the drive letter %c: in the 'Computer' (or 'My Computer') list and select 'Format'. Otherwise, the drive letter %c: should never be used (unless you remove it and assign it to another partition/device).</string>
+    <string lang="en" key="AFTER_FORMAT_DRIVE_LETTER_WARN">IMPORTANT: Please keep in mind that this volume can NOT be mounted/accessed using the drive letter %c:, which is currently assigned to it!\n\nTo mount this volume, click 'Auto-Mount Devices' in the main RealCrypt window (alternatively, in the main RealCrypt window, click 'Select Device', then select this partition/device, and click 'Mount'). The volume will be mounted to a different drive letter, which you select from the list in the main RealCrypt window.\n\nThe original drive letter %c: should be used only in case you need to remove encryption from the partition/device (e.g., if you no longer need encryption). In such a case, right-click the drive letter %c: in the 'Computer' (or 'My Computer') list and select 'Format'. Otherwise, the drive letter %c: should never be used (unless you remove it and assign it to another partition/device).</string>
     <string lang="en" key="OS_NOT_SUPPORTED_FOR_NONSYS_INPLACE_ENC">In-place encryption of non-system volumes is not supported on the version of the operating system you are currently using (it is supported only on Windows Vista and later versions of Windows).\n\nThe reason is that this version of Windows does not support shrinking of a filesystem (the filesystem needs to be shrunk to make space for the volume header and backup header).</string>
     <string lang="en" key="ONLY_NTFS_SUPPORTED_FOR_NONSYS_INPLACE_ENC">The selected partition does not appear to contain an NTFS filesystem. Only partitions that contain an NTFS filesystem can be encrypted in place.\n\nNote: The reason is that Windows does not support shrinking of other types of filesystems (the filesystem needs to be shrunk to make space for the volume header and backup header).</string>
-    <string lang="en" key="ONLY_MOUNTED_VOL_SUPPORTED_FOR_NONSYS_INPLACE_ENC">The selected partition does not appear to contain an NTFS filesystem. Only partitions that contain an NTFS filesystem can be encrypted in place.\n\nIf you want to create an encrypted TrueCrypt volume within this partition, choose the option "Create encrypted volume and format it" (instead of the option "Encrypt partition in place").</string>
-    <string lang="en" key="PARTITION_TOO_SMALL_FOR_NONSYS_INPLACE_ENC">Error: The partition is too small. TrueCrypt cannot encrypt it in place.</string>
-    <string lang="en" key="INPLACE_ENC_ALTERNATIVE_STEPS">To encrypt the data on this partition, please follow these steps:\n\n1) Create a TrueCrypt volume on an empty partition/device and then mount it.\n\n2) Copy all files from the partition that you originally wanted to encrypt to the mounted TrueCrypt volume (that has been created and mounted in step 1). That way, you will create a TrueCrypt-encrypted backup of the data.\n\n3) Create a TrueCrypt volume on the partition that you originally wanted to encrypt and make sure that (in the TrueCrypt wizard) you choose the option "Create encrypted volume and format it" (instead of the option "Encrypt partition in place"). Note that all data stored on the partition will be erased. After the volume is created, mount it.\n\n4) Copy all files from the mounted backup TrueCrypt volume (created and mounted in step 1) to the mounted TrueCrypt volume that has been created (and mounted) in step 3.\n\nAfter you complete these steps, the da
 ta will be encrypted and, in addition, there will be an encrypted backup of the data.</string>
-    <string lang="en" key="RAW_DEV_NOT_SUPPORTED_FOR_INPLACE_ENC">TrueCrypt can in-place encrypt only a partition, a dynamic volume, or an entire system drive.\n\nIf you want to create an encrypted TrueCrypt volume within the selected non-system device, choose the option "Create encrypted volume and format it" (instead of the option "Encrypt partition in place").</string>
-    <string lang="en" key="INPLACE_ENC_INVALID_PATH">Error: TrueCrypt can in-place encrypt only a partition, a dynamic volume, or an entire system drive. Please make sure the specified path is valid.</string>
+    <string lang="en" key="ONLY_MOUNTED_VOL_SUPPORTED_FOR_NONSYS_INPLACE_ENC">The selected partition does not appear to contain an NTFS filesystem. Only partitions that contain an NTFS filesystem can be encrypted in place.\n\nIf you want to create an encrypted RealCrypt volume within this partition, choose the option "Create encrypted volume and format it" (instead of the option "Encrypt partition in place").</string>
+    <string lang="en" key="PARTITION_TOO_SMALL_FOR_NONSYS_INPLACE_ENC">Error: The partition is too small. RealCrypt cannot encrypt it in place.</string>
+    <string lang="en" key="INPLACE_ENC_ALTERNATIVE_STEPS">To encrypt the data on this partition, please follow these steps:\n\n1) Create a RealCrypt volume on an empty partition/device and then mount it.\n\n2) Copy all files from the partition that you originally wanted to encrypt to the mounted RealCrypt volume (that has been created and mounted in step 1). That way, you will create a RealCrypt-encrypted backup of the data.\n\n3) Create a RealCrypt volume on the partition that you originally wanted to encrypt and make sure that (in the RealCrypt wizard) you choose the option "Create encrypted volume and format it" (instead of the option "Encrypt partition in place"). Note that all data stored on the partition will be erased. After the volume is created, mount it.\n\n4) Copy all files from the mounted backup RealCrypt volume (created and mounted in step 1) to the mounted RealCrypt volume that has been created (and mounted) in step 3.\n\nAfter you complete these steps, the da
 ta will be encrypted and, in addition, there will be an encrypted backup of the data.</string>
+    <string lang="en" key="RAW_DEV_NOT_SUPPORTED_FOR_INPLACE_ENC">RealCrypt can in-place encrypt only a partition, a dynamic volume, or an entire system drive.\n\nIf you want to create an encrypted RealCrypt volume within the selected non-system device, choose the option "Create encrypted volume and format it" (instead of the option "Encrypt partition in place").</string>
+    <string lang="en" key="INPLACE_ENC_INVALID_PATH">Error: RealCrypt can in-place encrypt only a partition, a dynamic volume, or an entire system drive. Please make sure the specified path is valid.</string>
     <string lang="en" key="CANNOT_RESIZE_FILESYS">Error: Cannot shrink the filesystem (the filesystem needs to be shrunk to make space for the volume header and backup header).\n\nPossible causes and solutions:\n\n- Not enough free space on the volume. Please make sure no other application is writing to the filesystem.\n\n- Corrupted file system. Try to check it and fix any errors (right-click the corresponding drive letter in the 'Computer' list, then select Properties > Tools > 'Check Now', make sure the option 'Automatically fix file system errors' is enabled and click Start).\n\nIf the above steps do not help, please follow the below steps.</string>
     <string lang="en" key="NOT_ENOUGH_FREE_FILESYS_SPACE_FOR_SHRINK">Error: There is not enough free space on the volume and so the filesystem cannot be shrunk (the filesystem needs to be shrunk to make space for the volume header and backup header).\n\nPlease delete any redundant files and empty the Recycle Bin so as to free at least 256 KB of space and then try again. Note that due to a Windows issue, the amount of free space reported by the Windows Explorer may be incorrect until the operating system is restarted. If restarting the system does not help, the file system may be corrupted. Try to check it and fix any errors (right-click the corresponding drive letter in the 'Computer' list, then select Properties > Tools > 'Check Now', make sure the option 'Automatically fix file system errors' is enabled and click Start).\n\nIf the above steps do not help, please follow the below steps.</string>
     <string lang="en" key="DISK_FREE_BYTES">Free space on drive %hs is %.2f bytes.</string>
@@ -398,35 +398,35 @@
     <string lang="en" key="DISK_FREE_TB">Free space on drive %hs is %.2f TB</string>
     <string lang="en" key="DISK_FREE_PB">Free space on drive %hs is %.2f PB</string>
     <string lang="en" key="DRIVELETTERS">Could not get available drive letters.</string>
-    <string lang="en" key="DRIVER_NOT_FOUND">Error: TrueCrypt driver not found.\n\nPlease copy the files 'truecrypt.sys' and 'truecrypt-x64.sys' to the directory where the main TrueCrypt application (TrueCrypt.exe) is located.</string>
-    <string lang="en" key="DRIVER_VERSION">An incompatible version of the TrueCrypt device driver is currently running.\n\nRequired version: TrueCrypt %hs</string>
+    <string lang="en" key="DRIVER_NOT_FOUND">Error: RealCrypt driver not found.\n\nPlease copy the files 'truecrypt.sys' and 'truecrypt-x64.sys' to the directory where the main RealCrypt application (RealCrypt.exe) is located.</string>
+    <string lang="en" key="DRIVER_VERSION">An incompatible version of the RealCrypt device driver is currently running.\n\nRequired version: RealCrypt %hs</string>
     <string lang="en" key="ERR_CIPHER_INIT_FAILURE">Error: Cipher initialization failure.</string>
     <string lang="en" key="ERR_CIPHER_INIT_WEAK_KEY">Error: A weak or a potentially weak key has been detected. The key will be discarded. Please try again.</string>
-    <string lang="en" key="EXCEPTION_REPORT">A critical error has occurred and TrueCrypt must be terminated. If this is caused by a bug in TrueCrypt, we would like to fix it. To help us, you can send us an automatically generated error report containing the following items:\n\n- Program version\n- Operating system version\n- Type of CPU\n- TrueCrypt component name\n- Checksum of TrueCrypt executable\n- Symbolic name of dialog window\n- Error category\n- Error address\n- TrueCrypt call stack\n\nIf you select 'Yes', the following URL (which contains the entire error report) will be opened in your default Internet browser.\n\n%hs\n\nDo you want to send us the above error report?</string>
-    <string lang="en" key="EXCEPTION_REPORT_EXT">A critical error has occurred in your system, which requires TrueCrypt to be terminated.\n\nNote that this error has not been caused by TrueCrypt (so the TrueCrypt developers cannot fix it). Please, check your system for possible problems (e.g., system configuration, network connection, failing hardware components).</string>
-    <string lang="en" key="EXCEPTION_REPORT_TITLE">TrueCrypt Critical Error</string>
+    <string lang="en" key="EXCEPTION_REPORT">A critical error has occurred and RealCrypt must be terminated. If this is caused by a bug in RealCrypt, we would like to fix it. To help us, you can send us an automatically generated error report containing the following items:\n\n- Program version\n- Operating system version\n- Type of CPU\n- RealCrypt component name\n- Checksum of RealCrypt executable\n- Symbolic name of dialog window\n- Error category\n- Error address\n- RealCrypt call stack\n\nIf you select 'Yes', the following URL (which contains the entire error report) will be opened in your default Internet browser.\n\n%hs\n\nDo you want to send us the above error report?</string>
+    <string lang="en" key="EXCEPTION_REPORT_EXT">A critical error has occurred in your system, which requires RealCrypt to be terminated.\n\nNote that this error has not been caused by RealCrypt (so the RealCrypt developers cannot fix it). Please, check your system for possible problems (e.g., system configuration, network connection, failing hardware components).</string>
+    <string lang="en" key="EXCEPTION_REPORT_TITLE">RealCrypt Critical Error</string>
     <string lang="en" key="ENCRYPT">&amp;Encrypt</string>
     <string lang="en" key="DECRYPT">&amp;Decrypt</string>
     <string lang="en" key="PERMANENTLY_DECRYPT">&amp;Permanently Decrypt</string>
     <string lang="en" key="EXIT">Exit</string>
     <string lang="en" key="EXT_PARTITION">Please create a logical drive for this extended partition, and then try again.</string>
-    <string lang="en" key="FILE_HELP">A TrueCrypt volume can reside in a file (called TrueCrypt container), which can reside on a hard disk, on a USB flash drive, etc. A TrueCrypt container is just like any normal file (it can be, for example, moved, copied and deleted as any normal file). Click 'Select File' to choose a filename for the container and to select the location where you wish the container to be created.\n\nWARNING: If you select an existing file, TrueCrypt will NOT encrypt it; the file will be deleted and replaced with the newly created TrueCrypt container. You will be able to encrypt existing files (later on) by moving them to the TrueCrypt container that you are about to create now.</string>
-    <string lang="en" key="FILE_HELP_HIDDEN_HOST_VOL">Select the location of the outer volume to be created (within this volume the hidden volume will be created later on).\n\nA TrueCrypt volume can reside in a file (called TrueCrypt container), which can reside on a hard disk, on a USB flash drive, etc. A TrueCrypt container can be moved, copied and deleted as any normal file. Click 'Select File' to choose a filename for the container and to select the location where you wish the container to be created. If you select an existing file, TrueCrypt will NOT encrypt it; it will be deleted and replaced with the newly created container. You will be able to encrypt existing files (later on) by moving them to the TrueCrypt container you are about to create now.</string>
-    <string lang="en" key="DEVICE_HELP">Encrypted device-hosted TrueCrypt volumes can be created within partitions on hard disks, solid-state drives, USB memory sticks, and on any other supported storage devices. Partitions can also be encrypted in place.\n\nIn addition, encrypted device-hosted TrueCrypt volumes can be created within devices that do not contain any partitions (including hard disks and solid-state drives).\n\nNote: A device that contains partitions can be entirely encrypted in place (using a single key) only if it is the drive where Windows is installed and from which it boots.</string>
-    <string lang="en" key="DEVICE_HELP_NO_INPLACE">A device-hosted TrueCrypt volume can be created within a hard disk partition, solid-state drive, USB memory stick, and other storage devices.\n\nWARNING: Note that the partition/device will be formatted and all data currently stored on it will be lost.</string>
+    <string lang="en" key="FILE_HELP">A RealCrypt volume can reside in a file (called RealCrypt container), which can reside on a hard disk, on a USB flash drive, etc. A RealCrypt container is just like any normal file (it can be, for example, moved, copied and deleted as any normal file). Click 'Select File' to choose a filename for the container and to select the location where you wish the container to be created.\n\nWARNING: If you select an existing file, RealCrypt will NOT encrypt it; the file will be deleted and replaced with the newly created RealCrypt container. You will be able to encrypt existing files (later on) by moving them to the RealCrypt container that you are about to create now.</string>
+    <string lang="en" key="FILE_HELP_HIDDEN_HOST_VOL">Select the location of the outer volume to be created (within this volume the hidden volume will be created later on).\n\nA RealCrypt volume can reside in a file (called RealCrypt container), which can reside on a hard disk, on a USB flash drive, etc. A RealCrypt container can be moved, copied and deleted as any normal file. Click 'Select File' to choose a filename for the container and to select the location where you wish the container to be created. If you select an existing file, RealCrypt will NOT encrypt it; it will be deleted and replaced with the newly created container. You will be able to encrypt existing files (later on) by moving them to the RealCrypt container you are about to create now.</string>
+    <string lang="en" key="DEVICE_HELP">Encrypted device-hosted RealCrypt volumes can be created within partitions on hard disks, solid-state drives, USB memory sticks, and on any other supported storage devices. Partitions can also be encrypted in place.\n\nIn addition, encrypted device-hosted RealCrypt volumes can be created within devices that do not contain any partitions (including hard disks and solid-state drives).\n\nNote: A device that contains partitions can be entirely encrypted in place (using a single key) only if it is the drive where Windows is installed and from which it boots.</string>
+    <string lang="en" key="DEVICE_HELP_NO_INPLACE">A device-hosted RealCrypt volume can be created within a hard disk partition, solid-state drive, USB memory stick, and other storage devices.\n\nWARNING: Note that the partition/device will be formatted and all data currently stored on it will be lost.</string>
     <string lang="en" key="DEVICE_HELP_HIDDEN_HOST_VOL">\nSelect the location of the outer volume to be created (within this volume the hidden volume will be created later on).\n\nOuter volumes can be created within partitions on hard disks, solid-state drives, USB memory sticks, and on any other supported storage devices. Outer volumes can also be created within devices that do not contain any partitions (including hard disks and solid-state drives).\n\nWARNING: Note that the partition/device will be formatted and all data currently stored on it will be lost.</string>
-    <string lang="en" key="FILE_HELP_HIDDEN_HOST_VOL_DIRECT">\nSelect the location of the TrueCrypt volume within which you wish to create a hidden volume.</string>
+    <string lang="en" key="FILE_HELP_HIDDEN_HOST_VOL_DIRECT">\nSelect the location of the RealCrypt volume within which you wish to create a hidden volume.</string>
     <string lang="en" key="FILE_IN_USE">WARNING: The host file/device is already in use!\n\nIgnoring this can cause undesired results including system instability. All applications that might be using the host file/device (for example, antivirus or backup applications) should be closed before mounting the volume.\n\nContinue mounting?</string>
     <string lang="en" key="FILE_IN_USE_FAILED">Error: Cannot mount volume. The host file/device is already in use. Attempt to mount without exclusive access failed as well.</string>
     <string lang="en" key="FILE_OPEN_FAILED">The file could not be opened.</string>
     <string lang="en" key="FILE_TITLE">Volume Location</string>
     <string lang="en" key="FILESYS_PAGE_TITLE">Large Files</string>
-    <string lang="en" key="FILESYS_PAGE_HELP_QUESTION">Do you intend to store files larger than 4 GB in this TrueCrypt volume?</string>
-    <string lang="en" key="FILESYS_PAGE_HELP_EXPLANATION">Depending on your choice above, TrueCrypt will choose a suitable default file system for the TrueCrypt volume (you will be able to select a file system in the next step).</string>
+    <string lang="en" key="FILESYS_PAGE_HELP_QUESTION">Do you intend to store files larger than 4 GB in this RealCrypt volume?</string>
+    <string lang="en" key="FILESYS_PAGE_HELP_EXPLANATION">Depending on your choice above, RealCrypt will choose a suitable default file system for the RealCrypt volume (you will be able to select a file system in the next step).</string>
     <string lang="en" key="FILESYS_PAGE_HELP_EXPLANATION_HIDVOL">As you are creating an outer volume, you should consider choosing 'No'. If you choose 'Yes', the default filesystem will be NTFS, which is not as suitable for outer volumes as FAT (for example, the maximum possible size of the hidden volume will be significantly greater if the outer volume is formatted as FAT). Normally, FAT is the default for both hidden and normal volumes (so FAT volumes are not suspicious). However, if the user indicates intent to store files larger than 4 GB (which the FAT file system does not allow), then FAT is not the default.</string>
     <string lang="en" key="FILESYS_PAGE_HELP_EXPLANATION_HIDVOL_CONFIRM">Are you sure you want to choose 'Yes'?</string>
     <string lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_TITLE">Volume Creation Mode</string>
-    <string lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_FORMAT_HELP">This is the fastest way to create a partition-hosted or device-hosted TrueCrypt volume (in-place encryption, which is the other option, is slower because content of each sector has to be first read, encrypted, and then written). Any data currently stored on the selected partition/device will be lost (the data will NOT be encrypted; it will be overwritten with random data). If you want to encrypt existing data on a partition, choose the other option.</string>
+    <string lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_FORMAT_HELP">This is the fastest way to create a partition-hosted or device-hosted RealCrypt volume (in-place encryption, which is the other option, is slower because content of each sector has to be first read, encrypted, and then written). Any data currently stored on the selected partition/device will be lost (the data will NOT be encrypted; it will be overwritten with random data). If you want to encrypt existing data on a partition, choose the other option.</string>
     <string lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_INPLACE_HELP">The entire selected partition and all data stored on it will be encrypted in place. If the partition is empty, you should choose the other option (the volume will be created much faster).</string>
     <string lang="en" key="NOTE_BEGINNING">Note: </string>
     <string lang="en" key="RESUME">&amp;Resume</string>
@@ -442,11 +442,11 @@
     <string lang="en" key="WIPE_FINISHED_DECOY_SYSTEM_PARTITION">The content of the partition where the original system (of which the hidden system is a clone) resided has been successfully erased.</string>
     <string lang="en" key="SYSTEM_ENCRYPTION_FINISHED">The system partition/drive has been successfully encrypted.</string>
     <string lang="en" key="SYSTEM_DECRYPTION_FINISHED">The system partition/drive has been successfully decrypted.</string>
-    <string lang="en" key="FORMAT_FINISHED_HELP">\n\nThe TrueCrypt volume has been created and is ready for use. If you wish to create another TrueCrypt volume, click Next. Otherwise, click Exit.</string>
-    <string lang="en" key="SYSENC_HIDDEN_VOL_FORMAT_FINISHED_HELP">\n\nThe hidden TrueCrypt volume has been successfully created (the hidden operating system will reside within this hidden volume).\n\nClick Next to continue.</string>
+    <string lang="en" key="FORMAT_FINISHED_HELP">\n\nThe RealCrypt volume has been created and is ready for use. If you wish to create another RealCrypt volume, click Next. Otherwise, click Exit.</string>
+    <string lang="en" key="SYSENC_HIDDEN_VOL_FORMAT_FINISHED_HELP">\n\nThe hidden RealCrypt volume has been successfully created (the hidden operating system will reside within this hidden volume).\n\nClick Next to continue.</string>
     <string lang="en" key="NONSYS_INPLACE_ENC_FINISHED_TITLE">Volume Fully Encrypted</string>
-    <string lang="en" key="NONSYS_INPLACE_ENC_FINISHED_INFO">IMPORTANT: TO MOUNT THIS NEWLY CREATED TRUECRYPT VOLUME AND TO ACCESS DATA STORED IN IT, CLICK 'Auto-Mount Devices' IN THE MAIN TRUECRYPT WINDOW. After you enter the correct password (and/or supply correct keyfiles), the volume will be mounted to the drive letter you select from the list in the main TrueCrypt window (and you will be able to access the encrypted data via the selected drive letter).\n\nPLEASE REMEMBER OR WRITE DOWN THE ABOVE STEPS. YOU MUST FOLLOW THEM WHENEVER YOU WANT TO MOUNT THE VOLUME AND ACCESS DATA STORED IN IT. Alternatively, in the main TrueCrypt window, click 'Select Device', then select this partition/volume, and click 'Mount'.\n\nThe partition/volume has been successfully encrypted (it contains a fully encrypted TrueCrypt volume now) and is ready for use.</string>
-    <string lang="en" key="FORMAT_FINISHED_INFO">The TrueCrypt volume has been successfully created.</string>
+    <string lang="en" key="NONSYS_INPLACE_ENC_FINISHED_INFO">IMPORTANT: TO MOUNT THIS NEWLY CREATED RealCrypt VOLUME AND TO ACCESS DATA STORED IN IT, CLICK 'Auto-Mount Devices' IN THE MAIN RealCrypt WINDOW. After you enter the correct password (and/or supply correct keyfiles), the volume will be mounted to the drive letter you select from the list in the main RealCrypt window (and you will be able to access the encrypted data via the selected drive letter).\n\nPLEASE REMEMBER OR WRITE DOWN THE ABOVE STEPS. YOU MUST FOLLOW THEM WHENEVER YOU WANT TO MOUNT THE VOLUME AND ACCESS DATA STORED IN IT. Alternatively, in the main RealCrypt window, click 'Select Device', then select this partition/volume, and click 'Mount'.\n\nThe partition/volume has been successfully encrypted (it contains a fully encrypted RealCrypt volume now) and is ready for use.</string>
+    <string lang="en" key="FORMAT_FINISHED_INFO">The RealCrypt volume has been successfully created.</string>
     <string lang="en" key="FORMAT_FINISHED_TITLE">Volume Created</string>
     <string lang="en" key="FORMAT_HELP">IMPORTANT: Move your mouse as randomly as possible within this window. The longer you move it, the better. This significantly increases the cryptographic strength of the encryption keys. Then click Format to create the volume.</string>
     <string lang="en" key="FORMAT_HIDVOL_HOST_HELP">Click Format to create the outer volume. For more information, please refer to the documentation.</string>
@@ -458,31 +458,31 @@
     <string lang="en" key="GETFILETIME_FAILED_IMPLANT">WARNING: Could not get container timestamp!\n\nIf you do not reset the timestamp using an external tool, we recommend that you do not create a hidden volume within this container.</string>
     <string lang="en" key="GETFILETIME_FAILED_PW">WARNING: Could not get container timestamp!\n\nIf there is a hidden volume within this container, the plausible deniability of the hidden volume might be affected after changing or attempting to change the password.</string>
     <string lang="en" key="GETFILETIME_FAILED_KEYFILE">WARNING: Could not get keyfile timestamp! Cannot preserve last access date/time.\n\nIt will be possible to tell that this file has been accessed.</string>
-    <string lang="en" key="HELP_READER_ERROR">Adobe Reader (or a compatible tool) is necessary to view or print the TrueCrypt User's Guide. Adobe Reader (freeware) can be downloaded at: www.adobe.com\n\nDo you want to view the online documentation instead?</string>
-    <string lang="en" key="HIDDEN_VOL_WIZARD_MODE_NORMAL_HELP">If you select this option, the wizard will first help you create a normal TrueCrypt volume and then a hidden TrueCrypt volume within it. Inexperienced users should always select this option.</string>
-    <string lang="en" key="HIDDEN_VOL_WIZARD_MODE_DIRECT_HELP">If you select this option, you will create a hidden volume within an existing TrueCrypt volume. It will be assumed that you have already created a TrueCrypt volume that is suitable to host the hidden volume.</string>
+    <string lang="en" key="HELP_READER_ERROR">Adobe Reader (or a compatible tool) is necessary to view or print the RealCrypt User's Guide. Adobe Reader (freeware) can be downloaded at: www.adobe.com\n\nDo you want to view the online documentation instead?</string>
+    <string lang="en" key="HIDDEN_VOL_WIZARD_MODE_NORMAL_HELP">If you select this option, the wizard will first help you create a normal RealCrypt volume and then a hidden RealCrypt volume within it. Inexperienced users should always select this option.</string>
+    <string lang="en" key="HIDDEN_VOL_WIZARD_MODE_DIRECT_HELP">If you select this option, you will create a hidden volume within an existing RealCrypt volume. It will be assumed that you have already created a RealCrypt volume that is suitable to host the hidden volume.</string>
     <string lang="en" key="HIDDEN_VOL_WIZARD_MODE_TITLE">Volume Creation Mode</string>
     <string lang="en" key="HIDVOL_FORMAT_FINISHED_TITLE">Hidden Volume Created</string>
-    <string lang="en" key="HIDVOL_FORMAT_FINISHED_HELP">The hidden TrueCrypt volume has been successfully created and is ready for use. If all the instructions have been followed and if precautions mentioned in the section "Security Precautions Pertaining to Hidden Volumes" in the TrueCrypt User's Guide are followed, it will be impossible to prove that the hidden volume exists, even when the outer volume is mounted.\n\nWARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (FOR INFORMATION ON HOW TO DO SO, REFER TO THE SECTION "PROTECTION OF HIDDEN VOLUMES AGAINST DAMAGE" IN THE TRUECRYPT USER'S GUIDE), DO NOT WRITE TO THE OUTER VOLUME. OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME!</string>
+    <string lang="en" key="HIDVOL_FORMAT_FINISHED_HELP">The hidden RealCrypt volume has been successfully created and is ready for use. If all the instructions have been followed and if precautions mentioned in the section "Security Precautions Pertaining to Hidden Volumes" in the RealCrypt User's Guide are followed, it will be impossible to prove that the hidden volume exists, even when the outer volume is mounted.\n\nWARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (FOR INFORMATION ON HOW TO DO SO, REFER TO THE SECTION "PROTECTION OF HIDDEN VOLUMES AGAINST DAMAGE" IN THE REALCRYPT USER'S GUIDE), DO NOT WRITE TO THE OUTER VOLUME. OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME!</string>
     <string lang="en" key="FIRST_HIDDEN_OS_BOOT_INFO">You have started the hidden operating system. As you may have noticed, the hidden operating system appears to be installed on the same partition as the original operating system. However, in reality, it is installed within the partition behind it (in the hidden volume). All read and write operations are being transparently redirected from the original system partition to the hidden volume.\n\nNeither the operating system nor applications will know that data written to and read from the system partition are actually written to and read from the partition behind it (from/to a hidden volume). Any such data is encrypted and decrypted on the fly as usual (with an encryption key different from the one that will be used for the decoy operating system).\n\n\nPlease click Next to continue.</string>
     <string lang="en" key="HIDVOL_HOST_FILLING_HELP_SYSENC">The outer volume has been created and mounted as drive %hc:. To this outer volume you should now copy some sensitive-looking files that you actually do NOT want to hide. They will be there for anyone forcing you to disclose the password for the first partition behind the system partition, where both the outer volume and the hidden volume (containing the hidden operating system) will reside. You will be able to reveal the password for this outer volume, and the existence of the hidden volume (and of the hidden operating system) will remain secret.\n\nIMPORTANT: The files you copy to the outer volume should not occupy more than %s. Otherwise, there may not be enough free space on the outer volume for the hidden volume (and you will not be able to continue). After you finish copying, click Next (do not dismount the volume).</string>
     <string lang="en" key="HIDVOL_HOST_FILLING_HELP">Outer volume has been successfully created and mounted as drive %hc:. To this volume you should now copy some sensitive-looking files that you actually do NOT want to hide. The files will be there for anyone forcing you to disclose your password. You will reveal only the password for this outer volume, not for the hidden one. The files that you really care about will be stored in the hidden volume, which will be created later on. When you finish copying, click Next. Do not dismount the volume.\n\nNote: After you click Next, cluster bitmap of the outer volume will be scanned to determine the size of uninterrupted area of free space whose end is aligned with the end of the volume. This area will accommodate the hidden volume, so it will limit its maximum possible size. Cluster bitmap scanning ensures that no data on the outer volume are overwritten by the hidden volume.</string>
     <string lang="en" key="HIDVOL_HOST_FILLING_TITLE">Outer Volume Contents</string>
     <string lang="en" key="HIDVOL_HOST_PRE_CIPHER_HELP">\n\nIn the next steps, you will set the options for the outer volume (within which the hidden volume will be created later on). </string>
-    <string lang="en" key="HIDVOL_HOST_PRE_CIPHER_HELP_SYSENC">\n\nIn the next steps, you will create a so-called outer TrueCrypt volume within the first partition behind the system partition (as was explained in one of the previous steps).</string>
+    <string lang="en" key="HIDVOL_HOST_PRE_CIPHER_HELP_SYSENC">\n\nIn the next steps, you will create a so-called outer RealCrypt volume within the first partition behind the system partition (as was explained in one of the previous steps).</string>
     <string lang="en" key="HIDVOL_HOST_PRE_CIPHER_TITLE">Outer Volume</string>
     <string lang="en" key="HIDDEN_OS_PRE_CIPHER_HELP">In the following steps, you will set the options and password for the hidden volume, which will contain the hidden operating system.\n\nRemark: The cluster bitmap of the outer volume has been scanned in order to determine the size of uninterrupted area of free space whose end is aligned with the end of the outer volume. This area will accommodate the hidden volume, so it limits its maximum possible size. The maximum possible size of the hidden volume has been determined and confirmed to be greater than the size of the system partition (which is required, because the entire content of the system partition will need to be copied to the hidden volume). This ensures that no data currently stored on the outer volume will be overwritten by data written to the area of the hidden volume.</string>
-    <string lang="en" key="HIDDEN_OS_PRE_CIPHER_WARNING">IMPORTANT: Please remember the algorithms that you select in this step. You will have to select the same algorithms for the decoy system. Otherwise, the hidden system will be inaccessible! (The decoy system must be encrypted with the same encryption algorithm as the hidden system.)\n\nNote: The reason is that the decoy system and the hidden system will share a single boot loader, which supports only a single algorithm, selected by the user (for each algorithm, there is a special version of the TrueCrypt Boot Loader).</string>
+    <string lang="en" key="HIDDEN_OS_PRE_CIPHER_WARNING">IMPORTANT: Please remember the algorithms that you select in this step. You will have to select the same algorithms for the decoy system. Otherwise, the hidden system will be inaccessible! (The decoy system must be encrypted with the same encryption algorithm as the hidden system.)\n\nNote: The reason is that the decoy system and the hidden system will share a single boot loader, which supports only a single algorithm, selected by the user (for each algorithm, there is a special version of the RealCrypt Boot Loader).</string>
     <string lang="en" key="HIDVOL_PRE_CIPHER_HELP">\n\nThe volume cluster bitmap has been scanned and the maximum possible size of the hidden volume has been determined. In the next steps you will set the options, the size, and the password for the hidden volume.</string>
     <string lang="en" key="HIDVOL_PRE_CIPHER_TITLE">Hidden Volume</string>
-    <string lang="en" key="HIDVOL_PROT_WARN_AFTER_MOUNT">The hidden volume is now protected against damage until the outer volume is dismounted.\n\nWARNING: If any data is attempted to be saved to the hidden volume area, TrueCrypt will start write-protecting the entire volume (both the outer and the hidden part) until it is dismounted. This may cause filesystem corruption on the outer volume, which (if repeated) might adversely affect plausible deniability of the hidden volume. Therefore, you should make every effort to avoid writing to the hidden volume area. Any data being saved to the hidden volume area will not be saved and will be lost. Windows may report this as a write error ("Delayed Write Failed" or "The parameter is incorrect").</string>
-    <string lang="en" key="HIDVOL_PROT_WARN_AFTER_MOUNT_PLURAL">Each of the hidden volumes within the newly mounted volumes is now protected against damage until dismounted.\n\nWARNING: If any data is attempted to be saved to protected hidden volume area of any of these volumes, TrueCrypt will start write-protecting the entire volume (both the outer and the hidden part) until it is dismounted. This may cause filesystem corruption on the outer volume, which (if repeated) might adversely affect plausible deniability of the hidden volume. Therefore, you should make every effort to avoid writing to the hidden volume area. Any data being saved to protected hidden volume areas will not be saved and will be lost. Windows may report this as a write error ("Delayed Write Failed" or "The parameter is incorrect").</string>
-    <string lang="en" key="DAMAGE_TO_HIDDEN_VOLUME_PREVENTED">WARNING: Data were attempted to be saved to the hidden volume area of the volume mounted as %c:! TrueCrypt prevented these data from being saved in order to protect the hidden volume. This may have caused filesystem corruption on the outer volume and Windows may have reported a write error ("Delayed Write Failed" or "The parameter is incorrect"). The entire volume (both the outer and the hidden part) will be write-protected until it is dismounted. If this is not the first time TrueCrypt has prevented data from being saved to the hidden volume area of this volume, plausible deniability of this hidden volume might be adversely affected (due to possible unusual correlated inconsistencies within the outer volume file system). Therefore, you should consider creating a new TrueCrypt volume (with Quick Format disabled) and moving files from this volume to the new volume; this volume should be securely erased (both the ou
 ter and the hidden part). We strongly recommend that you restart the operating system now.</string>
-    <string lang="en" key="CAN_CREATE_ONLY_HIDDEN_VOLUMES_UNDER_HIDDEN_OS">For security reasons, when a hidden operating system is running, you can create only hidden TrueCrypt volumes.</string>
-    <string lang="en" key="HIDDEN_VOL_CREATION_UNDER_HIDDEN_OS_HOWTO">For security reasons, when a hidden operating system is running, hidden volumes can be created only in the 'direct' mode (because outer volumes must always be mounted as read-only).\n\nTo create a hidden volume securely, follow these steps:\n\n1) Boot the decoy system.\n\n2) Create a normal TrueCrypt volume and, to this volume, copy some sensitive-looking files that you actually do NOT want to hide (the volume will become the outer volume).\n\n3) Boot the hidden system and start the TrueCrypt Volume Creation Wizard.\n\n4) If the volume is file-hosted, move it to the system partition or to another hidden volume (otherwise, the newly created hidden volume would be mounted as read-only and could not be formatted).\n\n5) Follow the instructions in the wizard so as to select the 'direct' hidden volume creation mode.\n\n6) In the wizard, select the volume you created in step 2 and then follow the instructions to
  create a hidden volume within it.</string>
-    <string lang="en" key="HIDDEN_OS_WRITE_PROTECTION_BRIEF_INFO">For security reasons, when a hidden operating system is running, local unencrypted filesystems and non-hidden TrueCrypt volumes are mounted as read-only (no data can be written to such filesystems or TrueCrypt volumes).\n\nData is allowed to be written to any filesystem that resides within a hidden TrueCrypt volume (provided that the hidden volume is not located in a container stored on an unencrypted filesystem or on any other read-only filesystem).</string>
-    <string lang="en" key="HIDDEN_OS_WRITE_PROTECTION_EXPLANATION">There are three main reasons why such countermeasures have been implemented:\n\n- It enables the creation of a secure platform for mounting of hidden TrueCrypt volumes. Note that we officially recommend that hidden volumes are mounted only when a hidden operating system is running. (For more information, see the subsection 'Security Precautions Pertaining to Hidden Volumes' in the documentation.)\n\n- In some cases, it is possible to determine that, at a certain time, a particular filesystem was not mounted under (or that a particular file on the filesystem was not saved or accessed from within) a particular instance of an operating system (e.g. by analyzing and comparing filesystem journals, file timestamps, application logs, error logs, etc). This might indicate that a hidden operating system is installed on the computer. The countermeasures prevent these issues.\n\n- It protects the integrity of a filesyst
 em that is mounted under both the decoy system and the hidden system when one or both of the systems are/is hibernated.</string>
-    <string lang="en" key="DECOY_TO_HIDDEN_OS_DATA_TRANSFER_HOWTO">Note: If you need to securely transfer files from the decoy system to the hidden system, follow these steps:\n1) Start the decoy system.\n2) Save the files to an unencrypted volume or to an outer/normal TrueCrypt volume.\n3) Start the hidden system.\n4) If you saved the files to a TrueCrypt volume, mount it (it will be automatically mounted as read-only).\n5) Copy the files to the hidden system partition or to another hidden volume.</string>
+    <string lang="en" key="HIDVOL_PROT_WARN_AFTER_MOUNT">The hidden volume is now protected against damage until the outer volume is dismounted.\n\nWARNING: If any data is attempted to be saved to the hidden volume area, RealCrypt will start write-protecting the entire volume (both the outer and the hidden part) until it is dismounted. This may cause filesystem corruption on the outer volume, which (if repeated) might adversely affect plausible deniability of the hidden volume. Therefore, you should make every effort to avoid writing to the hidden volume area. Any data being saved to the hidden volume area will not be saved and will be lost. Windows may report this as a write error ("Delayed Write Failed" or "The parameter is incorrect").</string>
+    <string lang="en" key="HIDVOL_PROT_WARN_AFTER_MOUNT_PLURAL">Each of the hidden volumes within the newly mounted volumes is now protected against damage until dismounted.\n\nWARNING: If any data is attempted to be saved to protected hidden volume area of any of these volumes, RealCrypt will start write-protecting the entire volume (both the outer and the hidden part) until it is dismounted. This may cause filesystem corruption on the outer volume, which (if repeated) might adversely affect plausible deniability of the hidden volume. Therefore, you should make every effort to avoid writing to the hidden volume area. Any data being saved to protected hidden volume areas will not be saved and will be lost. Windows may report this as a write error ("Delayed Write Failed" or "The parameter is incorrect").</string>
+    <string lang="en" key="DAMAGE_TO_HIDDEN_VOLUME_PREVENTED">WARNING: Data were attempted to be saved to the hidden volume area of the volume mounted as %c:! RealCrypt prevented these data from being saved in order to protect the hidden volume. This may have caused filesystem corruption on the outer volume and Windows may have reported a write error ("Delayed Write Failed" or "The parameter is incorrect"). The entire volume (both the outer and the hidden part) will be write-protected until it is dismounted. If this is not the first time RealCrypt has prevented data from being saved to the hidden volume area of this volume, plausible deniability of this hidden volume might be adversely affected (due to possible unusual correlated inconsistencies within the outer volume file system). Therefore, you should consider creating a new RealCrypt volume (with Quick Format disabled) and moving files from this volume to the new volume; this volume should be securely erased (both the ou
 ter and the hidden part). We strongly recommend that you restart the operating system now.</string>
+    <string lang="en" key="CAN_CREATE_ONLY_HIDDEN_VOLUMES_UNDER_HIDDEN_OS">For security reasons, when a hidden operating system is running, you can create only hidden RealCrypt volumes.</string>
+    <string lang="en" key="HIDDEN_VOL_CREATION_UNDER_HIDDEN_OS_HOWTO">For security reasons, when a hidden operating system is running, hidden volumes can be created only in the 'direct' mode (because outer volumes must always be mounted as read-only).\n\nTo create a hidden volume securely, follow these steps:\n\n1) Boot the decoy system.\n\n2) Create a normal RealCrypt volume and, to this volume, copy some sensitive-looking files that you actually do NOT want to hide (the volume will become the outer volume).\n\n3) Boot the hidden system and start the RealCrypt Volume Creation Wizard.\n\n4) If the volume is file-hosted, move it to the system partition or to another hidden volume (otherwise, the newly created hidden volume would be mounted as read-only and could not be formatted).\n\n5) Follow the instructions in the wizard so as to select the 'direct' hidden volume creation mode.\n\n6) In the wizard, select the volume you created in step 2 and then follow the instructions to
  create a hidden volume within it.</string>
+    <string lang="en" key="HIDDEN_OS_WRITE_PROTECTION_BRIEF_INFO">For security reasons, when a hidden operating system is running, local unencrypted filesystems and non-hidden RealCrypt volumes are mounted as read-only (no data can be written to such filesystems or RealCrypt volumes).\n\nData is allowed to be written to any filesystem that resides within a hidden RealCrypt volume (provided that the hidden volume is not located in a container stored on an unencrypted filesystem or on any other read-only filesystem).</string>
+    <string lang="en" key="HIDDEN_OS_WRITE_PROTECTION_EXPLANATION">There are three main reasons why such countermeasures have been implemented:\n\n- It enables the creation of a secure platform for mounting of hidden RealCrypt volumes. Note that we officially recommend that hidden volumes are mounted only when a hidden operating system is running. (For more information, see the subsection 'Security Precautions Pertaining to Hidden Volumes' in the documentation.)\n\n- In some cases, it is possible to determine that, at a certain time, a particular filesystem was not mounted under (or that a particular file on the filesystem was not saved or accessed from within) a particular instance of an operating system (e.g. by analyzing and comparing filesystem journals, file timestamps, application logs, error logs, etc). This might indicate that a hidden operating system is installed on the computer. The countermeasures prevent these issues.\n\n- It protects the integrity of a filesyst
 em that is mounted under both the decoy system and the hidden system when one or both of the systems are/is hibernated.</string>
+    <string lang="en" key="DECOY_TO_HIDDEN_OS_DATA_TRANSFER_HOWTO">Note: If you need to securely transfer files from the decoy system to the hidden system, follow these steps:\n1) Start the decoy system.\n2) Save the files to an unencrypted volume or to an outer/normal RealCrypt volume.\n3) Start the hidden system.\n4) If you saved the files to a RealCrypt volume, mount it (it will be automatically mounted as read-only).\n5) Copy the files to the hidden system partition or to another hidden volume.</string>
     <string lang="en" key="CONFIRM_RESTART">Your computer must be restarted.\n\nDo you want to restart it now?</string>
     <string lang="en" key="TC_INSTALLER_REQUIRING_RESTART">Installation can be completed only after your computer is restarted.\n\nNote that, for security reasons, this installation wizard cannot be closed until the computer is restarted.\n\nDo you want to restart the computer now?</string>
     <string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
@@ -491,7 +491,7 @@
     <string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
     <string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
     <string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
-    <string lang="en" key="INTRO_TITLE">TrueCrypt Volume Creation Wizard</string>
+    <string lang="en" key="INTRO_TITLE">RealCrypt Volume Creation Wizard</string>
     <string lang="en" key="MAX_HIDVOL_SIZE_BYTES">Maximum possible hidden volume size for this volume is %.2f bytes.</string>
     <string lang="en" key="MAX_HIDVOL_SIZE_KB">Maximum possible hidden volume size for this volume is %.2f KB.</string>
     <string lang="en" key="MAX_HIDVOL_SIZE_MB">Maximum possible hidden volume size for this volume is %.2f MB.</string>
@@ -499,14 +499,14 @@
     <string lang="en" key="MOUNTED_NOPWCHANGE">Volume password/keyfiles cannot be changed while the volume is mounted. Please dismount the volume first.</string>
     <string lang="en" key="MOUNTED_NO_PKCS5_PRF_CHANGE">The header key derivation algorithm cannot be changed while the volume is mounted. Please dismount the volume first.</string>
     <string lang="en" key="MOUNT_BUTTON">&amp;Mount</string>
-    <string lang="en" key="NEW_VERSION_REQUIRED">A newer version of TrueCrypt is required to mount this volume.</string>
-    <string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'TrueCrypt Format.exe' is in the folder from which 'TrueCrypt.exe' was launched. If it is not, please reinstall TrueCrypt, or locate 'TrueCrypt Format.exe' on your disk and run it.</string>
+    <string lang="en" key="NEW_VERSION_REQUIRED">A newer version of RealCrypt is required to mount this volume.</string>
+    <string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'RealCrypt Format.exe' is in the folder from which 'RealCrypt.exe' was launched. If it is not, please reinstall RealCrypt, or locate 'RealCrypt Format.exe' on your disk and run it.</string>
     <string lang="en" key="NEXT">&amp;Next &gt;</string>
     <string lang="en" key="FINALIZE">&amp;Finish</string>
     <string lang="en" key="RESTART">Restart</string>
     <string lang="en" key="INSTALL">&amp;Install</string>
     <string lang="en" key="EXTRACT">E&amp;xtract</string>
-    <string lang="en" key="NODRIVER">Unable to connect to the TrueCrypt device driver. TrueCrypt cannot work if the device driver is not running.\n\nPlease note that, due to a Windows issue, it may be necessary to log off or restart the system before the device driver can be loaded.</string>
+    <string lang="en" key="NODRIVER">Unable to connect to the RealCrypt device driver. RealCrypt cannot work if the device driver is not running.\n\nPlease note that, due to a Windows issue, it may be necessary to log off or restart the system before the device driver can be loaded.</string>
     <string lang="en" key="NOFONT">Error occurred when loading/preparing fonts.</string>
     <string lang="en" key="NOT_FOUND">The drive letter was not found or no drive letter was specified.</string>
     <string lang="en" key="DRIVE_LETTER_UNAVAILABLE">Drive letter not available.</string>
@@ -519,35 +519,35 @@
     <string lang="en" key="HIDDEN_VOLUME_TOO_SMALL_FOR_OS_CLONE">Error: The files you copied to the outer volume occupy too much space. Therefore, there is not enough free space on the outer volume for the hidden volume.\n\nNote that the hidden volume must be as large as the system partition (the partition where the currently running operating system is installed). The reason is that the hidden operating system needs to be created by copying the content of the system partition to the hidden volume.\n\n\nThe process of creation of the hidden operating system cannot continue.</string>
     <string lang="en" key="OPENFILES_DRIVER">The driver is unable to dismount the volume. Some files located on the volume are probably still open.</string>
     <string lang="en" key="OPENFILES_LOCK">Unable to lock the volume. There are still open files on the volume. Therefore, it cannot be dismounted.</string>
-    <string lang="en" key="VOL_LOCK_FAILED_OFFER_FORCED_DISMOUNT">TrueCrypt cannot lock the volume because it is in use by the system or applications (there may be open files on the volume).\n\nDo you want to force dismount on the volume?</string>
-    <string lang="en" key="OPEN_VOL_TITLE">Select a TrueCrypt Volume</string>
+    <string lang="en" key="VOL_LOCK_FAILED_OFFER_FORCED_DISMOUNT">RealCrypt cannot lock the volume because it is in use by the system or applications (there may be open files on the volume).\n\nDo you want to force dismount on the volume?</string>
+    <string lang="en" key="OPEN_VOL_TITLE">Select a RealCrypt Volume</string>
     <string lang="en" key="OPEN_TITLE">Specify Path and File Name</string>
     <string lang="en" key="SELECT_PATH">Select Path</string>
     <string lang="en" key="SELECT_PKCS11_MODULE">Select PKCS #11 Library</string>
     <string lang="en" key="OUTOFMEMORY">Out of Memory</string>
-    <string lang="en" key="FORMAT_DEVICE_FOR_ADVANCED_ONLY">IMPORTANT: We strongly recommend that inexperienced users create a TrueCrypt file container on the selected device/partition, instead of attempting to encrypt the entire device/partition.\n\nWhen you create a TrueCrypt file container (as opposed to encrypting a device or partition) there is, for example, no risk of destroying a large number of files. Note that a TrueCrypt file container (even though it contains a virtual encrypted disk) is actually just like any normal file. Therefore, it can be, for example, easily renamed, moved, or copied as any normal file. For more information, see the chapter Beginner's Tutorial in the TrueCrypt User Guide.\n\nAre you sure you want to encrypt the entire device/partition?</string>
-    <string lang="en" key="OVERWRITEPROMPT">WARNING: The file '%hs' already exists!\n\nIMPORTANT: TRUECRYPT WILL NOT ENCRYPT THE FILE, BUT IT WILL DELETE IT. Are you sure you want to delete the file and replace it with a new TrueCrypt container?</string>
+    <string lang="en" key="FORMAT_DEVICE_FOR_ADVANCED_ONLY">IMPORTANT: We strongly recommend that inexperienced users create a RealCrypt file container on the selected device/partition, instead of attempting to encrypt the entire device/partition.\n\nWhen you create a RealCrypt file container (as opposed to encrypting a device or partition) there is, for example, no risk of destroying a large number of files. Note that a RealCrypt file container (even though it contains a virtual encrypted disk) is actually just like any normal file. Therefore, it caruen be, for example, easily renamed, moved, or copied as any normal file. For more information, see the chapter Beginner's Tutorial in the RealCrypt User Guide.\n\nAre you sure you want to encrypt the entire device/partition?</string>
+    <string lang="en" key="OVERWRITEPROMPT">WARNING: The file '%hs' already exists!\n\nIMPORTANT: REALCRYPT WILL NOT ENCRYPT THE FILE, BUT IT WILL DELETE IT. Are you sure you want to delete the file and replace it with a new RealCrypt container?</string>
     <string lang="en" key="OVERWRITEPROMPT_DEVICE">CAUTION: ALL FILES CURRENTLY STORED ON THE SELECTED %s '%hs'%s WILL BE ERASED AND LOST (THEY WILL NOT BE ENCRYPTED)!\n\nAre you sure you want to proceed with format?</string>
     <string lang="en" key="NONSYS_INPLACE_ENC_CONFIRM">WARNING: You will not be able to mount the volume or access any files stored on it until it has been fully encrypted.\n\nAre you sure you want to start encrypting the selected %s '%hs'%s?</string>
-    <string lang="en" key="NONSYS_INPLACE_ENC_CONFIRM_BACKUP">WARNING: Please note that if power supply is suddenly interrupted while encrypting existing data in place, or when the operating system crashes due to a software error or hardware malfunction while TrueCrypt is encrypting existing data in place, portions of the data will be corrupted or lost. Therefore, before you start encrypting, please make sure that you have backup copies of the files you want to encrypt.\n\nDo you have such a backup?</string>
+    <string lang="en" key="NONSYS_INPLACE_ENC_CONFIRM_BACKUP">WARNING: Please note that if power supply is suddenly interrupted while encrypting existing data in place, or when the operating system crashes due to a software error or hardware malfunction while RealCrypt is encrypting existing data in place, portions of the data will be corrupted or lost. Therefore, before you start encrypting, please make sure that you have backup copies of the files you want to encrypt.\n\nDo you have such a backup?</string>
     <string lang="en" key="OVERWRITEPROMPT_DEVICE_HIDDEN_OS_PARTITION">CAUTION: ANY FILES CURRENTLY STORED ON THE PARTITION '%hs'%s (I.E. ON THE FIRST PARTITION BEHIND THE SYSTEM PARTITION) WILL BE ERASED AND LOST (THEY WILL NOT BE ENCRYPTED)!\n\nAre you sure you want to proceed with format?</string>
     <string lang="en" key="OVERWRITEPROMPT_DEVICE_SECOND_WARNING_LOTS_OF_DATA">WARNING: THE SELECTED PARTITION CONTAINS A LARGE AMOUNT OF DATA! Any files stored on the partition will be erased and lost (they will NOT be encrypted)!</string>
-    <string lang="en" key="ERASE_FILES_BY_CREATING_VOLUME">Erase any files stored on the partition by creating a TrueCrypt volume within it</string>
+    <string lang="en" key="ERASE_FILES_BY_CREATING_VOLUME">Erase any files stored on the partition by creating a RealCrypt volume within it</string>
     <string lang="en" key="PASSWORD">Password</string>
-    <string lang="en" key="PASSWORD_CHANGED">Password and/or keyfile(s) successfully changed.\n\nIMPORTANT: Please make sure you have read the section 'Changing Passwords and Keyfiles' in the chapter 'Security Precautions' in the TrueCrypt User Guide.</string>
-    <string lang="en" key="SYS_PASSWORD_CHANGED_ASK_RESCUE_DISK">IMPORTANT: If you did not destroy your TrueCrypt Rescue Disk, your system partition/drive can still be decrypted using the old password (by booting the TrueCrypt Rescue Disk and entering the old password). You should create a new TrueCrypt Rescue Disk and then destroy the old one.\n\nDo you want to create a new TrueCrypt Rescue Disk?</string>
-    <string lang="en" key="SYS_HKD_ALGO_CHANGED_ASK_RESCUE_DISK">Note that your TrueCrypt Rescue Disk still uses the previous algorithm. If you consider the previous algorithm insecure, you should create a new TrueCrypt Rescue Disk and then destroy the old one.\n\nDo you want to create a new TrueCrypt Rescue Disk?</string>
-    <string lang="en" key="KEYFILES_NOTE">Any kind of file (for example, .mp3, .jpg, .zip, .avi) may be used as a TrueCrypt keyfile. Note that TrueCrypt never modifies the keyfile contents. You can select more than one keyfile (the order does not matter). If you add a folder, all files found in it will be used as keyfiles. Click 'Add Token Files' to select keyfiles stored on security tokens or smart cards (or to import keyfiles to security tokens or smart cards).</string>
+    <string lang="en" key="PASSWORD_CHANGED">Password and/or keyfile(s) successfully changed.\n\nIMPORTANT: Please make sure you have read the section 'Changing Passwords and Keyfiles' in the chapter 'Security Precautions' in the RealCrypt User Guide.</string>
+    <string lang="en" key="SYS_PASSWORD_CHANGED_ASK_RESCUE_DISK">IMPORTANT: If you did not destroy your RealCrypt Rescue Disk, your system partition/drive can still be decrypted using the old password (by booting the RealCrypt Rescue Disk and entering the old password). You should create a new RealCrypt Rescue Disk and then destroy the old one.\n\nDo you want to create a new RealCrypt Rescue Disk?</string>
+    <string lang="en" key="SYS_HKD_ALGO_CHANGED_ASK_RESCUE_DISK">Note that your RealCrypt Rescue Disk still uses the previous algorithm. If you consider the previous algorithm insecure, you should create a new RealCrypt Rescue Disk and then destroy the old one.\n\nDo you want to create a new RealCrypt Rescue Disk?</string>
+    <string lang="en" key="KEYFILES_NOTE">Any kind of file (for example, .mp3, .jpg, .zip, .avi) may be used as a RealCrypt keyfile. Note that RealCrypt never modifies the keyfile contents. You can select more than one keyfile (the order does not matter). If you add a folder, all files found in it will be used as keyfiles. Click 'Add Token Files' to select keyfiles stored on security tokens or smart cards (or to import keyfiles to security tokens or smart cards).</string>
     <string lang="en" key="KEYFILE_CHANGED">Keyfile(s) successfully added/removed.</string>
     <string lang="en" key="KEYFILE_EXPORTED">Keyfile exported.</string>
     <string lang="en" key="PKCS5_PRF_CHANGED">Header key derivation algorithm successfully set.</string>
-    <string lang="en" key="NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE_HELP">Please enter the password and/or keyfile(s) for the non-system volume where you want to resume the process of in-place encryption.\n\n\nRemark: After you click Next, TrueCrypt will attempt to find all non-system volumes where the process of encryption has been interrupted and where the TrueCrypt volume header can be decrypted using the supplied password and/or keyfile(s). If more than one such volume is found, you will need to select one of them in the next step.</string>
+    <string lang="en" key="NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE_HELP">Please enter the password and/or keyfile(s) for the non-system volume where you want to resume the process of in-place encryption.\n\n\nRemark: After you click Next, RealCrypt will attempt to find all non-system volumes where the process of encryption has been interrupted and where the RealCrypt volume header can be decrypted using the supplied password and/or keyfile(s). If more than one such volume is found, you will need to select one of them in the next step.</string>
     <string lang="en" key="NONSYS_INPLACE_ENC_RESUME_VOL_SELECT_HELP">Please select one of the listed volumes. The list contains every accessible non-system volume where the process of encryption has been interrupted and whose header could be decrypted using the supplied password and/or keyfile(s).</string>
     <string lang="en" key="PASSWORD_HELP">It is very important that you choose a good password. You should avoid choosing one that contains only a single word that can be found in a dictionary (or a combination of 2, 3, or 4 such words). It should not contain any names or dates of birth. It should not be easy to guess. A good password is a random combination of upper and lower case letters, numbers, and special characters, such as @ ^ = $ * + etc. We recommend choosing a password consisting of more than 20 characters (the longer, the better). The maximum possible length is 64 characters.</string>
     <string lang="en" key="PASSWORD_HIDDENVOL_HELP">Please choose a password for the hidden volume. </string>
     <string lang="en" key="PASSWORD_HIDDEN_OS_HELP">Please choose a password for the hidden operating system (i.e. for the hidden volume). </string>
     <string lang="en" key="PASSWORD_HIDDEN_OS_NOTE">IMPORTANT: The password that you choose for the hidden operating system in this step must be substantially different from the other two passwords (i.e. from the password for the outer volume and from the password for the decoy operating system).</string>
-    <string lang="en" key="PASSWORD_HIDDENVOL_HOST_DIRECT_HELP">Please enter the password for the volume within which you wish to create a hidden volume.\n\nAfter you click Next, TrueCrypt will attempt to mount the volume. As soon as the volume is mounted, its cluster bitmap will be scanned to determine the size of the uninterrupted area of free space (if there is any) whose end is aligned with the end of the volume. This area will accommodate the hidden volume and therefore will limit its maximum possible size. Cluster map scanning is necessary to ensure that no data on the outer volume will be overwritten by the hidden volume.</string>
+    <string lang="en" key="PASSWORD_HIDDENVOL_HOST_DIRECT_HELP">Please enter the password for the volume within which you wish to create a hidden volume.\n\nAfter you click Next, RealCrypt will attempt to mount the volume. As soon as the volume is mounted, its cluster bitmap will be scanned to determine the size of the uninterrupted area of free space (if there is any) whose end is aligned with the end of the volume. This area will accommodate the hidden volume and therefore will limit its maximum possible size. Cluster map scanning is necessary to ensure that no data on the outer volume will be overwritten by the hidden volume.</string>
     <string lang="en" key="PASSWORD_HIDDENVOL_HOST_HELP">\nPlease choose a password for the outer volume. This will be the password that you will be able to reveal to an adversary if you are asked or forced to do so.\n\nIMPORTANT: The password must be substantially different from the one you will choose for the hidden volume.\n\nNote: The maximum possible password length is 64 characters.</string>
     <string lang="en" key="PASSWORD_SYSENC_OUTERVOL_HELP">Please choose a password for the outer volume. This will be the password you will be able to reveal to anyone forcing you to disclose the password for the first partition behind the system partition, where both the outer volume and the hidden volume (containing the hidden operating system) will reside. The existence of the hidden volume (and of the hidden operating system) will remain secret. Note that this password is not for the decoy operating system.\n\nIMPORTANT: The password must be substantially different from the one you will choose for the hidden volume (i.e. for the hidden operating system).</string>
     <string lang="en" key="PASSWORD_HIDVOL_HOST_TITLE">Outer Volume Password</string>
@@ -555,15 +555,15 @@
     <string lang="en" key="PASSWORD_HIDDEN_OS_TITLE">Password for Hidden Operating System</string>
     <string lang="en" key="PASSWORD_LENGTH_WARNING">WARNING: Short passwords are easy to crack using brute force techniques!\n\nWe recommend choosing a password consisting of more than 20 characters. Are you sure you want to use a short password?</string>
     <string lang="en" key="PASSWORD_TITLE">Volume Password</string>
-    <string lang="en" key="PASSWORD_WRONG">Incorrect password or not a TrueCrypt volume.</string>
-    <string lang="en" key="PASSWORD_OR_KEYFILE_WRONG">Incorrect keyfile(s) and/or password or not a TrueCrypt volume.</string>
-    <string lang="en" key="PASSWORD_OR_MODE_WRONG">Wrong mount mode, incorrect password, or not a TrueCrypt volume.</string>
-    <string lang="en" key="PASSWORD_OR_KEYFILE_OR_MODE_WRONG">Wrong mount mode, incorrect keyfile(s) and/or password, or not a TrueCrypt volume.</string>
-    <string lang="en" key="PASSWORD_WRONG_AUTOMOUNT">Incorrect password or no TrueCrypt volume found.</string>
-    <string lang="en" key="PASSWORD_OR_KEYFILE_WRONG_AUTOMOUNT">Incorrect keyfile(s)/password or no TrueCrypt volume found.</string>
+    <string lang="en" key="PASSWORD_WRONG">Incorrect password or not a RealCrypt volume.</string>
+    <string lang="en" key="PASSWORD_OR_KEYFILE_WRONG">Incorrect keyfile(s) and/or password or not a RealCrypt volume.</string>
+    <string lang="en" key="PASSWORD_OR_MODE_WRONG">Wrong mount mode, incorrect password, or not a RealCrypt volume.</string>
+    <string lang="en" key="PASSWORD_OR_KEYFILE_OR_MODE_WRONG">Wrong mount mode, incorrect keyfile(s) and/or password, or not a RealCrypt volume.</string>
+    <string lang="en" key="PASSWORD_WRONG_AUTOMOUNT">Incorrect password or no RealCrypt volume found.</string>
+    <string lang="en" key="PASSWORD_OR_KEYFILE_WRONG_AUTOMOUNT">Incorrect keyfile(s)/password or no RealCrypt volume found.</string>
     <string lang="en" key="PASSWORD_WRONG_CAPSLOCK_ON">\n\nWarning: Caps Lock is on. This may cause you to enter your password incorrectly.</string>
     <string lang="en" key="HIDDEN_VOL_PROT_PASSWORD_US_KEYB_LAYOUT">If you are attempting to protect a hidden volume containing a hidden system, please make sure you are using the standard US keyboard layout when typing the password for the hidden volume. This is required due to the fact that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available.</string>
-    <string lang="en" key="FOUND_NO_PARTITION_W_DEFERRED_INPLACE_ENC">TrueCrypt has not found any volume where non-system encryption has been interrupted and where the volume header can be decrypted using the supplied password and/or keyfile(s).\n\nPlease make sure the password and/or keyfile(s) are correct and that the partition/volume is not being used by the system or applications (including antivirus software).</string>
+    <string lang="en" key="FOUND_NO_PARTITION_W_DEFERRED_INPLACE_ENC">RealCrypt has not found any volume where non-system encryption has been interrupted and where the volume header can be decrypted using the supplied password and/or keyfile(s).\n\nPlease make sure the password and/or keyfile(s) are correct and that the partition/volume is not being used by the system or applications (including antivirus software).</string>
     <string lang="en" key="SYSENC_MOUNT_WITHOUT_PBA_NOTE">\n\nNote: If you are attempting to mount a partition located on an encrypted system drive without pre-boot authentication or to mount the encrypted system partition of an operating system that is not running, you can do so by selecting 'System' > 'Mount Without Pre-Boot Authentication'.</string>
     <string lang="en" key="MOUNT_WITHOUT_PBA_VOL_ON_ACTIVE_SYSENC_DRIVE">In this mode, you cannot mount a partition located on a drive whose portion is within the key scope of active system encryption.\n\nBefore you can mount this partition in this mode, you need to either boot an operating system installed on a different drive (encrypted or unencrypted) or boot an unencrypted operating system.</string>
     <string lang="en" key="PREV">&lt; &amp;Back</string>
@@ -596,9 +596,9 @@
     <string lang="en" key="TEST_PLAINTEXT_SIZE">The test plaintext you have supplied is too long or short.</string>
     <string lang="en" key="TWO_LAYER_CASCADE_HELP">Two ciphers in a cascade operating in XTS mode. Each block is first encrypted with %hs (%d-bit key) and then with %hs (%d-bit key). Each cipher uses its own key. All keys are mutually independent.</string>
     <string lang="en" key="THREE_LAYER_CASCADE_HELP">Three ciphers in a cascade operating in XTS mode. Each block is first encrypted with %hs (%d-bit key), then with %hs (%d-bit key), and finally with %hs (%d-bit key). Each cipher uses its own key. All keys are mutually independent.</string>
-    <string lang="en" key="AUTORUN_MAY_NOT_ALWAYS_WORK">Note that, depending on the operating system configuration, these auto-run and auto-mount features may work only when the traveler disk files are created on a non-writable CD/DVD-like medium. Also note that this is not a bug in TrueCrypt (it is a limitation of Windows).</string>
-    <string lang="en" key="TRAVELER_DISK_CREATED">TrueCrypt traveler disk has been successfully created.\n\nNote that you need administrator privileges to run TrueCrypt in traveler mode. Also note that, after examining the registry file, it may be possible to tell that TrueCrypt was run on a Windows system even if it is run in traveler mode.</string>
-    <string lang="en" key="TC_TRAVELER_DISK">TrueCrypt Traveler Disk</string>
+    <string lang="en" key="AUTORUN_MAY_NOT_ALWAYS_WORK">Note that, depending on the operating system configuration, these auto-run and auto-mount features may work only when the traveler disk files are created on a non-writable CD/DVD-like medium. Also note that this is not a bug in RealCrypt (it is a limitation of Windows).</string>
+    <string lang="en" key="TRAVELER_DISK_CREATED">RealCrypt traveler disk has been successfully created.\n\nNote that you need administrator privileges to run RealCrypt in traveler mode. Also note that, after examining the registry file, it may be possible to tell that RealCrypt was run on a Windows system even if it is run in traveler mode.</string>
+    <string lang="en" key="TC_TRAVELER_DISK">RealCrypt Traveler Disk</string>
     <string lang="en" key="TWOFISH_HELP">Designed by Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson. Published in 1998. 256-bit key, 128-bit block. Mode of operation is XTS. Twofish was one of the AES finalists.</string>
     <string lang="en" key="MORE_INFO_ABOUT">More information on %hs</string>
     <string lang="en" key="UNKNOWN">Unknown</string>
@@ -616,24 +616,24 @@
     <string lang="en" key="VOL_TOO_SMALL">The volume is too small - it is an invalid volume.</string>
     <string lang="en" key="WARN_QUICK_FORMAT">WARNING: You should use Quick Format only in the following cases:\n\n1) The device contains random data (e.g. has already been securely and fully encrypted).\n2) You are going to use all available space immediately.\n3) You are not concerned with security (testing).\n\nAre you sure you want to use Quick Format?</string>
     <string lang="en" key="CONFIRM_SPARSE_FILE">Dynamic container is a pre-allocated NTFS sparse file whose physical size (actual disk space used) grows as new data is added to it.\n\nWARNING: Performance of sparse-file-hosted volumes is significantly worse than performance of regular volumes. Sparse-file-hosted volumes are also less secure, because it is possible to tell which volume sectors are unused. Furthermore, sparse-file-hosted volumes cannot provide plausible deniability (host a hidden volume). Also note that if data is written to a sparse file container when there is not enough free space in the host file system, the encrypted file system may get corrupted.\n\nAre you sure you want to create a sparse-file-hosted volume?</string>
-    <string lang="en" key="SPARSE_FILE_SIZE_NOTE">Note that the size of the dynamic container reported by Windows and by TrueCrypt will always be equal to its maximum size. To find out current physical size of the container (actual disk space it uses), right-click the container file (in a Windows Explorer window, not in TrueCrypt), then select 'Properties' and see the 'Size on disk' value.</string>
+    <string lang="en" key="SPARSE_FILE_SIZE_NOTE">Note that the size of the dynamic container reported by Windows and by RealCrypt will always be equal to its maximum size. To find out current physical size of the container (actual disk space it uses), right-click the container file (in a Windows Explorer window, not in RealCrypt), then select 'Properties' and see the 'Size on disk' value.</string>
     <string lang="en" key="PASSWORD_CACHE_WIPED">Passwords stored in the device driver cache have been wiped.</string>
-    <string lang="en" key="WRONG_VOL_TYPE">TrueCrypt cannot change the password for a foreign volume.</string>
+    <string lang="en" key="WRONG_VOL_TYPE">RealCrypt cannot change the password for a foreign volume.</string>
     <string lang="en" key="SELECT_FREE_DRIVE">Please select a free drive letter from the list.</string>
     <string lang="en" key="SELECT_A_MOUNTED_VOLUME">Please select a mounted volume in the drive letter list.</string>
     <string lang="en" key="CANT_CREATE_AUTORUN">Error: Cannot create autorun.inf</string>
     <string lang="en" key="ERR_PROCESS_KEYFILE">Error while processing keyfile!</string>
     <string lang="en" key="ERR_PROCESS_KEYFILE_PATH">Error processing keyfile path!</string>
-    <string lang="en" key="UNSUPPORTED_OS">TrueCrypt does not support this operating system.</string>
-    <string lang="en" key="UNSUPPORTED_BETA_OS">Error: TrueCrypt supports only stable (non-beta) versions of this operating system.</string>
+    <string lang="en" key="UNSUPPORTED_OS">RealCrypt does not support this operating system.</string>
+    <string lang="en" key="UNSUPPORTED_BETA_OS">Error: RealCrypt supports only stable (non-beta) versions of this operating system.</string>
     <string lang="en" key="ERR_MEM_ALLOC">Error: Cannot allocate memory.</string>
     <string lang="en" key="ERR_PERF_COUNTER">Error: Could not retrieve value of performance counter.</string>
     <string lang="en" key="ERR_VOL_FORMAT_BAD">Error: Bad volume format.</string>
     <string lang="en" key="ERR_HIDDEN_NOT_NORMAL_VOLUME">Error: You supplied a password for a hidden volume (not for a normal volume).</string>
-    <string lang="en" key="ERR_HIDDEN_VOL_HOST_ENCRYPTED_INPLACE">For security reasons, a hidden volume cannot be created within a TrueCrypt volume containing a filesystem that has been encrypted in place (because the free space on the volume has not been filled with random data).</string>
-    <string lang="en" key="LEGAL_NOTICES_DLG_TITLE">TrueCrypt - Legal Notices</string>    
+    <string lang="en" key="ERR_HIDDEN_VOL_HOST_ENCRYPTED_INPLACE">For security reasons, a hidden volume cannot be created within a RealCrypt volume containing a filesystem that has been encrypted in place (because the free space on the volume has not been filled with random data).</string>
+    <string lang="en" key="LEGAL_NOTICES_DLG_TITLE">RealCrypt - Legal Notices</string>    
     <string lang="en" key="ALL_FILES">All Files</string>
-    <string lang="en" key="TC_VOLUMES">TrueCrypt Volumes</string>
+    <string lang="en" key="TC_VOLUMES">RealCrypt Volumes</string>
     <string lang="en" key="DLL_FILES">Library Modules</string>
     <string lang="en" key="FORMAT_NTFS_STOP">NTFS formatting cannot continue.</string>
     <string lang="en" key="CANT_MOUNT_VOLUME">Cannot mount volume.</string>
@@ -655,8 +655,8 @@
     <string lang="en" key="CLUSTER_TOO_SMALL">The selected cluster size is too small for this volume size. A greater cluster size will be used instead.</string>
     <string lang="en" key="CANT_GET_VOLSIZE">Error: Cannot get volume size!\n\nMake sure the selected volume is not being used by the system or an application.</string>
     <string lang="en" key="HIDDEN_VOL_HOST_SPARSE">Hidden volumes shall not be created within dynamic (sparse file) containers. To achieve plausible deniability, the hidden volume shall be created within a regular volume.</string>
-    <string lang="en" key="HIDDEN_VOL_HOST_UNSUPPORTED_FILESYS">The TrueCrypt Volume Creation Wizard can create a hidden volume only within a FAT or NTFS volume.</string>
-    <string lang="en" key="HIDDEN_VOL_HOST_UNSUPPORTED_FILESYS_WIN2000">Under Windows 2000, the TrueCrypt Volume Creation Wizard can create a hidden volume only within a FAT volume.</string>
+    <string lang="en" key="HIDDEN_VOL_HOST_UNSUPPORTED_FILESYS">The RealCrypt Volume Creation Wizard can create a hidden volume only within a FAT or NTFS volume.</string>
+    <string lang="en" key="HIDDEN_VOL_HOST_UNSUPPORTED_FILESYS_WIN2000">Under Windows 2000, the RealCrypt Volume Creation Wizard can create a hidden volume only within a FAT volume.</string>
     <string lang="en" key="HIDDEN_VOL_HOST_NTFS">Note: The FAT file system is more suitable for outer volumes than the NTFS file system (for example, the maximum possible size of the hidden volume would very likely have been significantly greater if the outer volume had been formatted as FAT).</string>
     <string lang="en" key="HIDDEN_VOL_HOST_NTFS_ASK">Note that the FAT file system is more suitable for outer volumes than the NTFS file system. For example, the maximum possible size of the hidden volume will very likely be significantly greater if the outer volume is formatted as FAT (the reason is that the NTFS file system always stores internal data exactly in the middle of the volume and, therefore, the hidden volume can reside only in the second half of the outer volume).\n\nAre you sure you want to format the outer volume as NTFS?</string>
     <string lang="en" key="OFFER_FAT_FORMAT_ALTERNATIVE">Do you want to format the volume as FAT instead?</string>
@@ -664,15 +664,15 @@
     <string lang="en" key="PARTITION_TOO_SMALL_FOR_HIDDEN_OS_NTFS">Error: The partition for the hidden operating system (i.e. the first partition behind the system partition) must be at least 110% (2.1 times) larger than the system partition (the system partition is the one where the currently running operating system is installed). The reason is that the NTFS file system always stores internal data exactly in the middle of the volume and, therefore, the hidden volume (which is to contain a clone of the system partition) can reside only in the second half of the partition.</string>
     <string lang="en" key="OUTER_VOLUME_TOO_SMALL_FOR_HIDDEN_OS_NTFS">Error: If the outer volume is formatted as NTFS, it must be at least 110% (2.1 times) larger than the system partition. The reason is that the NTFS file system always stores internal data exactly in the middle of the volume and, therefore, the hidden volume (which is to contain a clone of the system partition) can reside only in the second half of the outer volume.\n\nNote: The outer volume needs to reside within the same partition as the hidden operating system (i.e. within the first partition behind the system partition).</string>
     <string lang="en" key="NO_PARTITION_FOLLOWS_BOOT_PARTITION">Error: There is no partition behind the system partition.\n\nNote that before you can create a hidden operating system, you need to create a partition for it on the system drive. It must be the first partition behind the system partition and it must be at least 5% larger than the system partition (the system partition is the one where the currently running operating system is installed). However, if the outer volume (not to be confused with the system partition) is formatted as NTFS, the partition for the hidden operating system must be at least 110% (2.1 times) larger than the system partition (the reason is that the NTFS file system always stores internal data exactly in the middle of the volume and, therefore, the hidden volume, which is to contain a clone of the system partition, can reside only in the second half of the partition).</string>
-    <string lang="en" key="TWO_SYSTEMS_IN_ONE_PARTITION_REMARK">Remark: It is not practical (and therefore is not supported) to install operating systems in two TrueCrypt volumes that are embedded within a single partition, because using the outer operating system would often require data to be written to the area of the hidden operating system (and if such write operations were prevented using the hidden volume protection feature, it would inherently cause system crashes, i.e. 'Blue Screen' errors).</string>
+    <string lang="en" key="TWO_SYSTEMS_IN_ONE_PARTITION_REMARK">Remark: It is not practical (and therefore is not supported) to install operating systems in two RealCrypt volumes that are embedded within a single partition, because using the outer operating system would often require data to be written to the area of the hidden operating system (and if such write operations were prevented using the hidden volume protection feature, it would inherently cause system crashes, i.e. 'Blue Screen' errors).</string>
     <string lang="en" key="FOR_MORE_INFO_ON_PARTITIONS">For information on how to create and manage partitions, please refer to the documentation supplied with your operating system or contact your computer vendor's technical support team for assistance.</string>
     <string lang="en" key="SYSTEM_PARTITION_NOT_ACTIVE">Error: The currently running operating system is not installed on the boot partition (first Active partition). This is not supported.</string>
-    <string lang="en" key="CONFIRM_FAT_FOR_FILES_OVER_4GB">You indicated that you intend to store files larger than 4 GB in this TrueCrypt volume. However, you chose the FAT file system, on which files larger than 4 GB cannot be stored.\n\nAre you sure you want to format the outer volume as FAT?</string>
+    <string lang="en" key="CONFIRM_FAT_FOR_FILES_OVER_4GB">You indicated that you intend to store files larger than 4 GB in this RealCrypt volume. However, you chose the FAT file system, on which files larger than 4 GB cannot be stored.\n\nAre you sure you want to format the outer volume as FAT?</string>
     <string lang="en" key="CANT_ACCESS_VOL">Error: Cannot access the volume!\n\nMake sure that the selected volume exists, that it is not mounted or being used by the system or an application, that you have read/write permission for the volume, and that it is not write-protected.</string>
     <string lang="en" key="INPLACE_ENC_CANT_ACCESS_OR_GET_INFO_ON_VOL">Error: Cannot access the volume and/or obtain information about the volume.\n\nMake sure that the selected volume exists, that it is not being used by the system or applications, that you have read/write permission for the volume, and that it is not write-protected.</string>
     <string lang="en" key="INPLACE_ENC_CANT_ACCESS_OR_GET_INFO_ON_VOL_ALT">Error: Cannot access the volume and/or obtain information about the volume. Make sure that the selected volume exists, that it is not being used by the system or applications, that you have read/write permission for the volume, and that it is not write-protected.\n\nIf the problem persists, it might help to follow the below steps.</string>
-    <string lang="en" key="INPLACE_ENC_GENERIC_ERR_ALT_STEPS">An error prevented TrueCrypt from encrypting the partition. Please try fixing any previously reported problems and then try again. If the problems persist, it might help to follow the below steps.</string>
-    <string lang="en" key="INPLACE_ENC_GENERIC_ERR_RESUME">An error prevented TrueCrypt from resuming the process of encryption of the partition.\n\nPlease try fixing any previously reported problems and then try resuming the process again. Note that the volume cannot be mounted until it has been fully encrypted.</string>
+    <string lang="en" key="INPLACE_ENC_GENERIC_ERR_ALT_STEPS">An error prevented RealCrypt from encrypting the partition. Please try fixing any previously reported problems and then try again. If the problems persist, it might help to follow the below steps.</string>
+    <string lang="en" key="INPLACE_ENC_GENERIC_ERR_RESUME">An error prevented RealCrypt from resuming the process of encryption of the partition.\n\nPlease try fixing any previously reported problems and then try resuming the process again. Note that the volume cannot be mounted until it has been fully encrypted.</string>
     <string lang="en" key="CANT_DISMOUNT_OUTER_VOL">Error: Cannot dismount the outer volume!\n\nVolume cannot be dismounted if it contains files or folders being used by a program or the system.\n\nPlease close any program that might be using files or directories on the volume and click Retry.</string>
     <string lang="en" key="CANT_GET_OUTER_VOL_INFO">Error: Cannot obtain information about the outer volume!\nVolume creation cannot continue.</string>
     <string lang="en" key="CANT_ACCESS_OUTER_VOL">Error: Cannot access the outer volume! Volume creation cannot continue.</string>
@@ -733,43 +733,43 @@
     <string lang="en" key="UNCHANGED">Unchanged</string>
     <string lang="en" key="SETUP_MODE_TITLE">Wizard Mode</string>
     <string lang="en" key="SETUP_MODE_INFO">Select one of the modes. If you are not sure which to select, use the default mode.</string>
-    <string lang="en" key="SETUP_MODE_HELP_INSTALL">Select this option if you want to install or update TrueCrypt on this system.</string>
-    <string lang="en" key="SETUP_MODE_HELP_EXTRACT">If you select this option, all files will be extracted from this package but nothing will be installed on the system. Do not select it if you intend to encrypt the system partition or system drive. Selecting this option can be useful, for example, if you want to run TrueCrypt in so-called traveler (portable) mode. TrueCrypt does not have to be installed on the operating system under which it is run. After all files are extracted, you can directly run the extracted file 'TrueCrypt.exe' (then TrueCrypt will run in traveler mode). You can also move the extracted files to other computers.</string>
+    <string lang="en" key="SETUP_MODE_HELP_INSTALL">Select this option if you want to install or update RealCrypt on this system.</string>
+    <string lang="en" key="SETUP_MODE_HELP_EXTRACT">If you select this option, all files will be extracted from this package but nothing will be installed on the system. Do not select it if you intend to encrypt the system partition or system drive. Selecting this option can be useful, for example, if you want to run RealCrypt in so-called traveler (portable) mode. RealCrypt does not have to be installed on the operating system under which it is run. After all files are extracted, you can directly run the extracted file 'RealCrypt.exe' (then RealCrypt will run in traveler mode). You can also move the extracted files to other computers.</string>
     <string lang="en" key="SETUP_OPTIONS_TITLE">Setup Options</string>
     <string lang="en" key="SETUP_OPTIONS_INFO">Here you can set various options to control the installation process.</string>
     <string lang="en" key="SETUP_PROGRESS_TITLE">Installing</string>
-    <string lang="en" key="SETUP_PROGRESS_INFO">Please wait while TrueCrypt is being installed.</string>
-    <string lang="en" key="SETUP_FINISHED_TITLE">TrueCrypt Installed</string>
-    <string lang="en" key="SETUP_FINISHED_INFO">TrueCrypt has been successfully installed. You can click Finish and run TrueCrypt now.</string>
-    <string lang="en" key="SETUP_FINISHED_INFO_RESTART_REQUIRED">TrueCrypt has been successfully installed.</string>
+    <string lang="en" key="SETUP_PROGRESS_INFO">Please wait while RealCrypt is being installed.</string>
+    <string lang="en" key="SETUP_FINISHED_TITLE">RealCrypt Installed</string>
+    <string lang="en" key="SETUP_FINISHED_INFO">RealCrypt has been successfully installed. You can click Finish and run RealCrypt now.</string>
+    <string lang="en" key="SETUP_FINISHED_INFO_RESTART_REQUIRED">RealCrypt has been successfully installed.</string>
     <string lang="en" key="EXTRACTION_OPTIONS_TITLE">Extraction Options</string>
     <string lang="en" key="EXTRACTION_OPTIONS_INFO">Here you can set various options to control the extraction process.</string>
     <string lang="en" key="EXTRACTION_PROGRESS_INFO">Please wait while files are being extracted.</string>
     <string lang="en" key="EXTRACTION_FINISHED_TITLE">Extraction Complete</string>
     <string lang="en" key="EXTRACTION_FINISHED_INFO">All files have been successfully extracted to the destination location.</string>
     <string lang="en" key="AUTO_FOLDER_CREATION">If the specified folder does not exist, it will be automatically created.</string>
-    <string lang="en" key="AFTER_UPGRADE_RELEASE_NOTES">Do you want to view release notes for the current (latest stable) version of TrueCrypt?</string>
-    <string lang="en" key="AFTER_INSTALL_TUTORIAL">If you have never used TrueCrypt before, we recommend that you read the chapter Beginner's Tutorial in the TrueCrypt User Guide. Do you want to view the tutorial?</string>
+    <string lang="en" key="AFTER_UPGRADE_RELEASE_NOTES">Do you want to view release notes for the current (latest stable) version of RealCrypt?</string>
+    <string lang="en" key="AFTER_INSTALL_TUTORIAL">If you have never used RealCrypt before, we recommend that you read the chapter Beginner's Tutorial in the RealCrypt User Guide. Do you want to view the tutorial?</string>
     <string lang="en" key="SELECT_AN_ACTION">Please select an action to perform from the following:</string>
     <string lang="en" key="REPAIR_REINSTALL">Repair/Reinstall</string>
     <string lang="en" key="UNINSTALL">Uninstall</string>
     <string lang="en" key="SELECT_INSTALL_DIR">Please select installation directory</string>
-    <string lang="en" key="SETUP_ADMIN">To successfully install/uninstall TrueCrypt, you must have administrator privileges. Do you want to continue?</string>
-    <string lang="en" key="TC_INSTALLER_IS_RUNNING">TrueCrypt Installer is currently running on this system and performing or preparing installation or update of TrueCrypt. Before you proceed, please wait for it to finish or close it. If you cannot close it, please restart your computer before proceeding.</string>
+    <string lang="en" key="SETUP_ADMIN">To successfully install/uninstall RealCrypt, you must have administrator privileges. Do you want to continue?</string>
+    <string lang="en" key="TC_INSTALLER_IS_RUNNING">RealCrypt Installer is currently running on this system and performing or preparing installation or update of RealCrypt. Before you proceed, please wait for it to finish or close it. If you cannot close it, please restart your computer before proceeding.</string>
     <string lang="en" key="INSTALL_FAILED">Installation failed.</string>
     <string lang="en" key="UNINSTALL_FAILED">Uninstallation failed.</string>
-    <string lang="en" key="DIST_PACKAGE_CORRUPTED">This distribution package is damaged. Please try downloading it again (preferably from the official TrueCrypt website at www.truecrypt.org).</string>
+    <string lang="en" key="DIST_PACKAGE_CORRUPTED">This distribution package is damaged. Please try reinstalling it.</string>
     <string lang="en" key="CANNOT_WRITE_FILE_X">Cannot write file %hs</string>
     <string lang="en" key="EXTRACTING_VERB">Extracting</string>
     <string lang="en" key="CANNOT_READ_FROM_PACKAGE">Cannot read data from the package.</string>
     <string lang="en" key="CANT_VERIFY_PACKAGE_INTEGRITY">Cannot verify the integrity of this distribution package.</string>
     <string lang="en" key="EXTRACTION_FAILED">Extraction failed.</string>
     <string lang="en" key="ROLLBACK">The installation has been rolled back.</string>
-    <string lang="en" key="INSTALL_OK">TrueCrypt has been successfully installed.</string>
-    <string lang="en" key="SETUP_UPDATE_OK">TrueCrypt has been successfully updated.</string>
-    <string lang="en" key="UPGRADE_OK_REBOOT_REQUIRED">TrueCrypt has been upgraded to a new version. Before you can start using it, your computer must be restarted.\n\nDo you want to restart it now?</string>
-    <string lang="en" key="UNINSTALL_OK">TrueCrypt has been successfully uninstalled.\n\nClick 'Finish' to remove the TrueCrypt installer and the folder %hs. Note that the folder will not be removed if it contains any files that were not installed by the TrueCrypt installer or created by TrueCrypt.</string>
-    <string lang="en" key="REMOVING_REG">Removing TrueCrypt registry entries</string>
+    <string lang="en" key="INSTALL_OK">RealCrypt has been successfully installed.</string>
+    <string lang="en" key="SETUP_UPDATE_OK">RealCrypt has been successfully updated.</string>
+    <string lang="en" key="UPGRADE_OK_REBOOT_REQUIRED">RealCrypt has been upgraded to a new version. Before you can start using it, your computer must be restarted.\n\nDo you want to restart it now?</string>
+    <string lang="en" key="UNINSTALL_OK">RealCrypt has been successfully uninstalled.\n\nClick 'Finish' to remove the RealCrypt installer and the folder %hs. Note that the folder will not be removed if it contains any files that were not installed by the RealCrypt installer or created by RealCrypt.</string>
+    <string lang="en" key="REMOVING_REG">Removing RealCrypt registry entries</string>
     <string lang="en" key="ADDING_REG">Adding registry entry</string>
     <string lang="en" key="REMOVING_APPDATA">Removing application-specific data</string>
     <string lang="en" key="INSTALLING">Installing</string>
@@ -785,19 +785,19 @@
     <string lang="en" key="UNINSTALL_OF_FAILED">Failed to uninstall '%hs'. %hs\nDo you want to continue uninstalling?</string>
     <string lang="en" key="INSTALL_COMPLETED">Installation completed.</string>
     <string lang="en" key="CANT_CREATE_FOLDER">The folder '%hs' could not be created</string>
-    <string lang="en" key="CLOSE_TC_FIRST">The TrueCrypt device driver cannot be unloaded.\n\nPlease close all open TrueCrypt windows first. If it does not help, please restart Windows and then try again.</string>
-    <string lang="en" key="DISMOUNT_ALL_FIRST">All TrueCrypt volumes must be dismounted before installing or uninstalling TrueCrypt.</string>
-    <string lang="en" key="UNINSTALL_OLD_VERSION_FIRST">An obsolete version of TrueCrypt is currently installed on this system. It needs to be uninstalled before you can install this new version of TrueCrypt.\n\nAs soon as you close this message box, the uninstaller of the old version will be launched. After you uninstall the old version of TrueCrypt, run the installer of the new version of TrueCrypt again.</string>
+    <string lang="en" key="CLOSE_TC_FIRST">The RealCrypt device driver cannot be unloaded.\n\nPlease close all open RealCrypt windows first. If it does not help, please restart Windows and then try again.</string>
+    <string lang="en" key="DISMOUNT_ALL_FIRST">All RealCrypt volumes must be dismounted before installing or uninstalling RealCrypt.</string>
+    <string lang="en" key="UNINSTALL_OLD_VERSION_FIRST">An obsolete version of RealCrypt is currently installed on this system. It needs to be uninstalled before you can install this new version of RealCrypt.\n\nAs soon as you close this message box, the uninstaller of the old version will be launched. After you uninstall the old version of RealCrypt, run the installer of the new version of RealCrypt again.</string>
     <string lang="en" key="REG_INSTALL_FAILED">The installation of the registry entries has failed</string>
-    <string lang="en" key="DRIVER_INSTALL_FAILED">The installation of the device driver has failed. Please restart Windows and then try installing TrueCrypt again.</string>
-    <string lang="en" key="STARTING_DRIVER">Starting TrueCrypt device driver</string>
+    <string lang="en" key="DRIVER_INSTALL_FAILED">The installation of the device driver has failed. Please restart Windows and then try installing RealCrypt again.</string>
+    <string lang="en" key="STARTING_DRIVER">Starting RealCrypt device driver</string>
     <string lang="en" key="DRIVER_UINSTALL_FAILED">Uninstallation of the device driver has failed. Please note that, due to a Windows issue, it may be necessary to log off or restart the system before the device driver can be uninstalled (or reinstalled).</string>
-    <string lang="en" key="INSTALLING_DRIVER">Installing TrueCrypt device driver</string>
-    <string lang="en" key="STOPPING_DRIVER">Stopping TrueCrypt device driver</string>
-    <string lang="en" key="REMOVING_DRIVER">Uninstalling TrueCrypt device driver</string>
+    <string lang="en" key="INSTALLING_DRIVER">Installing RealCrypt device driver</string>
+    <string lang="en" key="STOPPING_DRIVER">Stopping RealCrypt device driver</string>
+    <string lang="en" key="REMOVING_DRIVER">Uninstalling RealCrypt device driver</string>
     <string lang="en" key="COM_REG_FAILED">Registration of the User Account Control support library failed.</string>
     <string lang="en" key="COM_DEREG_FAILED">Unregistration of the User Account Control support library failed.</string>
-    <string lang="en" key="TRAVELER_UAC_NOTE">Note that if you decide to run TrueCrypt in traveler mode (as opposed to running an installed copy of TrueCrypt), the system will ask you for permission to run TrueCrypt (UAC prompt) every time you attempt to run it.\n\nThe reason is that when you run TrueCrypt in traveler mode, TrueCrypt needs to load and start the TrueCrypt device driver. TrueCrypt needs a device driver to provide transparent on-the-fly encryption/decryption, and users without administrator privileges cannot start device drivers in Windows. Therefore, the system will ask you for permission to run TrueCrypt with administrator privileges (UAC prompt).\n\nNote that if you install TrueCrypt on the system (as opposed to running TrueCrypt in traveler mode), the system will NOT ask you for permission to run TrueCrypt (UAC prompt) every time you attempt to run it.\n\nAre you sure you want to extract the files?</string>
+    <string lang="en" key="TRAVELER_UAC_NOTE">Note that if you decide to run RealCrypt in traveler mode (as opposed to running an installed copy of RealCrypt), the system will ask you for permission to run RealCrypt (UAC prompt) every time you attempt to run it.\n\nThe reason is that when you run RealCrypt in traveler mode, RealCrypt needs to load and start the RealCrypt device driver. RealCrypt needs a device driver to provide transparent on-the-fly encryption/decryption, and users without administrator privileges cannot start device drivers in Windows. Therefore, the system will ask you for permission to run RealCrypt with administrator privileges (UAC prompt).\n\nNote that if you install RealCrypt on the system (as opposed to running RealCrypt in traveler mode), the system will NOT ask you for permission to run RealCrypt (UAC prompt) every time you attempt to run it.\n\nAre you sure you want to extract the files?</string>
     <string lang="en" key="CONTAINER_ADMIN_WARNING">Warning: This instance of the Volume Creation Wizard has administrator privileges.\n\nYour new volume may be created with permissions that will not allow you to write to the volume when it is mounted. If you want to avoid that, close this instance of the Volume Creation Wizard and launch a new one without administrator privileges.\n\nDo you want to close this instance of the Volume Creation Wizard?</string>
     <string lang="en" key="CANNOT_DISPLAY_LICENSE">Error: Cannot display license.</string>
     <string lang="en" key="OUTER_VOL_WRITE_PREVENTED">Outer(!)</string>
@@ -807,8 +807,8 @@
     <string lang="en" key="SECONDS">s</string>
     <string lang="en" key="OPEN">Open</string>
     <string lang="en" key="DISMOUNT">Dismount</string>
-    <string lang="en" key="SHOW_TC">Show TrueCrypt</string>
-    <string lang="en" key="HIDE_TC">Hide TrueCrypt</string>
+    <string lang="en" key="SHOW_TC">Show RealCrypt</string>
+    <string lang="en" key="HIDE_TC">Hide RealCrypt</string>
     <string lang="en" key="TOTAL_DATA_READ">Data Read since Mount</string>
     <string lang="en" key="TOTAL_DATA_WRITTEN">Data Written since Mount</string>
     <string lang="en" key="ENCRYPTED_PORTION">Encrypted Portion</string>
@@ -831,11 +831,11 @@
     <string lang="en" key="ENTER_HIDDEN_VOL_PASSWORD">Enter password for the hidden volume</string>
     <string lang="en" key="ENTER_HEADER_BACKUP_PASSWORD">Enter password for the header stored in backup file</string>
     <string lang="en" key="KEYFILE_CREATED">Keyfile has been successfully created.</string>
-    <string lang="en" key="HEADER_DAMAGED_AUTO_USED_HEADER_BAK">WARNING: The header of this volume is damaged! TrueCrypt automatically used the backup of the volume header embedded in the volume.\n\nYou should repair the volume header by selecting 'Tools' > 'Restore Volume Header'.</string>
+    <string lang="en" key="HEADER_DAMAGED_AUTO_USED_HEADER_BAK">WARNING: The header of this volume is damaged! RealCrypt automatically used the backup of the volume header embedded in the volume.\n\nYou should repair the volume header by selecting 'Tools' > 'Restore Volume Header'.</string>
     <string lang="en" key="VOL_HEADER_BACKED_UP">Volume header backup has been successfully created.\n\nIMPORTANT: Restoring the volume header using this backup will also restore the current volume password. Moreover, if keyfile(s) are/is necessary to mount the volume, the same keyfile(s) will be necessary to mount the volume again when the volume header is restored.\n\nWARNING: This volume header backup may be used to restore the header ONLY of this particular volume. If you use this header backup to restore a header of a different volume, you will be able to mount the volume, but you will NOT be able to decrypt any data stored in the volume (because you will change its master key).</string>
     <string lang="en" key="VOL_HEADER_RESTORED">The volume header has been successfully restored.\n\nIMPORTANT: Please note that an old password may have been restored as well. Moreover, if keyfile(s) were/was necessary to mount the volume when the backup was created, the same keyfile(s) are now necessary to mount the volume again.</string>
     <string lang="en" key="EXTERNAL_VOL_HEADER_BAK_FIRST_INFO">For security reasons, you will have to enter the correct password (and/or supply the correct keyfiles) for the volume.\n\nNote: If the volume contains a hidden volume, you will have to enter the correct password (and/or supply the correct keyfiles) for the outer volume first. Afterwards, if you choose to back up the header of the hidden volume, you will have to enter the correct password (and/or supply the correct keyfiles) for the hidden volume.</string>
-    <string lang="en" key="CONFIRM_VOL_HEADER_BAK">Are you sure you want to create volume header backup for %hs?\n\nAfter you click Yes, you will prompted for a filename for the header backup.\n\nNote: Both the standard and the hidden volume headers will be re-encrypted using a new salt and stored in the backup file. If there is no hidden volume within this volume, the area reserved for the hidden volume header in the backup file will be filled with random data (to preserve plausible deniability). When restoring a volume header from the backup file, you will need to enter the correct password (and/or to supply the correct keyfiles) that was/were valid when the volume header backup was created. The password (and/or keyfiles) will also automatically determine the type of the volume header to restore, i.e. standard or hidden (note that TrueCrypt determines the type through the process of trial and error).</string>
+    <string lang="en" key="CONFIRM_VOL_HEADER_BAK">Are you sure you want to create volume header backup for %hs?\n\nAfter you click Yes, you will prompted for a filename for the header backup.\n\nNote: Both the standard and the hidden volume headers will be re-encrypted using a new salt and stored in the backup file. If there is no hidden volume within this volume, the area reserved for the hidden volume header in the backup file will be filled with random data (to preserve plausible deniability). When restoring a volume header from the backup file, you will need to enter the correct password (and/or to supply the correct keyfiles) that was/were valid when the volume header backup was created. The password (and/or keyfiles) will also automatically determine the type of the volume header to restore, i.e. standard or hidden (note that RealCrypt determines the type through the process of trial and error).</string>
     <string lang="en" key="CONFIRM_VOL_HEADER_RESTORE">Are you sure you want to restore volume header of %hs?\n\nWARNING: Restoring a volume header also restores the volume password that was valid when the backup was created. Moreover, if keyfile(s) were/was necessary to mount the volume when the backup was created, the same keyfile(s) will be necessary to mount the volume again after the volume header is restored.\n\nAfter you click Yes, you will select the header backup file.</string>
     <string lang="en" key="DOES_VOLUME_CONTAIN_HIDDEN">Does the volume contain a hidden volume?</string>
     <string lang="en" key="VOLUME_CONTAINS_HIDDEN">The volume contains a hidden volume</string>
@@ -844,17 +844,17 @@
     <string lang="en" key="HEADER_RESTORE_INTERNAL">Restore the volume header from the backup embedded in the volume</string>
     <string lang="en" key="HEADER_RESTORE_EXTERNAL">Restore the volume header from an external backup file</string>
     <string lang="en" key="HEADER_BACKUP_SIZE_INCORRECT">The size of the volume header backup file is incorrect.</string>
-    <string lang="en" key="VOLUME_HAS_NO_BACKUP_HEADER">There is no backup header embedded in this volume (note that only volumes created by TrueCrypt 6.0 or later contain embedded backup headers).</string>
-    <string lang="en" key="BACKUP_HEADER_NOT_FOR_SYS_DEVICE">You are attempting to back up the header of the system partition/drive. This is not allowed. Backup/restore operations pertaining to the system partition/drive can be performed only using the TrueCrypt Rescue Disk.\n\nDo you want to create a TrueCrypt Rescue Disk?</string>
-    <string lang="en" key="RESTORE_HEADER_NOT_FOR_SYS_DEVICE">You are attempting to restore the header of a virtual TrueCrypt volume but you selected the system partition/drive. This is not allowed. Backup/restore operations pertaining to the system partition/drive can be performed only using the TrueCrypt Rescue Disk.\n\nDo you want to create a TrueCrypt Rescue Disk?</string>
-    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CREATION_SELECT_PATH">After you click OK, you will select a filename for the new TrueCrypt Rescue Disk ISO image and the location where you wish to place it.</string>
+    <string lang="en" key="VOLUME_HAS_NO_BACKUP_HEADER">There is no backup header embedded in this volume (note that only volumes created by RealCrypt 6.0 or later contain embedded backup headers).</string>
+    <string lang="en" key="BACKUP_HEADER_NOT_FOR_SYS_DEVICE">You are attempting to back up the header of the system partition/drive. This is not allowed. Backup/restore operations pertaining to the system partition/drive can be performed only using the RealCrypt Rescue Disk.\n\nDo you want to create a RealCrypt Rescue Disk?</string>
+    <string lang="en" key="RESTORE_HEADER_NOT_FOR_SYS_DEVICE">You are attempting to restore the header of a virtual RealCrypt volume but you selected the system partition/drive. This is not allowed. Backup/restore operations pertaining to the system partition/drive can be performed only using the RealCrypt Rescue Disk.\n\nDo you want to create a RealCrypt Rescue Disk?</string>
+    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CREATION_SELECT_PATH">After you click OK, you will select a filename for the new RealCrypt Rescue Disk ISO image and the location where you wish to place it.</string>
     <string lang="en" key="RESCUE_DISK_NON_WIZARD_CREATION_BURN">The Rescue Disk image has been created and stored in this file:\n%hs\n\nNow you need to write (burn) the Rescue Disk to a CD or DVD.\n\nIMPORTANT: Note that the file must be written to the CD/DVD as an ISO disk image (not as an individual file). For information on how to do so, please refer to the documentation of your CD/DVD recording software.\n\nAfter you burn the Rescue Disk, select 'System' > 'Verify Rescue Disk' to verify that the Rescue Disk has been correctly burned.</string>
-    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CHECK_INSERT">Please insert your TrueCrypt Rescue Disk into your CD/DVD drive and click OK to verify it.</string>
-    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CHECK_PASSED">The TrueCrypt Rescue Disk has been successfully verified.</string>
-    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CHECK_FAILED">Cannot verify that the Rescue Disk has been correctly burned.\n\nIf you have burned the Rescue Disk, please eject and reinsert the CD/DVD; then try again. If this does not help, please try other CD/DVD recording software and/or medium.\n\nIf you attempted to verify a TrueCrypt Rescue Disk created for a different master key, password, salt, etc., please note that such Rescue Disk will always fail this verification. To create a new Rescue Disk fully compatible with your current configuration, select 'System' > 'Create Rescue Disk'.</string>
-    <string lang="en" key="ERROR_CREATING_RESCUE_DISK">Error creating TrueCrypt Rescue Disk.</string>
-    <string lang="en" key="CANNOT_CREATE_RESCUE_DISK_ON_HIDDEN_OS">TrueCrypt Rescue Disk cannot be created when a hidden operating system is running.\n\nTo create a TrueCrypt Rescue Disk, boot the decoy operating system and then select 'System' > 'Create Rescue Disk'.</string>
-    <string lang="en" key="RESCUE_DISK_CHECK_FAILED">Cannot verify that the Rescue Disk has been correctly burned.\n\nIf you have burned the Rescue Disk, please eject and reinsert the CD/DVD; then click Next to try again. If this does not help, please try other CD/DVD recording software and/or medium.\n\nIf you have not burned the Rescue Disk yet, please do so, and then click Next.\n\nIf you attempted to verify a TrueCrypt Rescue Disk created before you started this wizard, please note that such Rescue Disk cannot be used because it was created for a different master key. You need to burn the newly generated Rescue Disk.</string>
+    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CHECK_INSERT">Please insert your RealCrypt Rescue Disk into your CD/DVD drive and click OK to verify it.</string>
+    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CHECK_PASSED">The RealCrypt Rescue Disk has been successfully verified.</string>
+    <string lang="en" key="RESCUE_DISK_NON_WIZARD_CHECK_FAILED">Cannot verify that the Rescue Disk has been correctly burned.\n\nIf you have burned the Rescue Disk, please eject and reinsert the CD/DVD; then try again. If this does not help, please try other CD/DVD recording software and/or medium.\n\nIf you attempted to verify a RealCrypt Rescue Disk created for a different master key, password, salt, etc., please note that such Rescue Disk will always fail this verification. To create a new Rescue Disk fully compatible with your current configuration, select 'System' > 'Create Rescue Disk'.</string>
+    <string lang="en" key="ERROR_CREATING_RESCUE_DISK">Error creating RealCrypt Rescue Disk.</string>
+    <string lang="en" key="CANNOT_CREATE_RESCUE_DISK_ON_HIDDEN_OS">RealCrypt Rescue Disk cannot be created when a hidden operating system is running.\n\nTo create a RealCrypt Rescue Disk, boot the decoy operating system and then select 'System' > 'Create Rescue Disk'.</string>
+    <string lang="en" key="RESCUE_DISK_CHECK_FAILED">Cannot verify that the Rescue Disk has been correctly burned.\n\nIf you have burned the Rescue Disk, please eject and reinsert the CD/DVD; then click Next to try again. If this does not help, please try other CD/DVD recording software and/or medium.\n\nIf you have not burned the Rescue Disk yet, please do so, and then click Next.\n\nIf you attempted to verify a RealCrypt Rescue Disk created before you started this wizard, please note that such Rescue Disk cannot be used because it was created for a different master key. You need to burn the newly generated Rescue Disk.</string>
     <string lang="en" key="CONFIRM_SAVE_FAVORITE_VOL">Save all currently mounted volumes and their drive letters to the Favorite Volumes list?\n\nNote: If no volumes are mounted, the Favorite Volumes list will be deleted.</string>
     <string lang="en" key="DISMOUNT_FIRST">Please dismount the volume before proceeding.</string>
     <string lang="en" key="CANNOT_SET_TIMER">Error: Cannot set timer.</string>
@@ -877,13 +877,13 @@
     <string lang="en" key="EXE_FILE_EXTENSION_CONFIRM">WARNING: We strongly recommend that you avoid file extensions that are used for executable files (such as .exe, .sys, or .dll) and other similarly problematic file extensions. Using such file extensions causes Windows and antivirus software to interfere with the container, which adversely affects the performance of the volume and may also cause other serious problems.\n\nWe strongly recommend that you remove the file extension or change it (e.g., to '.tc').\n\nAre you sure you want to use the problematic file extension?</string>
     <string lang="en" key="EXE_FILE_EXTENSION_MOUNT_WARNING">WARNING: This container has a file extension that is used for executable files (such as .exe, .sys, or .dll) or some other file extension that is similarly problematic. It will very likely cause Windows and antivirus software to interfere with the container, which will adversely affect the performance of the volume and may also cause other serious problems.\n\nWe strongly recommend that you remove the file extension of the container or change it (e.g., to '.tc') after you dismount the volume.</string>
     <string lang="en" key="HOMEPAGE">Homepage</string>
-    <string lang="en" key="LARGE_IDE_WARNING_XP">WARNING: It appears that you have not applied any Service Pack to your Windows installation. You should not write to IDE disks larger than 128 GB under Windows XP to which you did not apply Service Pack 1 or later! If you do, data on the disk (no matter if it is a TrueCrypt volume or not) may get corrupted. Note that this is a limitation of Windows, not a bug in TrueCrypt.</string>
-    <string lang="en" key="LARGE_IDE_WARNING_2K">WARNING: It appears that you have not applied Service Pack 3 or later to your Windows installation. You should not write to IDE disks larger than 128 GB under Windows 2000 to which you did not apply Service Pack 3 or later! If you do, data on the disk (no matter if it is a TrueCrypt volume or not) may get corrupted. Note that this is a limitation of Windows, not a bug in TrueCrypt.\n\nNote: You may also need to enable the 48-bit LBA support in the registry; for more information, see http://support.microsoft.com/kb/305098/EN-US</string>
-    <string lang="en" key="LARGE_IDE_WARNING_2K_REGISTRY">WARNING: 48-bit LBA ATAPI support is disabled on your system. Therefore, you should not write to IDE disks larger than 128 GB! If you do, data on the disk (no matter if it is a TrueCrypt volume or not) may get corrupted. Note that this is a limitation of Windows, not a limitation of TrueCrypt.\n\nTo enable the 48-bit LBA support, add the 'EnableBigLba' registry value in the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\atapi\\Parameters and set it to 1.\n\nFor more information, see http://support.microsoft.com/kb/305098</string>
-    <string lang="en" key="VOLUME_TOO_LARGE_FOR_FAT32">Error: Files larger than 4 GB cannot be stored on a FAT32 file system. Therefore, file-hosted TrueCrypt volumes (containers) stored on a FAT32 file system cannot be larger than 4 GB.\n\nIf you need a larger volume, create it on an NTFS file system (or, if you use Windows Vista SP1 or later, on an exFAT file system) or, instead of creating a file-hosted volume, encrypt an entire partition or device.</string>
+    <string lang="en" key="LARGE_IDE_WARNING_XP">WARNING: It appears that you have not applied any Service Pack to your Windows installation. You should not write to IDE disks larger than 128 GB under Windows XP to which you did not apply Service Pack 1 or later! If you do, data on the disk (no matter if it is a RealCrypt volume or not) may get corrupted. Note that this is a limitation of Windows, not a bug in RealCrypt.</string>
+    <string lang="en" key="LARGE_IDE_WARNING_2K">WARNING: It appears that you have not applied Service Pack 3 or later to your Windows installation. You should not write to IDE disks larger than 128 GB under Windows 2000 to which you did not apply Service Pack 3 or later! If you do, data on the disk (no matter if it is a RealCrypt volume or not) may get corrupted. Note that this is a limitation of Windows, not a bug in RealCrypt.\n\nNote: You may also need to enable the 48-bit LBA support in the registry; for more information, see http://support.microsoft.com/kb/305098/EN-US</string>
+    <string lang="en" key="LARGE_IDE_WARNING_2K_REGISTRY">WARNING: 48-bit LBA ATAPI support is disabled on your system. Therefore, you should not write to IDE disks larger than 128 GB! If you do, data on the disk (no matter if it is a RealCrypt volume or not) may get corrupted. Note that this is a limitation of Windows, not a limitation of RealCrypt.\n\nTo enable the 48-bit LBA support, add the 'EnableBigLba' registry value in the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\atapi\\Parameters and set it to 1.\n\nFor more information, see http://support.microsoft.com/kb/305098</string>
+    <string lang="en" key="VOLUME_TOO_LARGE_FOR_FAT32">Error: Files larger than 4 GB cannot be stored on a FAT32 file system. Therefore, file-hosted RealCrypt volumes (containers) stored on a FAT32 file system cannot be larger than 4 GB.\n\nIf you need a larger volume, create it on an NTFS file system (or, if you use Windows Vista SP1 or later, on an exFAT file system) or, instead of creating a file-hosted volume, encrypt an entire partition or device.</string>
     <string lang="en" key="FREE_SPACE_FOR_WRITING_TO_OUTER_VOLUME">WARNING: If you want to be able to add more data/files to the outer volume in future, you should consider choosing a smaller size for the hidden volume.\n\nAre you sure you want to continue with the size you specified?</string>
-    <string lang="en" key="NO_VOLUME_SELECTED">No volume selected.\n\nClick 'Select Device' or 'Select File' to select a TrueCrypt volume.</string>
-    <string lang="en" key="NO_SYSENC_PARTITION_SELECTED">No partition selected.\n\nClick 'Select Device' to select a dismounted partition that normally requires pre-boot authentication (for example, a partition located on the encrypted system drive of another operating system, which is not running, or the encrypted system partition of another operating system).\n\nNote: The selected partition will be mounted as a regular TrueCrypt volume without pre-boot authentication. This is useful e.g. for backup or repair operations.</string>
+    <string lang="en" key="NO_VOLUME_SELECTED">No volume selected.\n\nClick 'Select Device' or 'Select File' to select a RealCrypt volume.</string>
+    <string lang="en" key="NO_SYSENC_PARTITION_SELECTED">No partition selected.\n\nClick 'Select Device' to select a dismounted partition that normally requires pre-boot authentication (for example, a partition located on the encrypted system drive of another operating system, which is not running, or the encrypted system partition of another operating system).\n\nNote: The selected partition will be mounted as a regular RealCrypt volume without pre-boot authentication. This is useful e.g. for backup or repair operations.</string>
     <string lang="en" key="CONFIRM_SAVE_DEFAULT_KEYFILES">WARNING: If default keyfiles are set and enabled, volumes that are not using these keyfiles will be impossible to mount. Therefore, after you enable default keyfiles, keep in mind to uncheck the 'Use keyfiles' checkbox (below a password input field) whenever mounting such volumes.\n\nAre you sure you want to save the selected keyfiles/paths as default?</string>
     <string lang="en" key="HK_AUTOMOUNT_DEVICES">Auto-Mount Devices</string>
     <string lang="en" key="HK_DISMOUNT_ALL">Dismount All</string>
@@ -892,37 +892,37 @@
     <string lang="en" key="HK_FORCE_DISMOUNT_ALL_AND_WIPE">Force Dismount All  &amp;  Wipe Cache</string>
     <string lang="en" key="HK_FORCE_DISMOUNT_ALL_AND_WIPE_AND_EXIT">Force Dismount All,  Wipe Cache  &amp;  Exit</string>
     <string lang="en" key="HK_MOUNT_FAVORITE_VOLUMES">Mount Favorite Volumes</string>
-    <string lang="en" key="HK_SHOW_HIDE_MAIN_WINDOW">Show/Hide Main TrueCrypt Window</string>
+    <string lang="en" key="HK_SHOW_HIDE_MAIN_WINDOW">Show/Hide Main RealCrypt Window</string>
     <string lang="en" key="PRESS_A_KEY_TO_ASSIGN">(Click here and press a key)</string>
     <string lang="en" key="ACTION">Action</string>
     <string lang="en" key="SHORTCUT">Shortcut</string>
     <string lang="en" key="CANNOT_USE_RESERVED_KEY">Error: This shortcut is reserved. Please choose a different shortcut.</string>
     <string lang="en" key="SHORTCUT_ALREADY_IN_USE">Error: Shortcut already in use.</string>
-    <string lang="en" key="HOTKEY_REGISTRATION_ERROR">WARNING: One or more TrueCrypt system-wide hot keys will not work!\n\nPlease make sure that other applications and the operating system do not use the same shortcut(s) as TrueCrypt.</string>
-    <string lang="en" key="SYS_ENC_HIBERNATION_PREVENTED">An error or incompatibility prevents TrueCrypt from encrypting the hibernation file. Therefore, hibernation has been prevented.\n\nNote: When a computer hibernates (or enters a power-saving mode), the content of its system memory is written to a hibernation storage file residing on the system drive. TrueCrypt would not be able to prevent encryption keys and the contents of sensitive files opened in RAM from being saved unencrypted to the hibernation storage file.</string>
-    <string lang="en" key="MOUNTED_VOLUMES_DISMOUNTED">All mounted TrueCrypt volumes have been dismounted.</string>
-    <string lang="en" key="MOUNTED_VOLUMES_AUTO_DISMOUNTED">All mounted TrueCrypt volumes have been auto-dismounted.\n\nNote: You can disable or configure auto-dismount in the 'Auto-Dismount' section of the Preferences window (select Settings -&gt; Preferences).</string>
-    <string lang="en" key="DISMOUNT_ALL_ATTEMPT_COMPLETED">Attempt to dismount all mounted TrueCrypt volumes completed.</string>
-    <string lang="en" key="VOLUMES_DISMOUNTED_CACHE_WIPED">All mounted TrueCrypt volumes have been dismounted and password cache has been wiped.</string>
+    <string lang="en" key="HOTKEY_REGISTRATION_ERROR">WARNING: One or more RealCrypt system-wide hot keys will not work!\n\nPlease make sure that other applications and the operating system do not use the same shortcut(s) as RealCrypt.</string>
+    <string lang="en" key="SYS_ENC_HIBERNATION_PREVENTED">An error or incompatibility prevents RealCrypt from encrypting the hibernation file. Therefore, hibernation has been prevented.\n\nNote: When a computer hibernates (or enters a power-saving mode), the content of its system memory is written to a hibernation storage file residing on the system drive. RealCrypt would not be able to prevent encryption keys and the contents of sensitive files opened in RAM from being saved unencrypted to the hibernation storage file.</string>
+    <string lang="en" key="MOUNTED_VOLUMES_DISMOUNTED">All mounted RealCrypt volumes have been dismounted.</string>
+    <string lang="en" key="MOUNTED_VOLUMES_AUTO_DISMOUNTED">All mounted RealCrypt volumes have been auto-dismounted.\n\nNote: You can disable or configure auto-dismount in the 'Auto-Dismount' section of the Preferences window (select Settings -&gt; Preferences).</string>
+    <string lang="en" key="DISMOUNT_ALL_ATTEMPT_COMPLETED">Attempt to dismount all mounted RealCrypt volumes completed.</string>
+    <string lang="en" key="VOLUMES_DISMOUNTED_CACHE_WIPED">All mounted RealCrypt volumes have been dismounted and password cache has been wiped.</string>
     <string lang="en" key="CONFIRM_TIMESTAMP_UPDATING">WARNING: If timestamps are not preserved, plausible deniability of hidden volumes may be adversely affected!\n\nAre you sure you do not want container timestamps to be preserved?</string>
-    <string lang="en" key="CONFIRM_BACKGROUND_TASK_DISABLED">WARNING: If the TrueCrypt Background Task is disabled, the following functions will be disabled whenever you exit TrueCrypt:\n\n1) Hot keys\n2) Auto-dismount (e.g., upon log off, inadvertent host device removal, time-out, etc.)\n3) Notifications (e.g., when damage to hidden volume is prevented)\n4) Tray icon\n\nNote: You may shut down the Background Task anytime by right-clicking the TrueCrypt tray icon and selecting 'Exit'.\n\nAre you sure you want to disable the TrueCrypt Background Task?</string>
+    <string lang="en" key="CONFIRM_BACKGROUND_TASK_DISABLED">WARNING: If the RealCrypt Background Task is disabled, the following functions will be disabled whenever you exit RealCrypt:\n\n1) Hot keys\n2) Auto-dismount (e.g., upon log off, inadvertent host device removal, time-out, etc.)\n3) Notifications (e.g., when damage to hidden volume is prevented)\n4) Tray icon\n\nNote: You may shut down the Background Task anytime by right-clicking the RealCrypt tray icon and selecting 'Exit'.\n\nAre you sure you want to disable the RealCrypt Background Task?</string>
     <string lang="en" key="CONFIRM_NO_FORCED_AUTODISMOUNT">WARNING: If this option is disabled, volumes containing open files/directories will not be possible to auto-dismount.\n\nAre you sure you want to disable this option?</string>
     <string lang="en" key="WARN_PREF_AUTO_DISMOUNT">WARNING: Volumes containing open files/directories will NOT be auto-dismounted.\n\nTo prevent this, enable the following option in this dialog window: 'Force auto-dismount even if volume contains open files or directories'</string>
-    <string lang="en" key="WARN_PREF_AUTO_DISMOUNT_ON_POWER">WARNING: When the notebook battery power is low, Windows may omit sending the appropriate messages to running applications when the computer is entering power saving mode. Therefore, TrueCrypt may fail to auto-dismount volumes in such cases.</string>
+    <string lang="en" key="WARN_PREF_AUTO_DISMOUNT_ON_POWER">WARNING: When the notebook battery power is low, Windows may omit sending the appropriate messages to running applications when the computer is entering power saving mode. Therefore, RealCrypt may fail to auto-dismount volumes in such cases.</string>
     <string lang="en" key="NONSYS_INPLACE_ENC_RESUME_PROMPT">You have scheduled the process of encryption of a partition/volume. The process has not been completed yet.\n\nDo you want to resume the process now?</string>
     <string lang="en" key="SYSTEM_ENCRYPTION_RESUME_PROMPT">You have scheduled the process of encryption or decryption of the system partition/drive. The process has not been completed yet.\n\nDo you want to start (resume) the process now?</string>
     <string lang="en" key="ASK_NONSYS_INPLACE_ENC_NOTIFICATION_REMOVAL">Do you want to be prompted about whether you want to resume the currently scheduled processes of encryption of non-system partitions/volumes?</string>
     <string lang="en" key="KEEP_PROMPTING_ME">Yes, keep prompting me</string>
     <string lang="en" key="DO_NOT_PROMPT_ME">No, do not prompt me</string>
-    <string lang="en" key="NONSYS_INPLACE_ENC_NOTIFICATION_REMOVAL_NOTE">IMPORTANT: Keep in mind that you can resume the process of encryption of any non-system partition/volume by selecting 'Volumes' &gt; 'Resume Interrupted Process' from the menu bar of the main TrueCrypt window.</string>
-    <string lang="en" key="SYSTEM_ENCRYPTION_SCHEDULED_BUT_PBA_FAILED">You have scheduled the process of encryption or decryption of the system partition/drive. However, pre-boot authentication failed (or was bypassed).\n\nNote: If you decrypted the system partition/drive in the pre-boot environment, you may need to finalize the process by selecting 'System' &gt; 'Permanently Decrypt System Partition/Drive' from the menu bar of the main TrueCrypt window.</string>
-    <string lang="en" key="CONFIRM_EXIT">WARNING: If TrueCrypt exits now, the following functions will be disabled:\n\n1) Hot keys\n2) Auto-dismount (e.g., upon log off, inadvertent host device removal, time-out, etc.)\n3) Notifications (e.g., when damage to hidden volume is prevented)\n\nNote: If you do not wish TrueCrypt to run in the background, disable the TrueCrypt Background Task in the Preferences (and, if necessary, disable the automatic start of TrueCrypt in the Preferences).\n\nAre you sure you want TrueCrypt to exit?</string>
+    <string lang="en" key="NONSYS_INPLACE_ENC_NOTIFICATION_REMOVAL_NOTE">IMPORTANT: Keep in mind that you can resume the process of encryption of any non-system partition/volume by selecting 'Volumes' &gt; 'Resume Interrupted Process' from the menu bar of the main RealCrypt window.</string>
+    <string lang="en" key="SYSTEM_ENCRYPTION_SCHEDULED_BUT_PBA_FAILED">You have scheduled the process of encryption or decryption of the system partition/drive. However, pre-boot authentication failed (or was bypassed).\n\nNote: If you decrypted the system partition/drive in the pre-boot environment, you may need to finalize the process by selecting 'System' &gt; 'Permanently Decrypt System Partition/Drive' from the menu bar of the main RealCrypt window.</string>
+    <string lang="en" key="CONFIRM_EXIT">WARNING: If RealCrypt exits now, the following functions will be disabled:\n\n1) Hot keys\n2) Auto-dismount (e.g., upon log off, inadvertent host device removal, time-out, etc.)\n3) Notifications (e.g., when damage to hidden volume is prevented)\n\nNote: If you do not wish RealCrypt to run in the background, disable the RealCrypt Background Task in the Preferences (and, if necessary, disable the automatic start of RealCrypt in the Preferences).\n\nAre you sure you want RealCrypt to exit?</string>
     <string lang="en" key="CONFIRM_EXIT_UNIVERSAL">Exit?</string>
-    <string lang="en" key="CHOOSE_ENCRYPT_OR_DECRYPT">TrueCrypt does not have sufficient information to determine whether to encrypt or decrypt.</string>
-    <string lang="en" key="CHOOSE_ENCRYPT_OR_DECRYPT_FINALIZE_DECRYPT_NOTE">TrueCrypt does not have sufficient information to determine whether to encrypt or decrypt.\n\nNote: If you decrypted the system partition/drive in the pre-boot environment, you may need to finalize the process by clicking Decrypt.</string>
-    <string lang="en" key="NONSYS_INPLACE_ENC_DEFER_CONFIRM">Do you want to interrupt and postpone the process of encryption of the partition/volume?\n\nNote: Keep in mind that the volume cannot be mounted until it has been fully encrypted. You will be able to resume the process of encryption and it will continue from the point it was stopped. You can do so, for example, by selecting 'Volumes' &gt; 'Resume Interrupted Process' from the menu bar of the main TrueCrypt window.</string>
-    <string lang="en" key="SYSTEM_ENCRYPTION_DEFER_CONFIRM">Do you want to interrupt and postpone the process of encryption of the system partition/drive?\n\nNote: You will be able to resume the process and it will continue from the point it was stopped. You can do so, for example, by selecting 'System' &gt; 'Resume Interrupted Process' from the menu bar of the main TrueCrypt window. If you want to permanently terminate or reverse the encryption process, select 'System' &gt; 'Permanently Decrypt System Partition/Drive'.</string>
-    <string lang="en" key="SYSTEM_DECRYPTION_DEFER_CONFIRM">Do you want to interrupt and postpone the process of decryption of the system partition/drive?\n\nNote: You will be able to resume the process and it will continue from the point it was stopped. You can do so, for example, by selecting 'System' &gt; 'Resume Interrupted Process' from the menu bar of the main TrueCrypt window. If you want to reverse the decryption process (and start encrypting), select 'System' &gt; 'Encrypt System Partition/Drive'.</string>
+    <string lang="en" key="CHOOSE_ENCRYPT_OR_DECRYPT">RealCrypt does not have sufficient information to determine whether to encrypt or decrypt.</string>
+    <string lang="en" key="CHOOSE_ENCRYPT_OR_DECRYPT_FINALIZE_DECRYPT_NOTE">RealCrypt does not have sufficient information to determine whether to encrypt or decrypt.\n\nNote: If you decrypted the system partition/drive in the pre-boot environment, you may need to finalize the process by clicking Decrypt.</string>
+    <string lang="en" key="NONSYS_INPLACE_ENC_DEFER_CONFIRM">Do you want to interrupt and postpone the process of encryption of the partition/volume?\n\nNote: Keep in mind that the volume cannot be mounted until it has been fully encrypted. You will be able to resume the process of encryption and it will continue from the point it was stopped. You can do so, for example, by selecting 'Volumes' &gt; 'Resume Interrupted Process' from the menu bar of the main RealCrypt window.</string>
+    <string lang="en" key="SYSTEM_ENCRYPTION_DEFER_CONFIRM">Do you want to interrupt and postpone the process of encryption of the system partition/drive?\n\nNote: You will be able to resume the process and it will continue from the point it was stopped. You can do so, for example, by selecting 'System' &gt; 'Resume Interrupted Process' from the menu bar of the main RealCrypt window. If you want to permanently terminate or reverse the encryption process, select 'System' &gt; 'Permanently Decrypt System Partition/Drive'.</string>
+    <string lang="en" key="SYSTEM_DECRYPTION_DEFER_CONFIRM">Do you want to interrupt and postpone the process of decryption of the system partition/drive?\n\nNote: You will be able to resume the process and it will continue from the point it was stopped. You can do so, for example, by selecting 'System' &gt; 'Resume Interrupted Process' from the menu bar of the main RealCrypt window. If you want to reverse the decryption process (and start encrypting), select 'System' &gt; 'Encrypt System Partition/Drive'.</string>
     <string lang="en" key="FAILED_TO_INTERRUPT_SYSTEM_ENCRYPTION">Error: Failed to interrupt the process of encryption/decryption of the system partition/drive.</string>
     <string lang="en" key="FAILED_TO_INTERRUPT_WIPING">Error: Failed to interrupt the process of wiping.</string>
     <string lang="en" key="FAILED_TO_RESUME_SYSTEM_ENCRYPTION">Error: Failed to resume the process of encryption/decryption of the system partition/drive.</string>
@@ -930,65 +930,65 @@
     <string lang="en" key="INCONSISTENCY_RESOLVED">Inconsistency resolved.\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs)</string>
     <string lang="en" key="UNEXPECTED_STATE">Error: Unexpected state.\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs)</string>
     <string lang="en" key="NOTHING_TO_RESUME">There is no process/task to resume.</string>
-    <string lang="en" key="HIDVOL_PROT_BKG_TASK_WARNING">WARNING: TrueCrypt Background Task is disabled. After you exit TrueCrypt, you will not be notified if damage to hidden volume is prevented.\n\nNote: You may shut down the Background Task anytime by right-clicking the TrueCrypt tray icon and selecting 'Exit'.\n\nEnable TrueCrypt Background Task?</string>
+    <string lang="en" key="HIDVOL_PROT_BKG_TASK_WARNING">WARNING: RealCrypt Background Task is disabled. After you exit RealCrypt, you will not be notified if damage to hidden volume is prevented.\n\nNote: You may shut down the Background Task anytime by right-clicking the RealCrypt tray icon and selecting 'Exit'.\n\nEnable RealCrypt Background Task?</string>
     <string lang="en" key="LANG_PACK_VERSION">Language pack version:  %s</string>
-    <string lang="en" key="CHECKING_FS">Checking the file system on the TrueCrypt volume mounted as %hs...</string>
-    <string lang="en" key="REPAIRING_FS">Attempting to repair the file system on the TrueCrypt volume mounted as %hs...</string>
-    <string lang="en" key="WARN_CBC_MODE">Warning: This volume is encrypted in CBC mode. Due to security issues, CBC mode has been deprecated since TrueCrypt 4.1.\n\nWe strongly recommend that you move data from this TrueCrypt volume to a new volume created by this version of TrueCrypt. After you do so, you should securely erase or destroy the old volume. For more information, please see the Version History in the documentation or the release notices distributed with TrueCrypt 4.1 or later.</string>
-    <string lang="en" key="WARN_64_BIT_BLOCK_CIPHER">Warning: This volume is encrypted with a legacy encryption algorithm.\n\nAll 64-bit-block encryption algorithms (e.g., Blowfish, CAST-128, or Triple DES) are deprecated. It will be possible to mount this volume using future versions of TrueCrypt. However, there will be no further enhancements to the implementations of these legacy encryption algorithms. We recommend that you create a new TrueCrypt volume encrypted with a 128-bit-block encryption algorithm (e.g., AES, Serpent, Twofish, etc.) and that you move all files from this volume to the new volume.</string>
-    <string lang="en" key="SYS_AUTOMOUNT_DISABLED">Your system is not configured to auto-mount new volumes. It may be impossible to mount device-hosted TrueCrypt volumes. Auto-mounting can be enabled by executing the following command and restarting the system.\n\nmountvol.exe /E</string>
+    <string lang="en" key="CHECKING_FS">Checking the file system on the RealCrypt volume mounted as %hs...</string>
+    <string lang="en" key="REPAIRING_FS">Attempting to repair the file system on the RealCrypt volume mounted as %hs...</string>
+    <string lang="en" key="WARN_CBC_MODE">Warning: This volume is encrypted in CBC mode. Due to security issues, CBC mode has been deprecated since RealCrypt 4.1.\n\nWe strongly recommend that you move data from this RealCrypt volume to a new volume created by this version of RealCrypt. After you do so, you should securely erase or destroy the old volume. For more information, please see the Version History in the documentation or the release notices distributed with RealCrypt 4.1 or later.</string>
+    <string lang="en" key="WARN_64_BIT_BLOCK_CIPHER">Warning: This volume is encrypted with a legacy encryption algorithm.\n\nAll 64-bit-block encryption algorithms (e.g., Blowfish, CAST-128, or Triple DES) are deprecated. It will be possible to mount this volume using future versions of RealCrypt. However, there will be no further enhancements to the implementations of these legacy encryption algorithms. We recommend that you create a new RealCrypt volume encrypted with a 128-bit-block encryption algorithm (e.g., AES, Serpent, Twofish, etc.) and that you move all files from this volume to the new volume.</string>
+    <string lang="en" key="SYS_AUTOMOUNT_DISABLED">Your system is not configured to auto-mount new volumes. It may be impossible to mount device-hosted RealCrypt volumes. Auto-mounting can be enabled by executing the following command and restarting the system.\n\nmountvol.exe /E</string>
     <string lang="en" key="SYS_ASSIGN_DRIVE_LETTER">Please assign a drive letter to the partition/device before proceeding ('Control Panel' > 'System and Maintenance' > 'Administrative Tools' - 'Create and format hard disk partitions').\n\nNote that this is a requirement of the operating system.</string>
-    <string lang="en" key="MOUNT_TC_VOLUME">Mount TrueCrypt volume</string>
-    <string lang="en" key="DISMOUNT_ALL_TC_VOLUMES">Dismount all TrueCrypt volumes</string>
-    <string lang="en" key="UAC_INIT_ERROR">TrueCrypt failed to obtain Administrator privileges.</string>
+    <string lang="en" key="MOUNT_TC_VOLUME">Mount RealCrypt volume</string>
+    <string lang="en" key="DISMOUNT_ALL_TC_VOLUMES">Dismount all RealCrypt volumes</string>
+    <string lang="en" key="UAC_INIT_ERROR">RealCrypt failed to obtain Administrator privileges.</string>
     <string lang="en" key="ERR_ACCESS_DENIED">Access was denied by the operating system.\n\nPossible cause: The operating system requires that you have read/write permission (or administrator privileges) for certain folders, files, and devices, in order for you to be allowed to read and write data to/from them. Normally, a user without administrator privileges is allowed to create, read and modify files in his or her Documents folder.</string>
     <string lang="en" key="LARGE_SECTOR_UNSUPPORTED">Error: The device uses a sector size other than 512 bytes.\n\nIt is currently not possible to create device-hosted volumes on devices that use a sector size other than 512 bytes. However, note that you can create a file-hosted volume (container) on this device.</string>
     <string lang="en" key="ERR_UNSUPPORTED_SECTOR_SIZE_GENERIC">Error: Unsupported sector size.</string>
-    <string lang="en" key="NO_SPACE_FOR_BOOT_LOADER">The TrueCrypt Boot Loader requires at least 32 KBytes of free space at the beginning of the system drive (the TrueCrypt Boot Loader needs to be stored in that area). Unfortunately, your drive does not meet this condition.\n\nPlease do NOT report this as a bug/problem in TrueCrypt. To solve this problem, you will need to repartition your disk and leave the first 32 KBytes of the disk free (in most cases, you will need to delete and recreate the first partition). We recommend that you use the Microsoft partition manager that is available e.g. when you are installing Windows.</string>
+    <string lang="en" key="NO_SPACE_FOR_BOOT_LOADER">The RealCrypt Boot Loader requires at least 32 KBytes of free space at the beginning of the system drive (the RealCrypt Boot Loader needs to be stored in that area). Unfortunately, your drive does not meet this condition.\n\nPlease do NOT report this as a bug/problem in RealCrypt. To solve this problem, you will need to repartition your disk and leave the first 32 KBytes of the disk free (in most cases, you will need to delete and recreate the first partition). We recommend that you use the Microsoft partition manager that is available e.g. when you are installing Windows.</string>
     <string lang="en" key="FEATURE_UNSUPPORTED_ON_CURRENT_OS">The feature is not supported on the version of the operating system you are currently using.</string>
-    <string lang="en" key="SYS_ENCRYPTION_UNSUPPORTED_ON_CURRENT_OS">TrueCrypt does not support encryption of a system partition/drive on the version of the operating system you are currently using.</string>
+    <string lang="en" key="SYS_ENCRYPTION_UNSUPPORTED_ON_CURRENT_OS">RealCrypt does not support encryption of a system partition/drive on the version of the operating system you are currently using.</string>
     <string lang="en" key="SYS_ENCRYPTION_UNSUPPORTED_ON_VISTA_SP0">Before you can encrypt the system partition/drive on Windows Vista, you need to install Service Pack 1 or higher for Windows Vista (no such Service Pack has been installed on this system yet).\n\nNote: Service Pack 1 for Windows Vista resolved an issue causing a shortage of free base memory during system boot.</string>
-    <string lang="en" key="SYS_ENCRYPTION_VISTA_SP1_RECOMMENDED">Please note that Service Pack 1 for Windows Vista resolved an issue that caused a shortage of free base memory during system boot. TrueCrypt 6.2 and later versions have been designed to take advantage of this improvement. Therefore, we recommend you to install Service Pack 1 or higher before upgrading TrueCrypt.\n\nDo you want to upgrade TrueCrypt now?</string>
-    <string lang="en" key="FEATURE_REQUIRES_INSTALLATION">Error: This feature requires TrueCrypt to be installed on the system (you are running TrueCrypt in traveler/portable mode).\n\nPlease install TrueCrypt and then try again.</string>
+    <string lang="en" key="SYS_ENCRYPTION_VISTA_SP1_RECOMMENDED">Please note that Service Pack 1 for Windows Vista resolved an issue that caused a shortage of free base memory during system boot. RealCrypt 6.2 and later versions have been designed to take advantage of this improvement. Therefore, we recommend you to install Service Pack 1 or higher before upgrading RealCrypt.\n\nDo you want to upgrade RealCrypt now?</string>
+    <string lang="en" key="FEATURE_REQUIRES_INSTALLATION">Error: This feature requires RealCrypt to be installed on the system (you are running RealCrypt in traveler/portable mode).\n\nPlease install RealCrypt and then try again.</string>
     <string lang="en" key="WINDOWS_NOT_ON_BOOT_DRIVE_ERROR">Error: Windows is not installed on the drive from which it boots. This is not supported.</string>
     <string lang="en" key="GPT_BOOT_DRIVE_UNSUPPORTED">Your system drive has a GUID partition table (GPT). Currently, only drives with a MBR partition table are supported.</string>
-    <string lang="en" key="TC_BOOT_LOADER_ALREADY_INSTALLED">CAUTION: The TrueCrypt Boot Loader is already installed on your system drive!\n\nIt is possible that another system on your computer is already encrypted.\n\nWARNING: PROCEEDING WITH ENCRYPTION OF THE CURRENTLY RUNNING SYSTEM MAY MAKE OTHER SYSTEM(S) IMPOSSIBLE TO START AND RELATED DATA INACCESSIBLE.\n\nAre you sure you want to continue?</string>
-    <string lang="en" key="SYS_LOADER_RESTORE_FAILED">Failed to restore the original system loader.\n\nPlease use your TrueCrypt Rescue Disk ('Repair Options' > 'Restore original system loader') or Windows installation medium to replace the TrueCrypt Boot Loader with the Windows system loader.</string>
+    <string lang="en" key="TC_BOOT_LOADER_ALREADY_INSTALLED">CAUTION: The RealCrypt Boot Loader is already installed on your system drive!\n\nIt is possible that another system on your computer is already encrypted.\n\nWARNING: PROCEEDING WITH ENCRYPTION OF THE CURRENTLY RUNNING SYSTEM MAY MAKE OTHER SYSTEM(S) IMPOSSIBLE TO START AND RELATED DATA INACCESSIBLE.\n\nAre you sure you want to continue?</string>
+    <string lang="en" key="SYS_LOADER_RESTORE_FAILED">Failed to restore the original system loader.\n\nPlease use your RealCrypt Rescue Disk ('Repair Options' > 'Restore original system loader') or Windows installation medium to replace the RealCrypt Boot Loader with the Windows system loader.</string>
     <string lang="en" key="SYS_LOADER_UNAVAILABLE_FOR_RESCUE_DISK">The original system loader will not be stored on the Rescue Disk (probable cause: missing backup file).</string>
     <string lang="en" key="ERROR_MBR_PROTECTED">Failed to write the MBR sector.\n\nYour BIOS may be configured to protect the MBR sector. Check your BIOS settings (press F2, Delete, or Esc, after powering on your computer) for MBR/antivirus protection.</string>
-    <string lang="en" key="BOOT_LOADER_VERSION_INCORRECT_PREFERENCES">The required version of the TrueCrypt Boot Loader is currently not installed. This may prevent some of the settings from being saved.</string>
-    <string lang="en" key="CUSTOM_BOOT_LOADER_MESSAGE_HELP">Note: In some situations, you may wish to prevent a person (adversary) that is watching you start the computer from knowing that you use TrueCrypt. The above options allow you to do that by customizing the TrueCrypt boot loader screen. If you enable the first option, no texts will be displayed by the boot loader (not even when you enter the wrong password). The computer will appear to be "frozen" while you can type your password. In addition, a custom message can be displayed to mislead the adversary. For example, fake error messages such as "Missing operating system" (which is normally displayed by the Windows boot loader if it finds no Windows boot partition). It is, however, important to note that if the adversary can analyze the content of the hard drive, he can still find out that it contains the TrueCrypt boot loader.</string>
-    <string lang="en" key="CUSTOM_BOOT_LOADER_MESSAGE_PROMPT">WARNING: Please keep in mind that if you enable this option, the TrueCrypt boot loader will not display any texts (not even when you enter the wrong password). The computer will appear to be "frozen" (unresponsive) while you can type your password (the cursor will NOT move and no asterisk will be displayed when you press a key).\n\nAre you sure you want to enable this option?</string>
+    <string lang="en" key="BOOT_LOADER_VERSION_INCORRECT_PREFERENCES">The required version of the RealCrypt Boot Loader is currently not installed. This may prevent some of the settings from being saved.</string>
+    <string lang="en" key="CUSTOM_BOOT_LOADER_MESSAGE_HELP">Note: In some situations, you may wish to prevent a person (adversary) that is watching you start the computer from knowing that you use RealCrypt. The above options allow you to do that by customizing the RealCrypt boot loader screen. If you enable the first option, no texts will be displayed by the boot loader (not even when you enter the wrong password). The computer will appear to be "frozen" while you can type your password. In addition, a custom message can be displayed to mislead the adversary. For example, fake error messages such as "Missing operating system" (which is normally displayed by the Windows boot loader if it finds no Windows boot partition). It is, however, important to note that if the adversary can analyze the content of the hard drive, he can still find out that it contains the RealCrypt boot loader.</string>
+    <string lang="en" key="CUSTOM_BOOT_LOADER_MESSAGE_PROMPT">WARNING: Please keep in mind that if you enable this option, the RealCrypt boot loader will not display any texts (not even when you enter the wrong password). The computer will appear to be "frozen" (unresponsive) while you can type your password (the cursor will NOT move and no asterisk will be displayed when you press a key).\n\nAre you sure you want to enable this option?</string>
     <string lang="en" key="SYS_PARTITION_OR_DRIVE_APPEARS_FULLY_ENCRYPTED">Your system partition/drive appears to be fully encrypted.</string>
-    <string lang="en" key="SYSENC_UNSUPPORTED_FOR_DYNAMIC_DISK">TrueCrypt does not support encrypting a system drive that has been converted to a dynamic disk.</string>
+    <string lang="en" key="SYSENC_UNSUPPORTED_FOR_DYNAMIC_DISK">RealCrypt does not support encrypting a system drive that has been converted to a dynamic disk.</string>
     <string lang="en" key="WDE_UNSUPPORTED_FOR_EXTENDED_PARTITIONS">The system drive contains extended (logical) partitions.\n\nYou can encrypt an entire system drive containing extended (logical) partitions only on Windows Vista (or later versions of Windows). On Windows XP, you can encrypt an entire system drive provided that it contains only primary partitions.</string>
-    <string lang="en" key="WDE_EXTENDED_PARTITIONS_WARNING">WARNING: As you are running Windows XP/2003, after you start encrypting the drive, you must NOT create any extended (logical) partitions on it (you may create only primary partitions). Any extended partition on the drive would be inaccessible after you start encrypting.\n\nNote: If this limitation is not acceptable, you can go back and choose to encrypt only the system partition instead of the entire drive (and, in addition to that, you can create partition-hosted TrueCrypt volumes within any non-system partitions on the drive).\n\nAlternatively, if this limitation is not acceptable, you may want to consider upgrading to Windows Vista or a later version of Windows (you can encrypt an entire system drive containing extended/logical partitions only on Windows Vista or later).</string>
-    <string lang="en" key="ASK_ENCRYPT_PARTITION_INSTEAD_OF_DRIVE">Do you want to encrypt the system partition instead of the entire drive?\n\nNote that you can create partition-hosted TrueCrypt volumes within any non-system partitions on the drive (in addition to encrypting the system partition).</string>
+    <string lang="en" key="WDE_EXTENDED_PARTITIONS_WARNING">WARNING: As you are running Windows XP/2003, after you start encrypting the drive, you must NOT create any extended (logical) partitions on it (you may create only primary partitions). Any extended partition on the drive would be inaccessible after you start encrypting.\n\nNote: If this limitation is not acceptable, you can go back and choose to encrypt only the system partition instead of the entire drive (and, in addition to that, you can create partition-hosted RealCrypt volumes within any non-system partitions on the drive).\n\nAlternatively, if this limitation is not acceptable, you may want to consider upgrading to Windows Vista or a later version of Windows (you can encrypt an entire system drive containing extended/logical partitions only on Windows Vista or later).</string>
+    <string lang="en" key="ASK_ENCRYPT_PARTITION_INSTEAD_OF_DRIVE">Do you want to encrypt the system partition instead of the entire drive?\n\nNote that you can create partition-hosted RealCrypt volumes within any non-system partitions on the drive (in addition to encrypting the system partition).</string>
     <string lang="en" key="WHOLE_SYC_DEVICE_RECOM">As your system drive contains only a single partition that occupies the whole drive, it is preferable (more secure) to encrypt the entire drive including the free "slack" space that typically surrounds such a partition.\n\nDo you want to encrypt the entire system drive?</string>
     <string lang="en" key="TEMP_NOT_ON_SYS_PARTITION">Your system is configured to store temporary files on a non-system partition.\n\nTemporary files may be stored only on the system partition.</string>
     <string lang="en" key="USER_PROFILE_NOT_ON_SYS_PARTITION">Your user profile files are not stored on the system partition.\n\nUser profile files may be stored only on the system partition.</string>
     <string lang="en" key="PAGING_FILE_NOT_ON_SYS_PARTITION">There is/are paging file(s) on non-system partitions.\n\nPaging files may be located only on the system partition.</string>
-    <string lang="en" key="RESTRICT_PAGING_FILES_TO_SYS_PARTITION">Do you want to configure Windows to create paging files only on the Windows partition now?\n\nNote that if you click 'Yes', the computer will be restarted. Then start TrueCrypt and try creating the hidden OS again.</string>
-    <string lang="en" key="LEAKS_OUTSIDE_SYSPART_UNIVERSAL_EXPLANATION"> Otherwise, plausible deniability of the hidden operating system might be adversely affected.\n\nNote: If an adversary analyzed the content of such files (residing on a non-system partition), he might find out that you used this wizard in the hidden-system-creation mode (which might indicate the existence of a hidden operating system on your computer). Also note that any such files stored on the system partition will be securely erased by TrueCrypt during the process of creation of the hidden operating system.</string>
+    <string lang="en" key="RESTRICT_PAGING_FILES_TO_SYS_PARTITION">Do you want to configure Windows to create paging files only on the Windows partition now?\n\nNote that if you click 'Yes', the computer will be restarted. Then start RealCrypt and try creating the hidden OS again.</string>
+    <string lang="en" key="LEAKS_OUTSIDE_SYSPART_UNIVERSAL_EXPLANATION"> Otherwise, plausible deniability of the hidden operating system might be adversely affected.\n\nNote: If an adversary analyzed the content of such files (residing on a non-system partition), he might find out that you used this wizard in the hidden-system-creation mode (which might indicate the existence of a hidden operating system on your computer). Also note that any such files stored on the system partition will be securely erased by RealCrypt during the process of creation of the hidden operating system.</string>
     <string lang="en" key="DECOY_OS_REINSTALL_WARNING">WARNING: During the process of creation of the hidden operating system, you will be required to fully reinstall the currently running system (in order to create a decoy system securely).\n\nNote: The currently running operating system and the entire content of the system partition will be copied to the hidden volume (in order to create the hidden system).\n\n\nAre you sure you will be able to install Windows using a Windows Setup CD/DVD (or using a service partition)?</string>
-    <string lang="en" key="DECOY_OS_REQUIREMENTS">For security reasons, if the currently running operating system requires activation, it must be activated before proceeding. Note that the hidden operating system will be created by copying the content of the system partition to a hidden volume (so if this operating system is not activated, the hidden operating system will not be activated either). For more information, see the section "Security Precautions Pertaining to Hidden Volumes" in the TrueCrypt User's Guide.\n\nImportant: Before proceeding, please make sure you have read the section "Security Precautions Pertaining to Hidden Volumes" in the TrueCrypt User's Guide.\n\n\nDoes the currently running operating system meet the above condition?</string>
+    <string lang="en" key="DECOY_OS_REQUIREMENTS">For security reasons, if the currently running operating system requires activation, it must be activated before proceeding. Note that the hidden operating system will be created by copying the content of the system partition to a hidden volume (so if this operating system is not activated, the hidden operating system will not be activated either). For more information, see the section "Security Precautions Pertaining to Hidden Volumes" in the RealCrypt User's Guide.\n\nImportant: Before proceeding, please make sure you have read the section "Security Precautions Pertaining to Hidden Volumes" in the RealCrypt User's Guide.\n\n\nDoes the currently running operating system meet the above condition?</string>
     <string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
     <string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
     <string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
-    <string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: TrueCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
-    <string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for TrueCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
-    <string lang="en" key="ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION">As TrueCrypt temporarily changed the keyboard layout to the standard US keyboard layout, it is not possible to type characters by pressing keys while the right Alt key is held down. However, you can type most of such characters by pressing appropriate keys while the Shift key is held down.</string>
-    <string lang="en" key="KEYB_LAYOUT_CHANGE_PREVENTED">TrueCrypt prevented change of keyboard layout.</string>
-    <string lang="en" key="KEYB_LAYOUT_SYS_ENC_EXPLANATION">Note: The password will need to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout. However, it is important to note that you do NOT need a real US keyboard. TrueCrypt automatically ensures that you can safely type the password (right now and in the pre-boot environment) even if you do NOT have a real US keyboard.</string>
-    <string lang="en" key="RESCUE_DISK_INFO">Before you can encrypt the partition/drive, you must create a TrueCrypt Rescue Disk (TRD), which serves the following purposes:\n\n- If the TrueCrypt Boot Loader, master key, or other critical data gets damaged, the TRD allows you to restore it (note, however, that you will still have to enter the correct password then).\n\n- If the TrueCrypt Boot Loader gets damaged or infected with malware, you can avoid running it by booting directly from the TRD.\n\n- If Windows gets damaged and cannot start, the TRD allows you to permanently decrypt the partition/drive before Windows starts.\n\n- The TRD will contain a backup of the present content of the first drive track (which typically contains a system loader or boot manager) and will allow you to restore it if necessary.</string>
+    <string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: RealCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
+    <string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for RealCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
+    <string lang="en" key="ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION">As RealCrypt temporarily changed the keyboard layout to the standard US keyboard layout, it is not possible to type characters by pressing keys while the right Alt key is held down. However, you can type most of such characters by pressing appropriate keys while the Shift key is held down.</string>
+    <string lang="en" key="KEYB_LAYOUT_CHANGE_PREVENTED">RealCrypt prevented change of keyboard layout.</string>
+    <string lang="en" key="KEYB_LAYOUT_SYS_ENC_EXPLANATION">Note: The password will need to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout. However, it is important to note that you do NOT need a real US keyboard. RealCrypt automatically ensures that you can safely type the password (right now and in the pre-boot environment) even if you do NOT have a real US keyboard.</string>
+    <string lang="en" key="RESCUE_DISK_INFO">Before you can encrypt the partition/drive, you must create a RealCrypt Rescue Disk (TRD), which serves the following purposes:\n\n- If the RealCrypt Boot Loader, master key, or other critical data gets damaged, the TRD allows you to restore it (note, however, that you will still have to enter the correct password then).\n\n- If the RealCrypt Boot Loader gets damaged or infected with malware, you can avoid running it by booting directly from the TRD.\n\n- If Windows gets damaged and cannot start, the TRD allows you to permanently decrypt the partition/drive before Windows starts.\n\n- The TRD will contain a backup of the present content of the first drive track (which typically contains a system loader or boot manager) and will allow you to restore it if necessary.</string>
     <string lang="en" key="RESCUE_DISK_BURN_INFO">The Rescue Disk image has been created and stored in this file:\n%hs\n\nNow you need to write (burn) the Rescue Disk to a CD or DVD.\n\nIMPORTANT: Note that the file must be written to the CD/DVD as an ISO disk image (not as an individual file). For information on how to do so, please refer to the documentation of your CD/DVD recording software. If you do not have any CD/DVD recording software that can write the ISO disk image to a CD/DVD, click the link below to download such free software.\n\nAfter you burn the Rescue Disk, click Next to verify that the Rescue Disk has been correctly burned.</string>
     <string lang="en" key="RESCUE_DISK_BURN_INFO_NO_CHECK">The Rescue Disk image has been created and stored in this file:\n%hs\n\nNow you should either write (burn) the Rescue Disk to a CD/DVD or move the ISO image to a safe location for later use.\n\nIf you do not have any CD/DVD recording software that can write the ISO disk image to a CD/DVD, you can click the link below to download such free software.\n\nClick Next to continue.</string>
-    <string lang="en" key="RESCUE_DISK_BURN_NO_CHECK_WARN">WARNING: If you already created a TrueCrypt Rescue Disk in the past, it cannot be reused for this system partition/drive because it was created for a different master key! Every time you encrypt a system partition/drive, you must create a new TrueCrypt Rescue Disk for it even if you use the same password.</string>
+    <string lang="en" key="RESCUE_DISK_BURN_NO_CHECK_WARN">WARNING: If you already created a RealCrypt Rescue Disk in the past, it cannot be reused for this system partition/drive because it was created for a different master key! Every time you encrypt a system partition/drive, you must create a new RealCrypt Rescue Disk for it even if you use the same password.</string>
     <string lang="en" key="CANNOT_SAVE_SYS_ENCRYPTION_SETTINGS">Error: Cannot save system encryption settings.</string>
     <string lang="en" key="CANNOT_INITIATE_SYS_ENCRYPTION_PRETEST">Cannot initiate the system encryption pretest.</string>
     <string lang="en" key="CANNOT_INITIATE_HIDDEN_OS_CREATION">Cannot initiate the process of creation of the hidden operating system.</string>
     <string lang="en" key="WIPE_MODE_TITLE">Wipe Mode</string>
-    <string lang="en" key="INPLACE_ENC_WIPE_MODE_INFO">On some types of storage media, when data is overwritten with other data, it may be possible to recover the overwritten data using techniques such as magnetic force microscopy. This also applies to data that are overwritten with their encrypted form (which happens when TrueCrypt initially encrypts an unencrypted partition or drive). According to some studies and governmental publications, recovery of overwritten data can be prevented (or made very difficult) by overwritting the data with pseudorandom and certain non-random data a certain number of times. Therefore, if you believe that an adversary might be able to use such techniques to recover the data you intend encrypt, you may want to select one of the wipe modes (existing data will NOT be lost). Note that wiping will NOT be performed after the partition/drive is encrypted. When the partition/drive is fully encrypted, no unencrypted data is written to it. Any data be
 ing written to it is first encrypted on the fly in memory and only then is the (encrypted) data written to the disk.</string>
+    <string lang="en" key="INPLACE_ENC_WIPE_MODE_INFO">On some types of storage media, when data is overwritten with other data, it may be possible to recover the overwritten data using techniques such as magnetic force microscopy. This also applies to data that are overwritten with their encrypted form (which happens when RealCrypt initially encrypts an unencrypted partition or drive). According to some studies and governmental publications, recovery of overwritten data can be prevented (or made very difficult) by overwritting the data with pseudorandom and certain non-random data a certain number of times. Therefore, if you believe that an adversary might be able to use such techniques to recover the data you intend encrypt, you may want to select one of the wipe modes (existing data will NOT be lost). Note that wiping will NOT be performed after the partition/drive is encrypted. When the partition/drive is fully encrypted, no unencrypted data is written to it. Any data be
 ing written to it is first encrypted on the fly in memory and only then is the (encrypted) data written to the disk.</string>
     <string lang="en" key="WIPE_MODE_INFO">On some types of storage media, when data is overwritten with other data (e.g. when the data is erased), it may be possible to recover the overwritten data using techniques such as magnetic force microscopy. According to some studies and governmental publications, recovery of overwritten data can be prevented (or made very difficult) by overwritting the data with pseudorandom and certain non-random data a certain number of times. Therefore, if you believe that an adversary might be able to use such techniques to recover the data that is to be erased, you may want to select one of the multi-pass wipe modes.\n\nNote: The more wipe passes you use, the longer it takes to erase the data.</string>
     <string lang="en" key="DEVICE_WIPE_PAGE_TITLE">Wiping</string>
     <string lang="en" key="DEVICE_WIPE_PAGE_INFO_HIDDEN_OS">\nNote: You can interrupt the process of wiping, shut down your computer, start the hidden system again and then resume the process (this wizard will be launched automatically). However, if you interrupt it, the entire process of wiping will have to start from the beginning.</string>
@@ -1006,93 +1006,93 @@
     <string lang="en" key="MULTI_BOOT_FOR_ADVANCED_ONLY">WARNING: Inexperienced users should never attempt to encrypt Windows in multi-boot configurations.\n\nContinue?</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_SYS_EQ_BOOT_TITLE">Boot Drive</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_SYS_EQ_BOOT_HELP">Is the currently running operating system installed on the boot drive?\n\nNote: Sometimes, Windows is not installed on the same drive as the Windows boot loader (boot partition). If that is the case, select 'No'.</string>
-    <string lang="en" key="SYS_PARTITION_MUST_BE_ON_BOOT_DRIVE">TrueCrypt currently does not support encrypting an operating system that does not boot from the drive on which it is installed.</string>
+    <string lang="en" key="SYS_PARTITION_MUST_BE_ON_BOOT_DRIVE">RealCrypt currently does not support encrypting an operating system that does not boot from the drive on which it is installed.</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_NBR_SYS_DRIVES_TITLE">Number of System Drives</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_NBR_SYS_DRIVES_HELP">How many drives contain an operating system?\n\nNote: For example, if you have any operating system (e.g. Windows, Mac OS X, Linux, etc.) installed on your primary drive and any additional operating system installed on your secondary drive, select '2 or more'.</string>
-    <string lang="en" key="WDE_UNSUPPORTED_FOR_MULTIPLE_SYSTEMS_ON_ONE_DRIVE">TrueCrypt currently does not support encrypting a whole drive that contains multiple operating systems.\n\nPossible Solutions:\n\n- You can still encrypt one of the systems if you go back and choose to encrypt only a single system partition (as opposed to choosing to encrypt the entire system drive).\n\n- Alternatively, you will be able to encrypt the entire drive if you move some of the systems to other drives leaving only one system on the drive you want to encrypt.</string>
+    <string lang="en" key="WDE_UNSUPPORTED_FOR_MULTIPLE_SYSTEMS_ON_ONE_DRIVE">RealCrypt currently does not support encrypting a whole drive that contains multiple operating systems.\n\nPossible Solutions:\n\n- You can still encrypt one of the systems if you go back and choose to encrypt only a single system partition (as opposed to choosing to encrypt the entire system drive).\n\n- Alternatively, you will be able to encrypt the entire drive if you move some of the systems to other drives leaving only one system on the drive you want to encrypt.</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_ADJACENT_SYS_TITLE">Multiple Systems on Single Drive</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_ADJACENT_SYS_HELP">Are there any other operating systems installed on the drive on which the currently running operating system is installed?\n\nNote: For example, if the currently running operating system is installed on the drive #0, which contains several partitions, and if one of the partitions contains Windows and another partition contains any additional operating system (e.g. Windows, Mac OS X, Linux, etc.), select 'Yes'.</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_NONWIN_BOOT_LOADER_TITLE">Non-Windows Boot Loader</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_NONWIN_BOOT_LOADER_HELP">Is a non-Windows boot loader (or boot manager) installed in the master boot record (MBR)?\n\nNote: For example, if the first track of the boot drive contains GRUB, LILO, XOSL, or some other non-Windows boot manager (or boot loader), select 'Yes'.</string>
     <string lang="en" key="SYSENC_MULTI_BOOT_OUTCOME_TITLE">Multi-Boot</string>
-    <string lang="en" key="CUSTOM_BOOT_MANAGERS_IN_MBR_UNSUPPORTED">TrueCrypt currently does not support multi-boot configurations where a non-Windows boot loader is installed in the Master Boot Record.\n\nPossible Solutions:\n\n- If you use a boot manager to boot Windows and Linux, move the boot manager (typically, GRUB) from the Master Boot Record to a partition. Then start this wizard again and encrypt the system partition/drive. Note that the TrueCrypt Boot Loader will become your primary boot manager and it will allow you to launch the original boot manager (e.g. GRUB) as your secondary boot manager (by pressing Esc in the TrueCrypt Boot Loader screen) and thus you will be able boot Linux.</string>
-    <string lang="en" key="WINDOWS_BOOT_LOADER_HINTS">If the currently running operating system is installed on the boot partition, then, after you encrypt it, you will need to enter the correct password even if you want to start any other unencrypted Windows system(s) (as they will share a single encrypted Windows boot loader/manager).\n\nIn contrast, if the currently running operating system is not installed on the boot partition (or if the Windows boot loader/manager is not used by any other system), then, after you encrypt this system, you will not need to enter the correct password to boot the other unencrypted system(s) -- you will only need to press the Esc key to start the unencrypted system (if there are multiple unencrypted systems, you will also need to choose which system to start in the TrueCrypt Boot Manager menu).\n\nNote: Typically, the earliest installed Windows system is installed on the boot partition.</string>
-    <string lang="en" key="MULTI_BOOT_VISTA_SP1">If there are any Windows Vista operating systems in your multi-boot configuration, please make sure they have been upgraded to Service Pack 1 or higher. TrueCrypt Boot Loader might fail to boot Windows Vista with no Service Pack installed.\n\nPlease note that Service Pack 1 for Windows Vista resolved an issue causing a shortage of free base memory during system boot.</string>
+    <string lang="en" key="CUSTOM_BOOT_MANAGERS_IN_MBR_UNSUPPORTED">RealCrypt currently does not support multi-boot configurations where a non-Windows boot loader is installed in the Master Boot Record.\n\nPossible Solutions:\n\n- If you use a boot manager to boot Windows and Linux, move the boot manager (typically, GRUB) from the Master Boot Record to a partition. Then start this wizard again and encrypt the system partition/drive. Note that the RealCrypt Boot Loader will become your primary boot manager and it will allow you to launch the original boot manager (e.g. GRUB) as your secondary boot manager (by pressing Esc in the RealCrypt Boot Loader screen) and thus you will be able boot Linux.</string>
+    <string lang="en" key="WINDOWS_BOOT_LOADER_HINTS">If the currently running operating system is installed on the boot partition, then, after you encrypt it, you will need to enter the correct password even if you want to start any other unencrypted Windows system(s) (as they will share a single encrypted Windows boot loader/manager).\n\nIn contrast, if the currently running operating system is not installed on the boot partition (or if the Windows boot loader/manager is not used by any other system), then, after you encrypt this system, you will not need to enter the correct password to boot the other unencrypted system(s) -- you will only need to press the Esc key to start the unencrypted system (if there are multiple unencrypted systems, you will also need to choose which system to start in the RealCrypt Boot Manager menu).\n\nNote: Typically, the earliest installed Windows system is installed on the boot partition.</string>
+    <string lang="en" key="MULTI_BOOT_VISTA_SP1">If there are any Windows Vista operating systems in your multi-boot configuration, please make sure they have been upgraded to Service Pack 1 or higher. RealCrypt Boot Loader might fail to boot Windows Vista with no Service Pack installed.\n\nPlease note that Service Pack 1 for Windows Vista resolved an issue causing a shortage of free base memory during system boot.</string>
     <string lang="en" key="SYSENC_PRE_DRIVE_ANALYSIS_TITLE">Encryption of Host Protected Area</string>
-    <string lang="en" key="SYSENC_PRE_DRIVE_ANALYSIS_HELP">At the end of many drives, there is an area that is normally hidden from the operating system (such areas are usually referred to as Host Protected Areas). However, some programs can read and write data from/to such areas.\n\nWARNING: Some computer manufacturers may use such areas to store tools and data for RAID, system recovery, system setup, diagnostic, or other purposes. If such tools or data must be accessible before booting, the hidden area should NOT be encrypted (choose 'No' above).\n\nDo you want TrueCrypt to detect and encrypt such a hidden area (if any) at the end of the system drive?</string>
+    <string lang="en" key="SYSENC_PRE_DRIVE_ANALYSIS_HELP">At the end of many drives, there is an area that is normally hidden from the operating system (such areas are usually referred to as Host Protected Areas). However, some programs can read and write data from/to such areas.\n\nWARNING: Some computer manufacturers may use such areas to store tools and data for RAID, system recovery, system setup, diagnostic, or other purposes. If such tools or data must be accessible before booting, the hidden area should NOT be encrypted (choose 'No' above).\n\nDo you want RealCrypt to detect and encrypt such a hidden area (if any) at the end of the system drive?</string>
     <string lang="en" key="SYSENC_TYPE_PAGE_TITLE">Type of System Encryption</string>
     <string lang="en" key="SYSENC_NORMAL_TYPE_HELP">Select this option if you merely want to encrypt the system partition or the entire system drive.</string>
     <string lang="en" key="SYSENC_HIDDEN_TYPE_HELP">It may happen that you are forced by somebody to decrypt the operating system. There are many situations where you cannot refuse to do so (for example, due to extortion). If you select this option, you will create a hidden operating system whose existence will be impossible to prove (provided that certain guidelines are followed). Thus, you will not have to decrypt or reveal the password to the hidden operating system. For a detailed explanation, please click the link below.</string>
     <string lang="en" key="HIDDEN_OS_PREINFO">It may happen that you are forced by somebody to decrypt the operating system. There are many situations where you cannot refuse to do so (for example, due to extortion).\n\nUsing this wizard, you can create a hidden operating system whose existence will be impossible to prove (provided that certain guidelines are followed). Thus, you will not have to decrypt or reveal the password for the hidden operating system.</string>
     <string lang="en" key="SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_TITLE">Hidden Operating System</string>
-    <string lang="en" key="SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_HELP">In the following steps, you will create two TrueCrypt volumes (outer and hidden) within the first partition behind the system partition. The hidden volume will contain the hidden operating system (OS). TrueCrypt will create the hidden OS by copying the content of the system partition (where the currently running OS is installed) to the hidden volume. To the outer volume, you will copy some sensitive looking files that you actually do NOT want to hide. They will be there for anyone forcing you to disclose the password for the hidden OS partition. You can reveal the password for the outer volume within the hidden OS partition (the existence of the hidden OS remains secret).\n\nFinally, on the system partition of the currently running OS, you will install a new OS, so-called decoy OS, and encrypt it. It must not contain sensitive data and will be there for anyone forcing you to reveal your pre-boot authentication 
 password. In total, there will be three passwords. Two of them can be disclosed (for the decoy OS and outer volume). If you use the third one, the hidden OS will start.</string>
+    <string lang="en" key="SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_HELP">In the following steps, you will create two RealCrypt volumes (outer and hidden) within the first partition behind the system partition. The hidden volume will contain the hidden operating system (OS). RealCrypt will create the hidden OS by copying the content of the system partition (where the currently running OS is installed) to the hidden volume. To the outer volume, you will copy some sensitive looking files that you actually do NOT want to hide. They will be there for anyone forcing you to disclose the password for the hidden OS partition. You can reveal the password for the outer volume within the hidden OS partition (the existence of the hidden OS remains secret).\n\nFinally, on the system partition of the currently running OS, you will install a new OS, so-called decoy OS, and encrypt it. It must not contain sensitive data and will be there for anyone forcing you to reveal your pre-boot authentication 
 password. In total, there will be three passwords. Two of them can be disclosed (for the decoy OS and outer volume). If you use the third one, the hidden OS will start.</string>
     <string lang="en" key="SYSENC_DRIVE_ANALYSIS_TITLE">Detecting Hidden Sectors</string>
-    <string lang="en" key="SYSENC_DRIVE_ANALYSIS_INFO">Please wait while TrueCrypt is detecting possible hidden sectors at the end of the system drive. Note that it may take a long time to complete.\n\nNote: In very rare cases, on some computers, the system may become unresponsive during this detection process. If it happens, restart the computer, start TrueCrypt, repeat the previous steps but skip this detection process. Note that this issue is not caused by a bug in TrueCrypt.</string>
+    <string lang="en" key="SYSENC_DRIVE_ANALYSIS_INFO">Please wait while RealCrypt is detecting possible hidden sectors at the end of the system drive. Note that it may take a long time to complete.\n\nNote: In very rare cases, on some computers, the system may become unresponsive during this detection process. If it happens, restart the computer, start RealCrypt, repeat the previous steps but skip this detection process. Note that this issue is not caused by a bug in RealCrypt.</string>
     <string lang="en" key="SYS_ENCRYPTION_SPAN_TITLE">Area to Encrypt</string>
-    <string lang="en" key="SYS_ENCRYPTION_SPAN_WHOLE_SYS_DRIVE_HELP">Select this option if you want to encrypt the entire drive on which your Windows is installed and from which it boots. The whole drive, including all its partitions, will be encrypted except the first track where the TrueCrypt Boot Loader will reside. Anyone who wants to access a system installed on the drive, or files stored on the drive, will need to enter the correct password each time before the system starts. This option cannot be used to encrypt a secondary or external drive if Windows is not installed on it and does not boot from it.</string>
+    <string lang="en" key="SYS_ENCRYPTION_SPAN_WHOLE_SYS_DRIVE_HELP">Select this option if you want to encrypt the entire drive on which your Windows is installed and from which it boots. The whole drive, including all its partitions, will be encrypted except the first track where the RealCrypt Boot Loader will reside. Anyone who wants to access a system installed on the drive, or files stored on the drive, will need to enter the correct password each time before the system starts. This option cannot be used to encrypt a secondary or external drive if Windows is not installed on it and does not boot from it.</string>
     <string lang="en" key="COLLECTING_RANDOM_DATA_TITLE">Collecting Random Data</string>
     <string lang="en" key="KEYS_GEN_TITLE">Keys Generated</string>
     <string lang="en" key="RESCUE_DISK_RECORDING_TITLE">Rescue Disk Recording</string>
     <string lang="en" key="RESCUE_DISK_CREATED_TITLE">Rescue Disk Created</string>
     <string lang="en" key="SYS_ENCRYPTION_PRETEST_TITLE">System Encryption Pretest</string>
     <string lang="en" key="RESCUE_DISK_DISK_VERIFIED_TITLE">Rescue Disk Verified</string>
-    <string lang="en" key="RESCUE_DISK_VERIFIED_INFO">\nThe TrueCrypt Rescue Disk has been successfully verified. Please remove it from the drive now and store it in a safe place.\n\nClick Next to continue.</string>
-    <string lang="en" key="REMOVE_RESCUE_DISK_FROM_DRIVE">WARNING: During the next steps, the TrueCrypt Rescue Disk must not be in the drive. Otherwise, it will not be possible to complete the steps correctly.\n\nPlease remove it from the drive now and store it in a safe place. Then click OK.</string>
-    <string lang="en" key="PREBOOT_NOT_LOCALIZED">Warning: Due to technical limitations of the pre-boot environment, texts displayed by TrueCrypt in the pre-boot environment (i.e. before Windows starts) cannot be localized. The TrueCrypt Boot Loader user interface is completely in English.\n\nContinue?</string>
-    <string lang="en" key="SYS_ENCRYPTION_PRETEST_INFO">Before encrypting your system partition or drive, TrueCrypt needs to verify that everything works correctly.\n\nAfter you click Test, all the necessary components (for example, the pre-boot authentication component, i.e. the TrueCrypt Boot Loader) will be installed and your computer will be restarted. Then you will have to enter your password in the TrueCrypt Boot Loader screen that will appear before Windows starts. After Windows starts, you will be automatically informed about the result of this pretest.\n\nThe following device will be modified: Drive #%d\n\n\nIf you click Cancel now, nothing will be installed and the pretest will not be performed.</string>
-    <string lang="en" key="SYS_ENCRYPTION_PRETEST_INFO2">IMPORTANT NOTES -- PLEASE READ OR PRINT (click 'Print'):\n\nNote that none of your files will be encrypted before you successfully restart your computer and start Windows. Thus, if anything fails, your data will NOT be lost. However, if something does go wrong, you might encounter difficulties in starting your Windows. Therefore, please read (and, if possible, print) the following guidelines on what to do if your Windows cannot start after you restart the computer.\n\nWhat to Do If Windows Cannot Start\n------------------------------------------------\n\nNote: These instructions are valid only if you have not started encrypting.\n\n- If Windows does not start after you enter the correct password (or if you repeatedly enter the correct password but TrueCrypt says that the password is incorrect), do not panic. Restart (power off and on) the computer, and in the TrueCrypt Boot Loader screen, press the Esc key on your keyb
 oard (and if you have multiple systems, choose which to start). Then your Windows should start (provided that it is not encrypted) and TrueCrypt will automatically ask whether you want to uninstall the pre-boot authentication component. Note that the previous steps do NOT work if the system partition/drive is encrypted (nobody can start Windows or access encrypted data on the drive without the correct password even if he or she follows the previous steps).\n\n- If the previous steps do not help or if the TrueCrypt Boot Loader screen does not appear (before Windows starts), insert the TrueCrypt Rescue Disk into your CD/DVD drive and restart your computer. If the TrueCrypt Rescue Disk screen does not appear (or if you do not see the 'Repair Options' item in the 'Keyboard Controls' section of the TrueCrypt Rescue Disk screen), it is possible that your BIOS is configured to attempt to boot from hard drives before CD/DVD drives. If that is the case, restart your computer, press F
 2 or Delete (as soon as you see a BIOS start-up screen), and wait until a BIOS configuration screen appears. If no BIOS configuration screen appears, restart (reset) the computer again and start pressing F2 or Delete repeatedly as soon as you restart (reset) the computer. When a BIOS configuration screen appears, configure your BIOS to boot from the CD/DVD drive first (for information on how to do so, please refer to the documentation for your BIOS/motherboard or contact your computer vendor's technical support team for assistance). Then restart your computer. The TrueCrypt Rescue Disk screen should appear now. In the TrueCrypt Rescue Disk screen, select 'Repair Options' by pressing F8 on your keyboard. From the 'Repair Options' menu, select 'Restore original system loader'. Then remove the Rescue Disk from your CD/DVD drive and restart your computer. Your Windows should start normally (provided that it is not encrypted).\n\nNote that the previous steps do NOT work if the sy
 stem partition/drive is encrypted (nobody can start Windows or access encrypted data on the drive without the correct password even if he or she follows the previous steps).\n\n\nNote that even if you lose your TrueCrypt Rescue Disk and an attacker finds it, he or she will NOT be able to decrypt the system partition or drive without the correct password.</string>
+    <string lang="en" key="RESCUE_DISK_VERIFIED_INFO">\nThe RealCrypt Rescue Disk has been successfully verified. Please remove it from the drive now and store it in a safe place.\n\nClick Next to continue.</string>
+    <string lang="en" key="REMOVE_RESCUE_DISK_FROM_DRIVE">WARNING: During the next steps, the RealCrypt Rescue Disk must not be in the drive. Otherwise, it will not be possible to complete the steps correctly.\n\nPlease remove it from the drive now and store it in a safe place. Then click OK.</string>
+    <string lang="en" key="PREBOOT_NOT_LOCALIZED">Warning: Due to technical limitations of the pre-boot environment, texts displayed by RealCrypt in the pre-boot environment (i.e. before Windows starts) cannot be localized. The RealCrypt Boot Loader user interface is completely in English.\n\nContinue?</string>
+    <string lang="en" key="SYS_ENCRYPTION_PRETEST_INFO">Before encrypting your system partition or drive, RealCrypt needs to verify that everything works correctly.\n\nAfter you click Test, all the necessary components (for example, the pre-boot authentication component, i.e. the RealCrypt Boot Loader) will be installed and your computer will be restarted. Then you will have to enter your password in the RealCrypt Boot Loader screen that will appear before Windows starts. After Windows starts, you will be automatically informed about the result of this pretest.\n\nThe following device will be modified: Drive #%d\n\n\nIf you click Cancel now, nothing will be installed and the pretest will not be performed.</string>
+    <string lang="en" key="SYS_ENCRYPTION_PRETEST_INFO2">IMPORTANT NOTES -- PLEASE READ OR PRINT (click 'Print'):\n\nNote that none of your files will be encrypted before you successfully restart your computer and start Windows. Thus, if anything fails, your data will NOT be lost. However, if something does go wrong, you might encounter difficulties in starting your Windows. Therefore, please read (and, if possible, print) the following guidelines on what to do if your Windows cannot start after you restart the computer.\n\nWhat to Do If Windows Cannot Start\n------------------------------------------------\n\nNote: These instructions are valid only if you have not started encrypting.\n\n- If Windows does not start after you enter the correct password (or if you repeatedly enter the correct password but RealCrypt says that the password is incorrect), do not panic. Restart (power off and on) the computer, and in the RealCrypt Boot Loader screen, press the Esc key on your keyb
 oard (and if you have multiple systems, choose which to start). Then your Windows should start (provided that it is not encrypted) and RealCrypt will automatically ask whether you want to uninstall the pre-boot authentication component. Note that the previous steps do NOT work if the system partition/drive is encrypted (nobody can start Windows or access encrypted data on the drive without the correct password even if he or she follows the previous steps).\n\n- If the previous steps do not help or if the RealCrypt Boot Loader screen does not appear (before Windows starts), insert the RealCrypt Rescue Disk into your CD/DVD drive and restart your computer. If the RealCrypt Rescue Disk screen does not appear (or if you do not see the 'Repair Options' item in the 'Keyboard Controls' section of the RealCrypt Rescue Disk screen), it is possible that your BIOS is configured to attempt to boot from hard drives before CD/DVD drives. If that is the case, restart your computer, press F
 2 or Delete (as soon as you see a BIOS start-up screen), and wait until a BIOS configuration screen appears. If no BIOS configuration screen appears, restart (reset) the computer again and start pressing F2 or Delete repeatedly as soon as you restart (reset) the computer. When a BIOS configuration screen appears, configure your BIOS to boot from the CD/DVD drive first (for information on how to do so, please refer to the documentation for your BIOS/motherboard or contact your computer vendor's technical support team for assistance). Then restart your computer. The RealCrypt Rescue Disk screen should appear now. In the RealCrypt Rescue Disk screen, select 'Repair Options' by pressing F8 on your keyboard. From the 'Repair Options' menu, select 'Restore original system loader'. Then remove the Rescue Disk from your CD/DVD drive and restart your computer. Your Windows should start normally (provided that it is not encrypted).\n\nNote that the previous steps do NOT work if the sy
 stem partition/drive is encrypted (nobody can start Windows or access encrypted data on the drive without the correct password even if he or she follows the previous steps).\n\n\nNote that even if you lose your RealCrypt Rescue Disk and an attacker finds it, he or she will NOT be able to decrypt the system partition or drive without the correct password.</string>
     <string lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_TITLE">Pretest Completed</string>
-    <string lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_INFO">The pretest has been successfully completed.\n\nWARNING: Please note that if power supply is suddenly interrupted while encrypting existing data in place, or when the operating system crashes due to a software error or hardware malfunction while TrueCrypt is encrypting existing data in place, portions of the data will be corrupted or lost. Therefore, before you start encrypting, please make sure that you have backup copies of the files you want to encrypt. If you do not, please back up the files now (you can click Defer, back up the files, then run TrueCrypt again anytime, and select 'System' &gt; 'Resume Interrupted Process' to start encrypting).\n\nWhen ready, click Encrypt to start encrypting.</string>
-    <string lang="en" key="SYSENC_ENCRYPTION_PAGE_INFO">You can click Pause or Defer anytime to interrupt the process of encryption or decryption, exit this wizard, restart or shut down your computer, and then resume the process, which will continue from the point it was stopped. To prevent slowdown when the system or applications write or read data from the system drive, TrueCrypt automatically waits until the data are written or read (see Status above) and then automatically continues encrypting or decrypting.</string>
+    <string lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_INFO">The pretest has been successfully completed.\n\nWARNING: Please note that if power supply is suddenly interrupted while encrypting existing data in place, or when the operating system crashes due to a software error or hardware malfunction while RealCrypt is encrypting existing data in place, portions of the data will be corrupted or lost. Therefore, before you start encrypting, please make sure that you have backup copies of the files you want to encrypt. If you do not, please back up the files now (you can click Defer, back up the files, then run RealCrypt again anytime, and select 'System' &gt; 'Resume Interrupted Process' to start encrypting).\n\nWhen ready, click Encrypt to start encrypting.</string>
+    <string lang="en" key="SYSENC_ENCRYPTION_PAGE_INFO">You can click Pause or Defer anytime to interrupt the process of encryption or decryption, exit this wizard, restart or shut down your computer, and then resume the process, which will continue from the point it was stopped. To prevent slowdown when the system or applications write or read data from the system drive, RealCrypt automatically waits until the data are written or read (see Status above) and then automatically continues encrypting or decrypting.</string>
     <string lang="en" key="NONSYS_INPLACE_ENC_ENCRYPTION_PAGE_INFO">\n\nYou can click Pause or Defer anytime to interrupt the process of encryption, exit this wizard, restart or shut down your computer, and then resume the process, which will continue from the point it was stopped. Note that the volume cannot be mounted until it has been fully encrypted.</string>
     <string lang="en" key="SYSENC_HIDDEN_OS_INITIAL_INFO_TITLE">Hidden System Started</string>
     <string lang="en" key="SYSENC_HIDDEN_OS_WIPE_INFO_TITLE">Original System</string>
-    <string lang="en" key="SYSENC_HIDDEN_OS_WIPE_INFO">Windows creates (typically, without your knowledge or consent) various log files, temporary files, etc., on the system partition. It also saves the content of RAM to hibernation and paging files located on the system partition. Therefore, if an adversary analyzed files stored on the partition where the original system (of which the hidden system is a clone) resides, he might find out, for example, that you used the TrueCrypt wizard in the hidden-system-creation mode (which might indicate the existence of a hidden operating system on your computer).\n\nTo prevent such issues, TrueCrypt will, in the next steps, securely erase the entire content of the partition where the original system resides. Afterwards, in order to achieve plausible deniability, you will need to install a new system on the partition and encrypt it. Thus you will create the decoy system and the whole process of creation of the hidden operating system wi
 ll be completed.</string>
-    <string lang="en" key="OS_WIPING_NOT_FINISHED_ASK">The hidden operating system has been successfully created. However, before you can start using it (and achieve plausible deniability), you need to securely erase (using TrueCrypt) the entire content of the partition where the currently running operating system is installed. Before you can do that, you need to restart the computer and, in the TrueCrypt Boot Loader screen (which appears before Windows starts), enter the pre-boot authentication password for the hidden operating system. Then, after the hidden system starts, the TrueCrypt wizard will be launched automatically.\n\nNote: If you choose to terminate the process of creation of the hidden operating system now, you will NOT be able to resume the process and the hidden system will NOT be accessible (because the TrueCrypt Boot Loader will be removed).</string>
-    <string lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_ASK">You have scheduled the process of creation of a hidden operating system. The process has not been completed yet. To complete it, you need to restart the computer and, in the TrueCrypt Boot Loader screen (which appears before Windows starts), enter the password for the hidden operating system.\n\nNote: If you choose to terminate the process of creation of the hidden operating system now, you will NOT be able to resume the process.</string>
+    <string lang="en" key="SYSENC_HIDDEN_OS_WIPE_INFO">Windows creates (typically, without your knowledge or consent) various log files, temporary files, etc., on the system partition. It also saves the content of RAM to hibernation and paging files located on the system partition. Therefore, if an adversary analyzed files stored on the partition where the original system (of which the hidden system is a clone) resides, he might find out, for example, that you used the RealCrypt wizard in the hidden-system-creation mode (which might indicate the existence of a hidden operating system on your computer).\n\nTo prevent such issues, RealCrypt will, in the next steps, securely erase the entire content of the partition where the original system resides. Afterwards, in order to achieve plausible deniability, you will need to install a new system on the partition and encrypt it. Thus you will create the decoy system and the whole process of creation of the hidden operating system wi
 ll be completed.</string>
+    <string lang="en" key="OS_WIPING_NOT_FINISHED_ASK">The hidden operating system has been successfully created. However, before you can start using it (and achieve plausible deniability), you need to securely erase (using RealCrypt) the entire content of the partition where the currently running operating system is installed. Before you can do that, you need to restart the computer and, in the RealCrypt Boot Loader screen (which appears before Windows starts), enter the pre-boot authentication password for the hidden operating system. Then, after the hidden system starts, the RealCrypt wizard will be launched automatically.\n\nNote: If you choose to terminate the process of creation of the hidden operating system now, you will NOT be able to resume the process and the hidden system will NOT be accessible (because the RealCrypt Boot Loader will be removed).</string>
+    <string lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_ASK">You have scheduled the process of creation of a hidden operating system. The process has not been completed yet. To complete it, you need to restart the computer and, in the RealCrypt Boot Loader screen (which appears before Windows starts), enter the password for the hidden operating system.\n\nNote: If you choose to terminate the process of creation of the hidden operating system now, you will NOT be able to resume the process.</string>
     <string lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_CHOICE_RETRY">Restart the computer and proceed</string>
     <string lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_CHOICE_TERMINATE">Permanently terminate the process of creation of the hidden operating system</string>
     <string lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_CHOICE_ASK_LATER">Do nothing now and ask again later</string>
-    <string lang="en" key="RESCUE_DISK_HELP">\nIF POSSIBLE, PLEASE PRINT THIS TEXT (click 'Print' below).\n\n\nHow and When to Use TrueCrypt Rescue Disk (After Encrypting)\n-------------------------------------------------------------------------------------\n\nI. How to Boot TrueCrypt Rescue Disk\n\nTo boot a TrueCrypt Rescue Disk, insert it into your CD/DVD drive and restart your computer. If the TrueCrypt Rescue Disk screen does not appear (or if you do not see the 'Repair Options' item in the 'Keyboard Controls' section of the screen), it is possible that your BIOS is configured to attempt to boot from hard drives before CD/DVD drives. If that is the case, restart your computer, press F2 or Delete (as soon as you see a BIOS start-up screen), and wait until a BIOS configuration screen appears. If no BIOS configuration screen appears, restart (reset) the computer again and start pressing F2 or Delete repeatedly as soon as you restart (reset) the computer. When a BIOS confi
 guration screen appears, configure your BIOS to boot from the CD/DVD drive first (for information on how to do so, please refer to the documentation for your BIOS/motherboard or contact your computer vendor's technical support team for assistance). Then restart your computer. The TrueCrypt Rescue Disk screen should appear now. Note: In the TrueCrypt Rescue Disk screen, you can select 'Repair Options' by pressing F8 on your keyboard.\n\n\nII. When and How to Use TrueCrypt Rescue Disk (After Encrypting)\n\n1) If the TrueCrypt Boot Loader screen does not appear after you start your computer (or if your Windows does not boot), the TrueCrypt Boot Loader may be damaged. The TrueCrypt Rescue Disk allows you to restore it and thus to regain access to your encrypted system and data (however, note that you will still have to enter the correct password then). In the Rescue Disk screen, select 'Repair Options' > 'Restore TrueCrypt Boot Loader'. Then press 'Y' to confirm the action, remo
 ve the Rescue Disk from your CD/DVD drive and restart your computer.\n\n2) If you repeatedly enter the correct password but TrueCrypt says that the password is incorrect, the master key or other critical data may be damaged. The TrueCrypt Rescue Disk allows you to restore them and thus to regain access to your encrypted system and data (however, note that you will still have to enter the correct password then). In the Rescue Disk screen, select 'Repair Options' > 'Restore key data'. Then enter your password, press 'Y' to confirm the action, remove the Rescue Disk from your CD/DVD drive, and restart your computer.\n\n3) If the TrueCrypt Boot Loader is damaged or infected with malware, you can avoid running it by booting directly from the TrueCrypt Rescue Disk. Insert your Rescue Disk into your CD/DVD drive and then enter your password in the Rescue Disk screen.\n\n4) If Windows is damaged and cannot start, the TrueCrypt Rescue Disk allows you to permanently decrypt the partit
 ion/drive before Windows starts. In the Rescue Disk screen, select 'Repair Options' > 'Permanently decrypt system partition/drive'. Enter the correct password and wait until decryption is complete. Then you can e.g. boot your MS Windows setup CD/DVD to repair your Windows.\n\nNote: Alternatively, if Windows is damaged (cannot start) and you need to repair it (or access files on it), you can avoid decrypting the system partition/drive by following these steps: If you have multiple operating systems installed on your computer, boot the one that does not require pre-boot authentication. If you do not have multiple operating systems installed on your computer, you can boot a WinPE or BartPE CD/DVD or you can connect your system drive as a secondary or external drive to another computer and then boot the operating system installed on the computer. After you boot a system, run TrueCrypt, click 'Select Device', select the affected system partition, click 'OK', select 'System' > 'Mo
 unt Without Pre-Boot Authentication', enter your pre-boot authentication password and click 'OK'. The partition will be mounted as a regular TrueCrypt volume (data will be on-the-fly decrypted/encrypted in RAM on access, as usual).\n\n\nNote that even if you lose your TrueCrypt Rescue Disk and an attacker finds it, he or she will NOT be able to decrypt the system partition or drive without the correct password.</string>
-    <string lang="en" key="DECOY_OS_INSTRUCTIONS">\n\nI M P O R T A N T -- PLEASE PRINT THIS TEXT IF POSSIBLE (click 'Print' below).\n\n\nNote: This text will be automatically displayed each time you start the hidden system until you start creating the decoy system.\n\n\nHow to Create Decoy System Safely and Securely\n----------------------------------------------------------------------------\n\nIn order to achieve plausible deniability, you need to create the decoy operating system now. To do so, follow these steps:\n\n1) For security reasons, shut down your computer and leave it powered off for several minutes. This is required to clear the memory, which contains sensitive data. Then turn on the computer but do not boot the hidden system.\n\n2) Install Windows on the partition whose content has been erased (i.e. on the partition where the original system, of which the hidden system is a clone, was installed).\n\nIMPORTANT: WHEN YOU START INSTALLING THE DECOY SYSTEM, THE H
 IDDEN SYSTEM WILL *NOT* BE POSSIBLE TO BOOT (because the TrueCrypt Boot Loader will be erased by the Windows system installer). THIS IS NORMAL AND EXPECTED. PLEASE DO NOT PANIC. YOU WILL BE ABLE TO BOOT THE HIDDEN SYSTEM AGAIN AS SOON AS YOU START ENCRYPTING THE DECOY SYSTEM (because TrueCrypt will then automatically install the TrueCrypt Boot Loader on the system drive).\n\nImportant: The size of the decoy system partition must remain the same as the size of the hidden volume (this condition is now met). Moreover, you must not create any partition between the decoy system partition and the partition where the hidden system resides.\n\n3) Boot the decoy system (which you installed in step 2 and install TrueCrypt on it).\n\nKeep in mind that the decoy system must never contain any sensitive data.\n\n4) On the decoy system, run TrueCrypt and select 'System' &gt; 'Encrypt System Partition/Drive'. The TrueCrypt Volume Creation Wizard window should appear.\n\nThe following steps 
 apply to the TrueCrypt Volume Creation Wizard.\n\n5) In the TrueCrypt Volume Creation Wizard, do NOT select the 'Hidden' option. Leave the 'Normal' option selected and click 'Next'.\n\n6) Select the option 'Encrypt the Windows system partition' and then click 'Next'.\n\n7) If there are only the hidden system and the decoy system installed on the computer, select the option 'Single-boot' (if there are more than these two systems installed on the computer, select 'Multi-boot'). Then click 'Next'.\n\n8) IMPORTANT: In this step, FOR THE DECOY SYSTEM, YOU MUST SELECT THE SAME ENCRYPTION ALGORITHM AND HASH ALGORITHM THAT YOU SELECTED FOR THE HIDDEN SYSTEM! OTHERWISE, THE HIDDEN SYSTEM WILL BE INACCESSIBLE! In other words, the decoy system must be encrypted with the same encryption algorithm as the hidden system. Note: The reason is that the decoy system and the hidden system will share a single boot loader, which supports only a single algorithm, selected by the user (for each alg
 orithm, there is a special version of the TrueCrypt Boot Loader).\n\n9) In this step, choose a password for the decoy operating system. This will be the password that you will be able to reveal to an adversary if you are asked or forced to disclose your pre-boot authentication password (the other password you can reveal is the one for the outer volume). The existence of the third password (i.e. of the pre-boot authentication password for the hidden operating system) will remain secret.\n\nImportant: The password you choose for the decoy system must be substantially different from the one you chose for the hidden volume (i.e. for the hidden operating system).\n\n10) Follow the remaining instructions in the wizard so as to encrypt the decoy operating system.\n\n\n\nAfter Decoy System Is Created\n------------------------------------------------\n\nAfter you encrypt the decoy system, the whole process of creation of the hidden operating system will be completed and you will be a
 ble to use these three passwords:\n\n1) Pre-boot authentication password for the hidden operating system.\n\n2) Pre-boot authentication password for the decoy operating system.\n\n3) Password for the outer volume.\n\nIf you want to start the hidden operating system, you will just need to enter the password for the hidden operating system in the TrueCrypt Boot Loader screen (which appears after you turn on or restart your computer).\n\nIf you want to start the decoy operating system, you will just need to enter the password for the decoy operating system in the TrueCrypt Boot Loader screen.\n\nThe password for the decoy system can be disclosed to anyone forcing you to reveal your pre-boot authentication password. The existence of the hidden volume (and of the hidden operating system) will remain secret.\n\nThe third password (for the outer volume) can be disclosed to anyone forcing you to reveal the password for the first partition behind the system partition, where both the 
 outer volume and the hidden volume (containing the hidden operating system) reside. The existence of the hidden volume (and of the hidden operating system) will remain secret.\n\n\nIf you revealed the password for the decoy system to an adversary and he asked you why the free space of the (decoy) system partition contains random data, you could answer, for example: "The partition previously contained a system encrypted by TrueCrypt, but I forgot the pre-boot authentication password (or the system was damaged and stopped booting), so I had to reinstall Windows and encrypt the partition again."\n\n\nIf all the instructions are followed and if precautions mentioned in the section "Security Precautions Pertaining to Hidden Volumes" in the TrueCrypt User's Guide are followed, it will be impossible to prove that the hidden volume and hidden operating system exist, even when the outer volume is mounted or when the decoy operating system is decrypted or started.\n\nIf you print this
  text (strongly recommended), you should destroy the paper after you have created the decoy system and after you have understood all the information contained in the text (otherwise, if the paper was found, it might indicate that there is a hidden operating system on this computer).\n\nWARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (for information on how to do so, refer to the section "Protection of Hidden Volumes Against Damage" in the TrueCrypt User's Guide), DO NOT WRITE TO THE OUTER VOLUME (note that the decoy operating system is NOT installed in the outer volume). OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME (AND THE HIDDEN OPERATING SYSTEM WITHIN IT)!</string>
+    <string lang="en" key="RESCUE_DISK_HELP">\nIF POSSIBLE, PLEASE PRINT THIS TEXT (click 'Print' below).\n\n\nHow and When to Use RealCrypt Rescue Disk (After Encrypting)\n-------------------------------------------------------------------------------------\n\nI. How to Boot RealCrypt Rescue Disk\n\nTo boot a RealCrypt Rescue Disk, insert it into your CD/DVD drive and restart your computer. If the RealCrypt Rescue Disk screen does not appear (or if you do not see the 'Repair Options' item in the 'Keyboard Controls' section of the screen), it is possible that your BIOS is configured to attempt to boot from hard drives before CD/DVD drives. If that is the case, restart your computer, press F2 or Delete (as soon as you see a BIOS start-up screen), and wait until a BIOS configuration screen appears. If no BIOS configuration screen appears, restart (reset) the computer again and start pressing F2 or Delete repeatedly as soon as you restart (reset) the computer. When a BIOS confi
 guration screen appears, configure your BIOS to boot from the CD/DVD drive first (for information on how to do so, please refer to the documentation for your BIOS/motherboard or contact your computer vendor's technical support team for assistance). Then restart your computer. The RealCrypt Rescue Disk screen should appear now. Note: In the RealCrypt Rescue Disk screen, you can select 'Repair Options' by pressing F8 on your keyboard.\n\n\nII. When and How to Use RealCrypt Rescue Disk (After Encrypting)\n\n1) If the RealCrypt Boot Loader screen does not appear after you start your computer (or if your Windows does not boot), the RealCrypt Boot Loader may be damaged. The RealCrypt Rescue Disk allows you to restore it and thus to regain access to your encrypted system and data (however, note that you will still have to enter the correct password then). In the Rescue Disk screen, select 'Repair Options' > 'Restore RealCrypt Boot Loader'. Then press 'Y' to confirm the action, remo
 ve the Rescue Disk from your CD/DVD drive and restart your computer.\n\n2) If you repeatedly enter the correct password but RealCrypt says that the password is incorrect, the master key or other critical data may be damaged. The RealCrypt Rescue Disk allows you to restore them and thus to regain access to your encrypted system and data (however, note that you will still have to enter the correct password then). In the Rescue Disk screen, select 'Repair Options' > 'Restore key data'. Then enter your password, press 'Y' to confirm the action, remove the Rescue Disk from your CD/DVD drive, and restart your computer.\n\n3) If the RealCrypt Boot Loader is damaged or infected with malware, you can avoid running it by booting directly from the RealCrypt Rescue Disk. Insert your Rescue Disk into your CD/DVD drive and then enter your password in the Rescue Disk screen.\n\n4) If Windows is damaged and cannot start, the RealCrypt Rescue Disk allows you to permanently decrypt the partit
 ion/drive before Windows starts. In the Rescue Disk screen, select 'Repair Options' > 'Permanently decrypt system partition/drive'. Enter the correct password and wait until decryption is complete. Then you can e.g. boot your MS Windows setup CD/DVD to repair your Windows.\n\nNote: Alternatively, if Windows is damaged (cannot start) and you need to repair it (or access files on it), you can avoid decrypting the system partition/drive by following these steps: If you have multiple operating systems installed on your computer, boot the one that does not require pre-boot authentication. If you do not have multiple operating systems installed on your computer, you can boot a WinPE or BartPE CD/DVD or you can connect your system drive as a secondary or external drive to another computer and then boot the operating system installed on the computer. After you boot a system, run RealCrypt, click 'Select Device', select the affected system partition, click 'OK', select 'System' > 'Mo
 unt Without Pre-Boot Authentication', enter your pre-boot authentication password and click 'OK'. The partition will be mounted as a regular RealCrypt volume (data will be on-the-fly decrypted/encrypted in RAM on access, as usual).\n\n\nNote that even if you lose your RealCrypt Rescue Disk and an attacker finds it, he or she will NOT be able to decrypt the system partition or drive without the correct password.</string>
+    <string lang="en" key="DECOY_OS_INSTRUCTIONS">\n\nI M P O R T A N T -- PLEASE PRINT THIS TEXT IF POSSIBLE (click 'Print' below).\n\n\nNote: This text will be automatically displayed each time you start the hidden system until you start creating the decoy system.\n\n\nHow to Create Decoy System Safely and Securely\n----------------------------------------------------------------------------\n\nIn order to achieve plausible deniability, you need to create the decoy operating system now. To do so, follow these steps:\n\n1) For security reasons, shut down your computer and leave it powered off for several minutes. This is required to clear the memory, which contains sensitive data. Then turn on the computer but do not boot the hidden system.\n\n2) Install Windows on the partition whose content has been erased (i.e. on the partition where the original system, of which the hidden system is a clone, was installed).\n\nIMPORTANT: WHEN YOU START INSTALLING THE DECOY SYSTEM, THE H
 IDDEN SYSTEM WILL *NOT* BE POSSIBLE TO BOOT (because the RealCrypt Boot Loader will be erased by the Windows system installer). THIS IS NORMAL AND EXPECTED. PLEASE DO NOT PANIC. YOU WILL BE ABLE TO BOOT THE HIDDEN SYSTEM AGAIN AS SOON AS YOU START ENCRYPTING THE DECOY SYSTEM (because RealCrypt will then automatically install the RealCrypt Boot Loader on the system drive).\n\nImportant: The size of the decoy system partition must remain the same as the size of the hidden volume (this condition is now met). Moreover, you must not create any partition between the decoy system partition and the partition where the hidden system resides.\n\n3) Boot the decoy system (which you installed in step 2 and install RealCrypt on it).\n\nKeep in mind that the decoy system must never contain any sensitive data.\n\n4) On the decoy system, run RealCrypt and select 'System' &gt; 'Encrypt System Partition/Drive'. The RealCrypt Volume Creation Wizard window should appear.\n\nThe following steps 
 apply to the RealCrypt Volume Creation Wizard.\n\n5) In the RealCrypt Volume Creation Wizard, do NOT select the 'Hidden' option. Leave the 'Normal' option selected and click 'Next'.\n\n6) Select the option 'Encrypt the Windows system partition' and then click 'Next'.\n\n7) If there are only the hidden system and the decoy system installed on the computer, select the option 'Single-boot' (if there are more than these two systems installed on the computer, select 'Multi-boot'). Then click 'Next'.\n\n8) IMPORTANT: In this step, FOR THE DECOY SYSTEM, YOU MUST SELECT THE SAME ENCRYPTION ALGORITHM AND HASH ALGORITHM THAT YOU SELECTED FOR THE HIDDEN SYSTEM! OTHERWISE, THE HIDDEN SYSTEM WILL BE INACCESSIBLE! In other words, the decoy system must be encrypted with the same encryption algorithm as the hidden system. Note: The reason is that the decoy system and the hidden system will share a single boot loader, which supports only a single algorithm, selected by the user (for each alg
 orithm, there is a special version of the RealCrypt Boot Loader).\n\n9) In this step, choose a password for the decoy operating system. This will be the password that you will be able to reveal to an adversary if you are asked or forced to disclose your pre-boot authentication password (the other password you can reveal is the one for the outer volume). The existence of the third password (i.e. of the pre-boot authentication password for the hidden operating system) will remain secret.\n\nImportant: The password you choose for the decoy system must be substantially different from the one you chose for the hidden volume (i.e. for the hidden operating system).\n\n10) Follow the remaining instructions in the wizard so as to encrypt the decoy operating system.\n\n\n\nAfter Decoy System Is Created\n------------------------------------------------\n\nAfter you encrypt the decoy system, the whole process of creation of the hidden operating system will be completed and you will be a
 ble to use these three passwords:\n\n1) Pre-boot authentication password for the hidden operating system.\n\n2) Pre-boot authentication password for the decoy operating system.\n\n3) Password for the outer volume.\n\nIf you want to start the hidden operating system, you will just need to enter the password for the hidden operating system in the RealCrypt Boot Loader screen (which appears after you turn on or restart your computer).\n\nIf you want to start the decoy operating system, you will just need to enter the password for the decoy operating system in the RealCrypt Boot Loader screen.\n\nThe password for the decoy system can be disclosed to anyone forcing you to reveal your pre-boot authentication password. The existence of the hidden volume (and of the hidden operating system) will remain secret.\n\nThe third password (for the outer volume) can be disclosed to anyone forcing you to reveal the password for the first partition behind the system partition, where both the 
 outer volume and the hidden volume (containing the hidden operating system) reside. The existence of the hidden volume (and of the hidden operating system) will remain secret.\n\n\nIf you revealed the password for the decoy system to an adversary and he asked you why the free space of the (decoy) system partition contains random data, you could answer, for example: "The partition previously contained a system encrypted by RealCrypt, but I forgot the pre-boot authentication password (or the system was damaged and stopped booting), so I had to reinstall Windows and encrypt the partition again."\n\n\nIf all the instructions are followed and if precautions mentioned in the section "Security Precautions Pertaining to Hidden Volumes" in the RealCrypt User's Guide are followed, it will be impossible to prove that the hidden volume and hidden operating system exist, even when the outer volume is mounted or when the decoy operating system is decrypted or started.\n\nIf you print this
  text (strongly recommended), you should destroy the paper after you have created the decoy system and after you have understood all the information contained in the text (otherwise, if the paper was found, it might indicate that there is a hidden operating system on this computer).\n\nWARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (for information on how to do so, refer to the section "Protection of Hidden Volumes Against Damage" in the RealCrypt User's Guide), DO NOT WRITE TO THE OUTER VOLUME (note that the decoy operating system is NOT installed in the outer volume). OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME (AND THE HIDDEN OPERATING SYSTEM WITHIN IT)!</string>
     <string lang="en" key="HIDDEN_OS_CREATION_PREINFO_TITLE">Operating System Cloning</string>
-    <string lang="en" key="HIDDEN_OS_CREATION_PREINFO_HELP">In the next steps, TrueCrypt will create the hidden operating system by copying the content of the system partition to the hidden volume (data being copied will be encrypted on the fly with an encryption key different from the one that will be used for the decoy operating system).\n\nPlease note that the process will be performed in the pre-boot environment (before Windows starts) and it may take a long time to complete; several hours or even several days (depending on the size of the system partition and on the performance of your computer).\n\nYou will be able to interrupt the process, shut down your computer, start the operating system and then resume the process. However, if you interrupt it, the entire process of copying the system will have to start from the beginning (because the content of the system partition must not change during cloning).</string>
+    <string lang="en" key="HIDDEN_OS_CREATION_PREINFO_HELP">In the next steps, RealCrypt will create the hidden operating system by copying the content of the system partition to the hidden volume (data being copied will be encrypted on the fly with an encryption key different from the one that will be used for the decoy operating system).\n\nPlease note that the process will be performed in the pre-boot environment (before Windows starts) and it may take a long time to complete; several hours or even several days (depending on the size of the system partition and on the performance of your computer).\n\nYou will be able to interrupt the process, shut down your computer, start the operating system and then resume the process. However, if you interrupt it, the entire process of copying the system will have to start from the beginning (because the content of the system partition must not change during cloning).</string>
     <string lang="en" key="CONFIRM_CANCEL_HIDDEN_OS_CREATION">Do you want to cancel the entire process of creation of the hidden operating system?\n\nNote: You will NOT be able to resume the process if you cancel it now.</string>
     <string lang="en" key="CONFIRM_CANCEL_SYS_ENC_PRETEST">Do you want to cancel the system encryption pretest?</string>
-    <string lang="en" key="BOOT_PRETEST_FAILED_RETRY">The TrueCrypt system encryption pretest failed. Do you want to try again?\n\nIf you select 'No', the pre-boot authentication component will be uninstalled.\n\nNote: If the TrueCrypt Boot Loader did not ask you to enter the password before Windows started, it is possible that your operating system does not boot from the drive on which it is installed. This is not supported.</string>
+    <string lang="en" key="BOOT_PRETEST_FAILED_RETRY">The RealCrypt system encryption pretest failed. Do you want to try again?\n\nIf you select 'No', the pre-boot authentication component will be uninstalled.\n\nNote: If the RealCrypt Boot Loader did not ask you to enter the password before Windows started, it is possible that your operating system does not boot from the drive on which it is installed. This is not supported.</string>
     <string lang="en" key="SYS_DRIVE_NOT_ENCRYPTED">The system partition/drive does not appear to be encrypted (neither partially nor fully).</string>
-    <string lang="en" key="SETUP_FAILED_BOOT_DRIVE_ENCRYPTED">Your system partition/drive is encrypted (partially or fully).\n\nPlease decrypt your system partition/drive entirely before proceeding. To do so, select 'System' &gt; 'Permanently Decrypt System Partition/Drive' from the menu bar of the main TrueCrypt window.</string>
+    <string lang="en" key="SETUP_FAILED_BOOT_DRIVE_ENCRYPTED">Your system partition/drive is encrypted (partially or fully).\n\nPlease decrypt your system partition/drive entirely before proceeding. To do so, select 'System' &gt; 'Permanently Decrypt System Partition/Drive' from the menu bar of the main RealCrypt window.</string>
     <string lang="en" key="SYS_ENCRYPTION_OR_DECRYPTION_IN_PROGRESS">Your system partition/drive is currently being encrypted, decrypted, or otherwise modified. Please interrupt the encryption/decryption/modification process (or wait until it is complete) before proceeding.</string>
-    <string lang="en" key="SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE">An instance of the TrueCrypt Volume Creation Wizard is currently running on this system and performing or preparing encryption/decryption of the system partition/drive. Before you proceed, please wait for it to finish or close it. If you cannot close it, please restart your computer before proceeding.</string>
+    <string lang="en" key="SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE">An instance of the RealCrypt Volume Creation Wizard is currently running on this system and performing or preparing encryption/decryption of the system partition/drive. Before you proceed, please wait for it to finish or close it. If you cannot close it, please restart your computer before proceeding.</string>
     <string lang="en" key="SYSTEM_ENCRYPTION_NOT_COMPLETED">The process of encryption or decryption of the system partition/drive has not been completed. Please wait until it is complete before proceeding.</string>
     <string lang="en" key="ERR_ENCRYPTION_NOT_COMPLETED">Error: The process of encryption of the partition/drive has not been completed. It must be completed first.</string>
-    <string lang="en" key="ERR_NONSYS_INPLACE_ENC_INCOMPLETE">Error: The process of encryption of the partition/volume has not been completed. It must be completed first.\n\nNote: To resume the process, select 'Volumes' &gt; 'Resume Interrupted Process' from the menu bar of the main TrueCrypt window.</string>
-    <string lang="en" key="ERR_SYS_HIDVOL_HEAD_REENC_MODE_WRONG">The password is correct, TrueCrypt has successfully decrypted the volume header and detected that this volume is a hidden system volume. However, you cannot modify the header of a hidden system volume this way.\n\nTo change the password for a hidden system volume, boot the operating system residing in the hidden volume, and then select 'System' &gt; 'Change Password' from the menu bar of the main TrueCrypt window.\n\nTo set the header key derivation algorithm, boot the hidden operating system and then select 'System' &gt; 'Set Header Key Derivation Algorithm'.</string>
-    <string lang="en" key="CANNOT_DECRYPT_HIDDEN_OS">TrueCrypt does not support in-place decryption of a hidden system partition.\n\nNote: If you want to decrypt the decoy system partition, boot the decoy system, and then select 'System' &gt; 'Permanently Decrypt System Partition/Drive' from the menu bar of the main TrueCrypt window.</string>
+    <string lang="en" key="ERR_NONSYS_INPLACE_ENC_INCOMPLETE">Error: The process of encryption of the partition/volume has not been completed. It must be completed first.\n\nNote: To resume the process, select 'Volumes' &gt; 'Resume Interrupted Process' from the menu bar of the main RealCrypt window.</string>
+    <string lang="en" key="ERR_SYS_HIDVOL_HEAD_REENC_MODE_WRONG">The password is correct, RealCrypt has successfully decrypted the volume header and detected that this volume is a hidden system volume. However, you cannot modify the header of a hidden system volume this way.\n\nTo change the password for a hidden system volume, boot the operating system residing in the hidden volume, and then select 'System' &gt; 'Change Password' from the menu bar of the main RealCrypt window.\n\nTo set the header key derivation algorithm, boot the hidden operating system and then select 'System' &gt; 'Set Header Key Derivation Algorithm'.</string>
+    <string lang="en" key="CANNOT_DECRYPT_HIDDEN_OS">RealCrypt does not support in-place decryption of a hidden system partition.\n\nNote: If you want to decrypt the decoy system partition, boot the decoy system, and then select 'System' &gt; 'Permanently Decrypt System Partition/Drive' from the menu bar of the main RealCrypt window.</string>
     <string lang="en" key="ERR_PARAMETER_INCORRECT">Error: Incorrect/invalid parameter.</string>
     <string lang="en" key="DEVICE_SELECTED_IN_NON_DEVICE_MODE">You have selected a partition or a device but the wizard mode you selected is suitable only for file containers.\n\nDo you want to change the wizard mode?</string>
-    <string lang="en" key="CONFIRM_CHANGE_WIZARD_MODE_TO_FILE_CONTAINER">Do you want to create a TrueCrypt file container instead?</string>
+    <string lang="en" key="CONFIRM_CHANGE_WIZARD_MODE_TO_FILE_CONTAINER">Do you want to create a RealCrypt file container instead?</string>
     <string lang="en" key="CONFIRM_SYSTEM_ENCRYPTION_MODE">You have selected the system partition/drive, but the wizard mode you selected is suitable only for non-system partitions/drives.\n\nDo you want to set up pre-boot authentication (which means that you will need to enter your password each time before Windows boots/starts) and encrypt the system partition/drive?</string>
     <string lang="en" key="CONFIRM_DECRYPT_SYS_DEVICE">Are you sure you want to permanently decrypt the system partition/drive?</string>
     <string lang="en" key="CONFIRM_DECRYPT_SYS_DEVICE_CAUTION">CAUTION: If you permanently decrypt the system partition/drive, unencrypted data will be written to it.\n\nAre you really sure you want to permanently decrypt the system partition/drive?</string>
-    <string lang="en" key="CONFIRM_CASCADE_FOR_SYS_ENCRYPTION">Warning: If you use a cascade of ciphers for system encryption, you may encounter the following issues:\n\n1) The TrueCrypt Boot Loader is larger than normal and, therefore, there is not enough space in the first drive track for a backup of the TrueCrypt Boot Loader. Hence, whenever it gets damaged (which often happens, for example, during inappropriately designed anti-piracy activation procedures of certain programs), you will need to use the TrueCrypt Rescue Disk to boot or to repair the TrueCrypt Boot Loader.\n\n2) On some computers, resuming from hibernation takes longer.\n\nThese potential issues can be prevented by choosing a non-cascade encryption algorithm (e.g. AES).\n\nAre you sure you want to use a cascade of ciphers?</string>
+    <string lang="en" key="CONFIRM_CASCADE_FOR_SYS_ENCRYPTION">Warning: If you use a cascade of ciphers for system encryption, you may encounter the following issues:\n\n1) The RealCrypt Boot Loader is larger than normal and, therefore, there is not enough space in the first drive track for a backup of the RealCrypt Boot Loader. Hence, whenever it gets damaged (which often happens, for example, during inappropriately designed anti-piracy activation procedures of certain programs), you will need to use the RealCrypt Rescue Disk to boot or to repair the RealCrypt Boot Loader.\n\n2) On some computers, resuming from hibernation takes longer.\n\nThese potential issues can be prevented by choosing a non-cascade encryption algorithm (e.g. AES).\n\nAre you sure you want to use a cascade of ciphers?</string>
     <string lang="en" key="NOTE_CASCADE_FOR_SYS_ENCRYPTION">If you encounter any of the previously described problems, decrypt the partition/drive (if it is encrypted) and then try encrypting it again using a non-cascade encryption algorithm (e.g. AES).</string>
-    <string lang="en" key="UPDATE_TC_IN_DECOY_OS_FIRST">WARNING: For safety and security reasons, you should update TrueCrypt on the decoy operating system before you update it on the hidden operating system.\n\nTo do so, boot the decoy system and run the TrueCrypt installer from within it. Then boot the hidden system and run the installer from within it as well.\n\nNote: The decoy system and the hidden system share a single boot loader. If you upgraded TrueCrypt only on the hidden system (but not on the decoy system), the decoy system would contain a TrueCrypt driver and TrueCrypt applications whose version numbers are different from the version number of the TrueCrypt Boot Loader. Such a discrepancy might indicate that there is a hidden operating system on this computer.\n\n\nDo you want to continue? (Not recommended.)</string>
-    <string lang="en" key="UPDATE_TC_IN_HIDDEN_OS_TOO">The version number of the TrueCrypt Boot Loader that booted this operating system is different from the version number of the TrueCrypt driver (and of the TrueCrypt applications) installed on this system.\n\nYou should run the TrueCrypt installer (whose version number is the same as the one of the TrueCrypt Boot Loader) to update TrueCrypt on this operating system.</string>
-    <string lang="en" key="BOOT_LOADER_UPGRADE_OK">The TrueCrypt Boot Loader has been upgraded.\n\nIt is strongly recommended that you create a new TrueCrypt Rescue Disk (which will contain the new version of the TrueCrypt Boot Loader) by selecting 'System' > 'Create Rescue Disk' after you restart your computer.</string>
-    <string lang="en" key="BOOT_LOADER_UPGRADE_OK_HIDDEN_OS">The TrueCrypt Boot Loader has been upgraded.\n\nIt is strongly recommended that you boot the decoy operating system and then create a new TrueCrypt Rescue Disk (which will contain the new version of the TrueCrypt Boot Loader) by selecting 'System' > 'Create Rescue Disk'.</string>
-    <string lang="en" key="BOOT_LOADER_UPGRADE_FAILED">Failed to upgrade the TrueCrypt Boot Loader.</string>
-    <string lang="en" key="SYS_DRIVE_SIZE_PROBE_TIMEOUT">TrueCrypt failed to detect the real size of the system drive and, therefore, the size reported by the operating system (which may be smaller than the real size) will be used. Also note that this is not a bug in TrueCrypt.</string>
-    <string lang="en" key="HIDDEN_SECTOR_DETECTION_FAILED_PREVIOUSLY">WARNING: It appears that TrueCrypt has already tried to detect hidden sectors on this system drive. If you encountered any problems during the previous detection process, you can avoid the problems by skipping the detection of hidden sectors now. Note that if you do so, TrueCrypt will use the size reported by the operating system (which may be smaller than the real size of the drive).\n\nNote that this issue is not caused by a bug in TrueCrypt.</string>
+    <string lang="en" key="UPDATE_TC_IN_DECOY_OS_FIRST">WARNING: For safety and security reasons, you should update RealCrypt on the decoy operating system before you update it on the hidden operating system.\n\nTo do so, boot the decoy system and run the RealCrypt installer from within it. Then boot the hidden system and run the installer from within it as well.\n\nNote: The decoy system and the hidden system share a single boot loader. If you upgraded RealCrypt only on the hidden system (but not on the decoy system), the decoy system would contain a RealCrypt driver and RealCrypt applications whose version numbers are different from the version number of the RealCrypt Boot Loader. Such a discrepancy might indicate that there is a hidden operating system on this computer.\n\n\nDo you want to continue? (Not recommended.)</string>
+    <string lang="en" key="UPDATE_TC_IN_HIDDEN_OS_TOO">The version number of the RealCrypt Boot Loader that booted this operating system is different from the version number of the RealCrypt driver (and of the RealCryptapplications) installed on this system.\n\nYou should run the RealCrypt installer (whose version number is the same as the one of the RealCrypt Boot Loader) to update RealCrypt on this operating system.</string>
+    <string lang="en" key="BOOT_LOADER_UPGRADE_OK">The RealCrypt Boot Loader has been upgraded.\n\nIt is strongly recommended that you create a new RealCrypt Rescue Disk (which will contain the new version of the RealCrypt Boot Loader) by selecting 'System' > 'Create Rescue Disk' after you restart your computer.</string>
+    <string lang="en" key="BOOT_LOADER_UPGRADE_OK_HIDDEN_OS">The RealCrypt Boot Loader has been upgraded.\n\nIt is strongly recommended that you boot the decoy operating system and then create a new RealCrypt Rescue Disk (which will contain the new version of the RealCrypt Boot Loader) by selecting 'System' > 'Create Rescue Disk'.</string>
+    <string lang="en" key="BOOT_LOADER_UPGRADE_FAILED">Failed to upgrade the RealCrypt Boot Loader.</string>
+    <string lang="en" key="SYS_DRIVE_SIZE_PROBE_TIMEOUT">RealCrypt failed to detect the real size of the system drive and, therefore, the size reported by the operating system (which may be smaller than the real size) will be used. Also note that this is not a bug in RealCrypt.</string>
+    <string lang="en" key="HIDDEN_SECTOR_DETECTION_FAILED_PREVIOUSLY">WARNING: It appears that RealCrypt has already tried to detect hidden sectors on this system drive. If you encountered any problems during the previous detection process, you can avoid the problems by skipping the detection of hidden sectors now. Note that if you do so, RealCrypt will use the size reported by the operating system (which may be smaller than the real size of the drive).\n\nNote that this issue is not caused by a bug in RealCrypt.</string>
     <string lang="en" key="SKIP_HIDDEN_SECTOR_DETECTION">Skip detection of hidden sectors (use the size reported by the operating system)</string>
     <string lang="en" key="RETRY_HIDDEN_SECTOR_DETECTION">Try to detect hidden sectors again</string>
-    <string lang="en" key="ENABLE_BAD_SECTOR_ZEROING">Error: Content of one or more sectors on the disk cannot be read (probably due to a physical defect).\n\nThe process of in-place encryption can continue only when the sectors have been made readable again. TrueCrypt can attempt to make these sectors readable by writing zeros to the sectors (subsequently such all-zero blocks would be encrypted). However, note that any data stored in the unreadable sectors will be lost. If you want to avoid that, you can attempt to recover portions of the corrupted data using appropriate third-party tools.\n\nNote: In case of physically damaged sectors (as opposed to mere data corruption and checksum errors) most types of storage devices internally reallocate the sectors when data is attempted to be written to them (so the existing data in the damaged sectors may remain unencrypted on the drive).\n\nDo you want TrueCrypt to write zeroes to unreadable sectors?</string>
-    <string lang="en" key="DISCARD_UNREADABLE_ENCRYPTED_SECTORS">Error: Content of one or more sectors on the disk cannot be read (probably due to a physical defect).\n\nTo be able to proceed with decryption, TrueCrypt will have to discard the content of the unreadable sectors (the content will be replaced with pseudorandom data). Please note that, before proceeding, you can attempt to recover portions of any corrupted data using appropriate third-party tools.\n\nDo you want TrueCrypt to discard data in the unreadable sectors now?</string>
-    <string lang="en" key="ZEROED_BAD_SECTOR_COUNT">Note: TrueCrypt has replaced the content of %I64d unreadable sectors (%s) with encrypted all-zero plaintext blocks.</string>
+    <string lang="en" key="ENABLE_BAD_SECTOR_ZEROING">Error: Content of one or more sectors on the disk cannot be read (probably due to a physical defect).\n\nThe process of in-place encryption can continue only when the sectors have been made readable again. RealCrypt can attempt to make these sectors readable by writing zeros to the sectors (subsequently such all-zero blocks would be encrypted). However, note that any data stored in the unreadable sectors will be lost. If you want to avoid that, you can attempt to recover portions of the corrupted data using appropriate third-party tools.\n\nNote: In case of physically damaged sectors (as opposed to mere data corruption and checksum errors) most types of storage devices internally reallocate the sectors when data is attempted to be written to them (so the existing data in the damaged sectors may remain unencrypted on the drive).\n\nDo you want RealCrypt to write zeroes to unreadable sectors?</string>
+    <string lang="en" key="DISCARD_UNREADABLE_ENCRYPTED_SECTORS">Error: Content of one or more sectors on the disk cannot be read (probably due to a physical defect).\n\nTo be able to proceed with decryption, RealCrypt will have to discard the content of the unreadable sectors (the content will be replaced with pseudorandom data). Please note that, before proceeding, you can attempt to recover portions of any corrupted data using appropriate third-party tools.\n\nDo you want RealCrypt to discard data in the unreadable sectors now?</string>
+    <string lang="en" key="ZEROED_BAD_SECTOR_COUNT">Note: RealCrypt has replaced the content of %I64d unreadable sectors (%s) with encrypted all-zero plaintext blocks.</string>
     <string lang="en" key="ENTER_TOKEN_PASSWORD">Enter password/PIN for token '%s':</string>
-    <string lang="en" key="PKCS11_LIB_LOCATION_HELP">In order to allow TrueCrypt to access a security token or smart card, you need to install a PKCS #11 software library for the token or smart card first. Such a library may be supplied with the device or it may be available for download from the website of the vendor or other third parties.\n\nAfter you install the library, you can either select it manually by clicking 'Select Library' or you can let TrueCrypt find and select it automatically by clicking 'Auto-Detect Library' (only the Windows system directory will be searched).</string>
+    <string lang="en" key="PKCS11_LIB_LOCATION_HELP">In order to allow RealCrypt to access a security token or smart card, you need to install a PKCS #11 software library for the token or smart card first. Such a library may be supplied with the device or it may be available for download from the website of the vendor or other third parties.\n\nAfter you install the library, you can either select it manually by clicking 'Select Library' or you can let RealCrypt find and select it automatically by clicking 'Auto-Detect Library' (only the Windows system directory will be searched).</string>
     <string lang="en" key="SELECT_PKCS11_MODULE_HELP">Note: For the filename and location of the PKCS #11 library installed for your security token or smart card, please refer to the documentation supplied with the token, card, or third-party software.\n\nClick 'OK' to select the path and filename.</string>
-    <string lang="en" key="NO_PKCS11_MODULE_SPECIFIED">In order to allow TrueCrypt to access a security token or smart card, you need to select a PKCS #11 software library for the token/card first. To do so, select 'Settings' > 'Security Tokens'.</string>
+    <string lang="en" key="NO_PKCS11_MODULE_SPECIFIED">In order to allow RealCrypt to access a security token or smart card, you need to select a PKCS #11 software library for the token/card first. To do so, select 'Settings' > 'Security Tokens'.</string>
     <string lang="en" key="PKCS11_MODULE_INIT_FAILED">Failed to initialize PKCS #11 security token library.\n\nPlease make sure the specified path and filename refer to a valid PKCS #11 library. To specify a PKCS #11 library path and filename, select 'Settings' > 'Security Tokens'.</string>
     <string lang="en" key="PKCS11_MODULE_AUTO_DETECTION_FAILED">No PKCS #11 library has been found in the Windows system directory.\n\nPlease make sure that a PKCS #11 library for your security token (or for your smart card) is installed (such a library may be supplied with the token/card or it may be available for download from the website of the vendor or other third parties). If it is installed in a directory other than the Windows system directory, click 'Select Library' to locate the library (e.g. in the folder where the software for the token/card is installed).</string>
     <string lang="en" key="NO_TOKENS_FOUND">No security token found.\n\nPlease make sure your security token is connected to your computer and the correct device driver for your token is installed.</string>
@@ -1102,23 +1102,23 @@
     <string lang="en" key="INVALID_TOKEN_KEYFILE_PATH">Security token keyfile path is invalid.</string>
     <string lang="en" key="SECURITY_TOKEN_ERROR">Security token error</string>
     <string lang="en" key="CKR_PIN_INCORRECT">Password for security token is incorrect.</string>
-    <string lang="en" key="CKR_DEVICE_MEMORY">The security token does not have enough memory/space to perform the requested operation.\n\nIf you are attempting to import a keyfile, you should select a smaller file or use a keyfile generated by TrueCrypt (select 'Keyfiles' > 'Generate Random Keyfile').</string>
+    <string lang="en" key="CKR_DEVICE_MEMORY">The security token does not have enough memory/space to perform the requested operation.\n\nIf you are attempting to import a keyfile, you should select a smaller file or use a keyfile generated by RealCrypt (select 'Keyfiles' > 'Generate Random Keyfile').</string>
     <string lang="en" key="ALL_TOKEN_SESSIONS_CLOSED">All open security token sessions have been closed.</string>
     <string lang="en" key="SELECT_TOKEN_KEYFILES">Select Security Token Keyfiles</string>
     <string lang="en" key="TOKEN_SLOT_ID">Slot</string>
     <string lang="en" key="TOKEN_NAME">Token name</string>
     <string lang="en" key="TOKEN_DATA_OBJECT_LABEL">File name</string>
-    <string lang="en" key="BOOT_PASSWORD_CACHE_KEYBOARD_WARNING">Please note that pre-boot authentication passwords are always typed using the standard US keyboard layout. Therefore, a volume that uses a password typed using a non-US keyboard layout may be impossible to mount using a cached pre-boot authentication password. Note that this is not a bug in TrueCrypt.</string>
+    <string lang="en" key="BOOT_PASSWORD_CACHE_KEYBOARD_WARNING">Please note that pre-boot authentication passwords are always typed using the standard US keyboard layout. Therefore, a volume that uses a password typed using a non-US keyboard layout may be impossible to mount using a cached pre-boot authentication password. Note that this is not a bug in RealCrypt.</string>
     <string lang="en" key="COMMAND_LINE_ERROR">Error while parsing command line.</string>
     <string lang="en" key="RESCUE_DISK">Rescue Disk</string>
     <string lang="en" key="SELECT_FILE_AND_MOUNT">Select &amp;File and Mount...</string>
     <string lang="en" key="SELECT_DEVICE_AND_MOUNT">Select &amp;Device and Mount...</string>
-    <string lang="en" key="MOUNTED_VOLUME_DIRTY">Warning: The filesystem on the volume mounted as '%s' was not cleanly dismounted and thus may contain errors. Using a corrupted filesystem can cause data loss or data corruption.\n\nNote: Before you physically remove or switch off a device (such as a USB flash drive or an external hard drive) where a mounted TrueCrypt volume resides, you should always dismount the TrueCrypt volume in TrueCrypt first.\n\n\nDo you want Windows to attempt to detect and fix errors (if any) on the filesystem?</string>
-    <string lang="en" key="FILESYS_REPAIR_CONFIRM_BACKUP">Warning: Repairing a damaged filesystem using the Microsoft 'chkdsk' tool might cause loss of files in damaged areas. Therefore, it is recommended that you first back up the files stored on the TrueCrypt volume to another, healthy, TrueCrypt volume.\n\nDo you want to repair the filesystem now?</string>
+    <string lang="en" key="MOUNTED_VOLUME_DIRTY">Warning: The filesystem on the volume mounted as '%s' was not cleanly dismounted and thus may contain errors. Using a corrupted filesystem can cause data loss or data corruption.\n\nNote: Before you physically remove or switch off a device (such as a USB flash drive or an external hard drive) where a mounted RealCrypt volume resides, you should always dismount the RealCrypt volume in RealCrypt first.\n\n\nDo you want Windows to attempt to detect and fix errors (if any) on the filesystem?</string>
+    <string lang="en" key="FILESYS_REPAIR_CONFIRM_BACKUP">Warning: Repairing a damaged filesystem using the Microsoft 'chkdsk' tool might cause loss of files in damaged areas. Therefore, it is recommended that you first back up the files stored on the RealCrypt volume to another, healthy, RealCrypt volume.\n\nDo you want to repair the filesystem now?</string>
     <string lang="en" key="MOUNTED_CONTAINER_FORCED_READ_ONLY">Volume '%s' has been mounted as read-only because write access was denied.\n\nPlease make sure the security permissions of the file container allow you to write to it (right-click the container and select Properties > Security).\n\nIf you intend to keep your volume read-only, set the read-only attribute of the container (right-click the container and select Properties > Read-only), which will suppress this warning.</string>
     <string lang="en" key="MOUNTED_DEVICE_FORCED_READ_ONLY">Volume '%s' had to be mounted as read-only because write access was denied.\n\nPlease make sure no other application (e.g. antivirus software) is accessing the partition/device on which the volume is hosted.</string>
-    <string lang="en" key="MOUNTED_DEVICE_FORCED_READ_ONLY_WRITE_PROTECTION">Volume '%s' has been mounted as read-only because the operating system reported the host device to be write-protected.\n\nPlease note that some custom chipset drivers have been reported to cause writable media to falsely appear write-protected. This problem is not caused by TrueCrypt. It may be solved by updating or uninstalling any custom (non-Microsoft) chipset drivers that are currently installed on this system.</string>
-    <string lang="en" key="ASK_REMOVE_DEVICE_WRITE_PROTECTION">Do you want TrueCrypt to attempt to disable write protection of the partition/drive?</string>
+    <string lang="en" key="MOUNTED_DEVICE_FORCED_READ_ONLY_WRITE_PROTECTION">Volume '%s' has been mounted as read-only because the operating system reported the host device to be write-protected.\n\nPlease note that some custom chipset drivers have been reported to cause writable media to falsely appear write-protected. This problem is not caused by RealCrypt. It may be solved by updating or uninstalling any custom (non-Microsoft) chipset drivers that are currently installed on this system.</string>
+    <string lang="en" key="ASK_REMOVE_DEVICE_WRITE_PROTECTION">Do you want RealCrypt to attempt to disable write protection of the partition/drive?</string>
     <string lang="en" key="TEST">Test</string>
     <string lang="en" key="KEYFILE">Keyfile</string>
     <string lang="en" key="VOLUME_LABEL">Name</string>
--- truecrypt-6.2a-source/Core/Unix/Linux/CoreLinux.cpp	2008-07-04 12:23:54.000000000 -0700
+++ truecrypt-6.2a-source/Core/Unix/Linux/CoreLinux.cpp.new	2008-08-05 16:21:16.000000000 -0700
@@ -92,7 +92,7 @@
 	{
 		string devPath = mountedVolume->VirtualDevice;
 
-		if (devPath.find ("/dev/mapper/truecrypt") != 0)
+		if (devPath.find ("/dev/mapper/realcrypt") != 0)
 			throw NotApplicable (SRC_POS);
 
 		size_t devCount = 0;
@@ -309,7 +309,7 @@
 				}
 
 				stringstream nativeDevName;
-				nativeDevName << "truecrypt" << options.SlotNumber;
+				nativeDevName << "realcrypt" << options.SlotNumber;
 				
 				if (nativeDevCount != cipherCount - 1)
 					nativeDevName << "_" << cipherCount - nativeDevCount - 2;
--- truecrypt-6.2a-source/Core/Unix/CoreUnix.cpp 
+++ truecrypt-6.2a-source/Core/Unix/CoreUnix.cpp.new 
@@ -205,17 +205,17 @@
 
 	string CoreUnix::GetDefaultMountPointPrefix () const
 	{
-		const char *envPrefix = getenv ("TRUECRYPT_MOUNT_PREFIX");
+		const char *envPrefix = getenv ("REALCRYPT_MOUNT_PREFIX");
 		if (envPrefix && !string (envPrefix).empty())
 			return envPrefix;
 		
 		if (FilesystemPath ("/media").IsDirectory())
-			return "/media/truecrypt";
+			return "/media/realcrypt";
 		
 		if (FilesystemPath ("/mnt").IsDirectory())
-			return "/mnt/truecrypt";
+			return "/mnt/realcrypt";
 		
-		return GetTempDirectory() + "/truecrypt_mnt";
+		return GetTempDirectory() + "/realcrypt_mnt";
 	}
 
 	uint64 CoreUnix::GetDeviceSize (const DevicePath &devicePath) const
--- truecrypt-6.2a-source/Main/UserInterface.cpp	2008-07-01 12:51:44.000000000 -0700
+++ truecrypt-6.2a-source/Main/UserInterface.cpp.new	2008-08-05 16:21:46.000000000 -0700
@@ -50,7 +50,7 @@
 			vector <int> osVersion = SystemInfo::GetVersion();
 
 			if (osVersion.size() >= 3 && osVersion[0] == 2 && osVersion[1] == 6 && osVersion[2] < 24)
-				ShowWarning (_("Your system uses an old version of the Linux kernel.\n\nDue to a bug in the Linux kernel, your system may stop responding when writing data to a TrueCrypt volume. This problem can be solved by upgrading the kernel to version 2.6.24 or later."));
+				ShowWarning (_("Your system uses an old version of the Linux kernel.\n\nDue to a bug in the Linux kernel, your system may stop responding when writing data to a RealCrypt volume. This problem can be solved by upgrading the kernel to version 2.6.24 or later."));
 		}
 #endif // TC_LINUX
 	}
@@ -282,7 +282,7 @@
 			prop << LangString["BACKUP_HEADER"] << L": " << LangString[volume.MinRequiredProgramVersion >= 0x600 ? "UISTR_YES" : "UISTR_NO"] << L'\n';
 
 #ifdef TC_LINUX
-			if (string (volume.VirtualDevice).find ("/dev/mapper/truecrypt") != 0)
+			if (string (volume.VirtualDevice).find ("/dev/mapper/realcrypt") != 0)
 			{
 #endif
 			prop << LangString["TOTAL_DATA_READ"] << L": " << SizeToString (volume.TotalDataRead) << L'\n';
@@ -1000,8 +1000,8 @@
 				wstring helpText = StringConverter::ToWide (
 					"Synopsis:\n"
 					"\n"
-					"truecrypt [OPTIONS] COMMAND\n"
-					"truecrypt [OPTIONS] VOLUME_PATH [MOUNT_DIRECTORY]\n"
+					"realcrypt [OPTIONS] COMMAND\n"
+					"realcrypt [OPTIONS] VOLUME_PATH [MOUNT_DIRECTORY]\n"
 					"\n"
 					"\n"
 					"Commands:\n"
@@ -1079,7 +1079,7 @@
 					"\n"
 					"MOUNTED_VOLUME:\n"
 					" Specifies a mounted volume. One of the following forms can be used:\n"
-					" 1) Path to the encrypted TrueCrypt volume.\n"
+					" 1) Path to the encrypted RealCrypt volume.\n"
 					" 2) Mount directory of the volume's filesystem (if mounted).\n"
 					" 3) Slot number of the mounted volume (requires --slot).\n"
 					"\n"
@@ -1101,7 +1101,7 @@
 					"\n"
 					"--fs-options=OPTIONS\n"
 					" Filesystem mount options. The OPTIONS argument is passed to mount(8)\n"
-					" command with option -o when a filesystem on a TrueCrypt volume is mounted.\n"
+					" command with option -o when a filesystem on a RealCrypt volume is mounted.\n"
 					" This option is not available on some platforms.\n"
 					"\n"
 					"--hash=HASH\n"
@@ -1120,7 +1120,7 @@
 					" --list-token-keyfiles, --new-keyfiles, --protection-keyfiles.\n"
 					"\n"
 					"-m, --mount-options=headerbak|nokernelcrypto|readonly|ro|system|timestamp|ts\n"
-					" Specify comma-separated mount options for a TrueCrypt volume:\n"
+					" Specify comma-separated mount options for a RealCrypt volume:\n"
 					"  headerbak: Use backup headers when mounting a volume.\n"
 					"  nokernelcrypto: Do not use kernel cryptographic services.\n"
 					"  readonly|ro: Mount volume as read-only.\n"
@@ -1188,31 +1188,31 @@
 					"\n"
 					"\nExamples:\n\n"
 					"Create a new volume:\n"
-					"truecrypt -t -c\n"
+					"realcrypt -t -c\n"
 					"\n"
 					"Mount a volume:\n"
-					"truecrypt volume.tc /media/truecrypt1\n"
+					"realcrypt volume.tc /media/realcrypt1\n"
 					"\n"
 					"Mount a volume as read-only, using keyfiles:\n"
-					"truecrypt -m ro -k keyfile1,keyfile2 volume.tc\n"
+					"realcrypt -m ro -k keyfile1,keyfile2 volume.tc\n"
 					"\n"
 					"Mount a volume without mounting its filesystem:\n"
-					"truecrypt --filesystem=none volume.tc\n"
+					"realcrypt --filesystem=none volume.tc\n"
 					"\n"
 					"Mount a volume prompting only for its password:\n"
-					"truecrypt -t -k \"\" --protect-hidden=no volume.tc /media/truecrypt1\n"
+					"realcrypt -t -k \"\" --protect-hidden=no volume.tc /media/realcrypt1\n"
 					"\n"
 					"Dismount a volume:\n"
-					"truecrypt -d volume.tc\n"
+					"realcrypt -d volume.tc\n"
 					"\n"
 					"Dismount all mounted volumes:\n"
-					"truecrypt -d\n"
+					"realcrypt -d\n"
 				);
 
 #ifndef TC_NO_GUI
 				if (Application::GetUserInterfaceType() == UserInterfaceType::Graphic)
 				{
-					wxDialog dialog (nullptr, wxID_ANY, _("TrueCrypt Command Line Help"), wxDefaultPosition);
+					wxDialog dialog (nullptr, wxID_ANY, _("RealCrypt Command Line Help"), wxDefaultPosition);
 
 					wxTextCtrl *textCtrl = new wxTextCtrl (&dialog, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY);
 					textCtrl->SetFont (wxFont (wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, L"Courier"));
--- truecrypt-6.2a-source/Main/Forms/VolumePropertiesDialog.cpp	2008-07-01 12:51:44.000000000 -0700
+++ truecrypt-6.2a-source/Main/Forms/VolumePropertiesDialog.cpp.new	2008-08-05 16:22:17.000000000 -0700
@@ -69,7 +69,7 @@
 		AppendToList ("BACKUP_HEADER", LangString[volumeInfo.MinRequiredProgramVersion >= 0x600 ? "UISTR_YES" : "UISTR_NO"]);
 
 #ifdef TC_LINUX
-		if (string (volumeInfo.VirtualDevice).find ("/dev/mapper/truecrypt") != 0)
+		if (string (volumeInfo.VirtualDevice).find ("/dev/mapper/realcrypt") != 0)
 		{
 #endif
 		AppendToList ("TOTAL_DATA_READ", Gui->SizeToString (volumeInfo.TotalDataRead));

--- truecrypt-6.2a-source/Main/Forms/VolumeCreationWizard.cpp	2008-07-01 12:53:10.000000000 -0700
+++ truecrypt-6.2a-source/Main/Forms/VolumeCreationWizard.cpp.new	2008-08-05 17:30:42.000000000 -0700
@@ -151,7 +151,7 @@
 				else if (SelectedVolumeType == VolumeType::Hidden)
 				{
 					pageTitle = LangString["SIZE_HIDVOL_TITLE"];
-					pageText = LangString["SIZE_HELP_HIDDEN_VOL"] + L"\n\n" + _("Please note that if your operating system does not allocate files from the beginning of the free space, the maximum possible hidden volume size may be much smaller than the size of the free space on the outer volume. This not a bug in TrueCrypt but a limitation of the operating system.");
+					pageText = LangString["SIZE_HELP_HIDDEN_VOL"] + L"\n\n" + _("Please note that if your operating system does not allocate files from the beginning of the free space, the maximum possible hidden volume size may be much smaller than the size of the free space on the outer volume. This not a bug in RealCrypt but a limitation of the operating system.");
 					freeSpaceText = StringFormatter (_("Maximum possible hidden volume size for this volume is {0}."), Gui->SizeToString (MaxHiddenVolumeSize));
 				}
 				else
--- truecrypt-6.2a-source/Main/Application.h	2008-07-01 12:51:42.000000000 -0700
+++ truecrypt-6.2a-source/Main/Application.h.new	2008-08-05 17:43:58.000000000 -0700
@@ -24,7 +24,7 @@
 		static DirectoryPath GetExecutableDirectory ();
 		static FilePath GetExecutablePath ();
 		static int GetExitCode () { return ExitCode; }
-		static wstring GetName () { return L"TrueCrypt"; }
+		static wstring GetName () { return L"RealCrypt"; }
 		static UserInterface *GetUserInterface () { return mUserInterface; }
 		static UserInterfaceType::Enum GetUserInterfaceType () { return mUserInterfaceType; }
 		static void Initialize (UserInterfaceType::Enum type);

--- truecrypt-6.2a-source/Common/Tcdefs.h	2008-07-08 08:01:42.000000000 -0700
+++ truecrypt-6.2a-source/Common/Tcdefs.h.new	2008-08-05 19:50:52.000000000 -0700
@@ -12,7 +12,7 @@
 #ifndef TCDEFS_H
 #define TCDEFS_H
 
-#define TC_APP_NAME						"TrueCrypt"
+#define TC_APP_NAME						"RealCrypt"
 
 // Version displayed to user 
 #define VERSION_STRING					"6.2a"
@@ -298,8 +298,8 @@
 #define MAX_URL_LENGTH	2084 /* Internet Explorer limit. Includes the terminating null character. */
 
 #define TC_HOMEPAGE "http://www.truecrypt.org/"
-#define TC_APPLINK "http://www.truecrypt.org/applink?version=" VERSION_STRING
-#define TC_APPLINK_SECURE "https://www.truecrypt.org/applink?version=" VERSION_STRING
+#define TC_APPLINK "http://rpmfusion.org/Package/realcrypt"
+#define TC_APPLINK_SECURE "http://rpmfusion.org/Package/realcrypt"
 
 enum
 {
--- truecrypt-6.2a-source/Main/Forms/AboutDialog.cpp	2008-07-01 12:51:42.000000000 -0700
+++ truecrypt-6.2a-source/Main/Forms/AboutDialog.cpp.new	2008-08-05 19:59:29.000000000 -0700
@@ -20,8 +20,10 @@
 		LogoBitmap->SetBitmap (Resources::GetTextualLogoBitmap());
 
 		VersionStaticText->SetLabel (Application::GetName() + L" " + StringConverter::ToWide (Version::String()));
-		CopyrightStaticText->SetLabel (L"Copyright \xA9 2003-2009 TrueCrypt Foundation");
-		WebsiteHyperlink->SetLabel (L"www.truecrypt.org");
+		CopyrightStaticText->SetLabel (
+                        L"RealCrypt is a RPM Fusion rebrand of TrueCrypt\n"
+                        L"Based on TrueCrypt, freely available at www.truecrypt.org");
+		WebsiteHyperlink->SetLabel (L"http://rpmfusion.org/Package/realcrypt");
 
 		CreditsTextCtrl->SetMinSize (wxSize (
 			Gui->GetCharWidth (CreditsTextCtrl) * 70,
@@ -59,6 +59,6 @@
 
 			L"This software uses wxWidgets library, which is copyright \xA9 1998-2009 Julian Smart, Robert Roebling et al.\n\n"
 
-			L"A TrueCrypt Foundation Release");
+			L"A RPMfusion Release");
 	}
 }
 
--- truecrypt-6.2a-source/Main/GraphicUserInterface.cpp	2008-07-04 11:52:18.000000000 -0700
+++ truecrypt-6.2a-source/Main/GraphicUserInterface.cpp.new	2008-08-05 20:05:06.000000000 -0700
@@ -889,48 +889,7 @@
 
 	wxString GraphicUserInterface::GetHomepageLinkURL (const wxString &linkId, bool secure, const wxString &extraVars) const
 	{
-		wxString url = wxString (StringConverter::ToWide (secure ? TC_APPLINK_SECURE : TC_APPLINK)) + L"&dest=" + linkId;
-		wxString os, osVersion, architecture;
-
-#ifdef TC_WINDOWS
-
-		os = L"Windows";
-
-#elif defined (TC_UNIX)
-		struct utsname unameData;
-		if (uname (&unameData) != -1)
-		{
-			os = StringConverter::ToWide (unameData.sysname);
-			osVersion = StringConverter::ToWide (unameData.release);
-			architecture = StringConverter::ToWide (unameData.machine);
-
-			if (os == L"Darwin")
-				os = L"MacOSX";
-		}
-		else
-			os = L"Unknown";
-#else
-		os = L"Unknown";
-#endif
-
-		os.Replace (L" ", L"-");
-		url += L"&os=";
-		url += os;
-
-		osVersion.Replace (L" ", L"-");
-		url += L"&osver=";
-		url += osVersion;
-
-		architecture.Replace (L" ", L"-");
-		url += L"&arch=";
-		url += architecture;
-
-		if (!extraVars.empty())
-		{
-			 url += L"&";
-			 url += extraVars;
-		}
-
+		wxString url = wxString (StringConverter::ToWide (secure ? TC_APPLINK_SECURE : TC_APPLINK));
 		return url;
 	}
 
--- truecrypt-6.2a-source/Main/Forms/MainFrame.cpp	2008-07-01 12:51:42.000000000 -0700
+++ truecrypt-6.2a-source/Main/Forms/MainFrame.cpp.new	2008-08-05 20:44:13.000000000 -0700
@@ -1216,7 +1216,7 @@
 		else if (show && !mTaskBarIcon->IsIconInstalled())
 		{
 #ifndef TC_MACOSX
-			mTaskBarIcon->SetIcon (Resources::GetTrueCryptIcon(), L"TrueCrypt");
+			mTaskBarIcon->SetIcon (Resources::GetTrueCryptIcon(), L"RealCrypt");
 #endif
 		}
 	}

realcrypt-Makefile.patch:

--- NEW FILE realcrypt-Makefile.patch ---
--- truecrypt-6.2a-source.orig/Makefile 
+++ truecrypt-6.2a-source/Makefile 
@@ -24,7 +24,7 @@
 
 #------ Build configuration ------
 
-export APPNAME := truecrypt
+export APPNAME := realcrypt
 export BASE_DIR := $(CURDIR)
 export BUILD_INC := $(BASE_DIR)/Build/Include
 


realcrypt-no-userguide-menuitem.patch:

--- NEW FILE realcrypt-no-userguide-menuitem.patch ---
--- truecrypt-6.2a-source.orig/Main/Forms/Forms.h	2009-06-15 06:15:04.000000000 -0400
+++ truecrypt-6.2a-source/Main/Forms/Forms.h	2009-07-10 13:05:11.997178582 -0400
@@ -124,7 +124,6 @@
 			virtual void OnHotkeysMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
 			virtual void OnSecurityTokenPreferencesMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
 			virtual void OnPreferencesMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
-			virtual void OnUserGuideMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
 			virtual void OnOnlineHelpMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
 			virtual void OnBeginnersTutorialMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
 			virtual void OnFaqMenuItemSelected( wxCommandEvent& event ){ event.Skip(); }
@@ -152,7 +151,7 @@
 			
 		
 		public:
-			MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("TrueCrypt"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,496 ), long style = wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX|wxSYSTEM_MENU|wxTAB_TRAVERSAL );
+			MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("RealCrypt"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,496 ), long style = wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX|wxSYSTEM_MENU|wxTAB_TRAVERSAL );
 			~MainFrameBase();
 		
 	};
@@ -312,7 +311,7 @@
 			
 		
 		public:
-			EncryptionTestDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("TrueCrypt - Test Vectors"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+			EncryptionTestDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("RealCrypt - Test Vectors"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
 			~EncryptionTestDialogBase();
 		
 	};
@@ -423,7 +422,7 @@
 			wxTextCtrl* LegalNoticesTextCtrl;
 		
 		public:
-			LegalNoticesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("TrueCrypt - Legal Notices"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+			LegalNoticesDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("RealCrypt - Legal Notices"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
 			~LegalNoticesDialogBase();
 		
 	};
@@ -474,7 +473,7 @@
 			
 		
 		public:
-			MountOptionsDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Enter TrueCrypt Volume Password"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
+			MountOptionsDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Enter RealCrypt Volume Password"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
 			~MountOptionsDialogBase();
 		
 	};
@@ -620,7 +619,7 @@
 			
 		
 		public:
-			RandomPoolEnrichmentDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("TrueCrypt - Random Pool Enrichment"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+			RandomPoolEnrichmentDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("RealCrypt - Random Pool Enrichment"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
 			~RandomPoolEnrichmentDialogBase();
 		
 	};
--- truecrypt-6.2a-source.orig/Main/Forms/Forms.cpp	2009-06-15 06:15:04.000000000 -0400
+++ truecrypt-6.2a-source/Main/Forms/Forms.cpp	2009-07-10 13:04:30.368178609 -0400
@@ -157,9 +157,6 @@
 	MainMenuBar->Append( SettingsMenu, _("Settin&gs") );
 	
 	HelpMenu = new wxMenu();
-	wxMenuItem* UserGuideMenuItem;
-	UserGuideMenuItem = new wxMenuItem( HelpMenu, wxID_HELP, wxString( _("User's Guide") ) , wxEmptyString, wxITEM_NORMAL );
-	HelpMenu->Append( UserGuideMenuItem );
 	
 	wxMenuItem* OnlineHelpMenuItem;
 	OnlineHelpMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Online Help") ) , wxEmptyString, wxITEM_NORMAL );
@@ -176,7 +173,7 @@
 	HelpMenu->AppendSeparator();
 	
 	wxMenuItem* WebsiteMenuItem;
-	WebsiteMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("TrueCrypt Website") ) , wxEmptyString, wxITEM_NORMAL );
+	WebsiteMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("RealCrypt Website") ) , wxEmptyString, wxITEM_NORMAL );
 	HelpMenu->Append( WebsiteMenuItem );
 	
 	wxMenuItem* DownloadsMenuItem;
@@ -434,7 +431,6 @@
 	this->Connect( DefaultKeyfilesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultKeyfilesMenuItemSelected ) );
 	this->Connect( SecurityTokenPreferencesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnSecurityTokenPreferencesMenuItemSelected ) );
 	this->Connect( PreferencesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnPreferencesMenuItemSelected ) );
-	this->Connect( UserGuideMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnUserGuideMenuItemSelected ) );
 	this->Connect( OnlineHelpMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnOnlineHelpMenuItemSelected ) );
 	this->Connect( BeginnersTutorialMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBeginnersTutorialMenuItemSelected ) );
 	this->Connect( FaqMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnFaqMenuItemSelected ) );
@@ -499,7 +495,6 @@
 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultKeyfilesMenuItemSelected ) );
 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnSecurityTokenPreferencesMenuItemSelected ) );
 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnPreferencesMenuItemSelected ) );
-	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnUserGuideMenuItemSelected ) );
 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnOnlineHelpMenuItemSelected ) );
 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBeginnersTutorialMenuItemSelected ) );
 	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnFaqMenuItemSelected ) );
@@ -1625,7 +1620,7 @@
 	wxStaticBoxSizer* sbSizer14;
 	sbSizer14 = new wxStaticBoxSizer( new wxStaticBox( SecurityPage, wxID_ANY, _("Password Cache") ), wxVERTICAL );
 	
-	WipeCacheOnCloseCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Wipe after TrueCrypt window has been closed"), wxDefaultPosition, wxDefaultSize, 0 );
+	WipeCacheOnCloseCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Wipe after RealCrypt window has been closed"), wxDefaultPosition, wxDefaultSize, 0 );
 	
 	sbSizer14->Add( WipeCacheOnCloseCheckBox, 0, wxALL, 5 );
 	
@@ -1699,7 +1694,7 @@
 	bSizer62 = new wxBoxSizer( wxVERTICAL );
 	
 	wxStaticBoxSizer* sbSizer18;
-	sbSizer18 = new wxStaticBoxSizer( new wxStaticBox( BackgroundTaskPanel, wxID_ANY, _("TrueCrypt Background Task") ), wxVERTICAL );
+	sbSizer18 = new wxStaticBoxSizer( new wxStaticBox( BackgroundTaskPanel, wxID_ANY, _("RealCrypt Background Task") ), wxVERTICAL );
 	
 	BackgroundTaskEnabledCheckBox = new wxCheckBox( BackgroundTaskPanel, wxID_ANY, _("Enabled"), wxDefaultPosition, wxDefaultSize, 0 );
 	
@@ -1743,7 +1738,7 @@
 	
 	LogOnSizer = new wxStaticBoxSizer( new wxStaticBox( SystemIntegrationPage, wxID_ANY, _("Actions to Perform when User Logs On") ), wxVERTICAL );
 	
-	StartOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Start TrueCrypt Background Task"), wxDefaultPosition, wxDefaultSize, 0 );
+	StartOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Start RealCrypt Background Task"), wxDefaultPosition, wxDefaultSize, 0 );
 	
 	LogOnSizer->Add( StartOnLogonCheckBox, 0, wxALL, 5 );
 	
@@ -1751,7 +1746,7 @@
 	
 	LogOnSizer->Add( MountFavoritesOnLogonCheckBox, 0, wxALL, 5 );
 	
-	MountDevicesOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Mount all device-hosted TrueCrypt volumes"), wxDefaultPosition, wxDefaultSize, 0 );
+	MountDevicesOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Mount all device-hosted RealCrypt volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 	
 	LogOnSizer->Add( MountDevicesOnLogonCheckBox, 0, wxALL, 5 );
 	
@@ -2503,7 +2498,7 @@
 	sbSizer28 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
 	
 	wxStaticText* m_staticText15;
-	m_staticText15 = new wxStaticText( this, wxID_ANY, _("TrueCrypt volume to mount:"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_staticText15 = new wxStaticText( this, wxID_ANY, _("RealCrypt volume to mount:"), wxDefaultPosition, wxDefaultSize, 0 );
 	m_staticText15->Wrap( -1 );
 	sbSizer28->Add( m_staticText15, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 	
--- truecrypt-6.2a-source.orig/Main/Forms/TrueCrypt.fbp	2009-06-15 06:15:04.000000000 -0400
+++ truecrypt-6.2a-source/Main/Forms/TrueCrypt.fbp	2009-07-10 13:03:47.748052981 -0400
@@ -604,21 +604,6 @@
                         <property name="checked">0</property>
                         <property name="enabled">1</property>
                         <property name="help"></property>
-                        <property name="id">wxID_HELP</property>
-                        <property name="kind">wxITEM_NORMAL</property>
-                        <property name="label">User&apos;s Guide</property>
-                        <property name="name">UserGuideMenuItem</property>
-                        <property name="permission">none</property>
-                        <property name="shortcut"></property>
-                        <property name="unchecked_bitmap"></property>
-                        <event name="OnMenuSelection">OnUserGuideMenuItemSelected</event>
-                        <event name="OnUpdateUI"></event>
-                    </object>
-                    <object class="wxMenuItem" expanded="1">
-                        <property name="bitmap"></property>
-                        <property name="checked">0</property>
-                        <property name="enabled">1</property>
-                        <property name="help"></property>
                         <property name="id">wxID_ANY</property>
                         <property name="kind">wxITEM_NORMAL</property>
                         <property name="label">Online Help</property>
--- truecrypt-6.2a-source.orig/Main/Forms/MainFrame.h	2009-06-15 06:15:04.000000000 -0400
+++ truecrypt-6.2a-source/Main/Forms/MainFrame.h	2009-07-10 13:04:12.727053724 -0400
@@ -127,7 +127,6 @@
 		void OnVolumeButtonClick (wxCommandEvent& event);
 		void OnVolumeDismounted (EventArgs &args) { UpdateVolumeList(); }
 		void OnVolumeMounted (EventArgs &args) { UpdateVolumeList(); }
-		void OnUserGuideMenuItemSelected (wxCommandEvent& event) { Gui->OpenUserGuide (this); }
 		void OnWebsiteMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"website"); }
 		void OnWipeCacheButtonClick (wxCommandEvent& event);
 		void OrganizeFavorites (const FavoriteVolumeList &favorites, size_t newItemCount = 0);

realcrypt-rpm_opt_flags.patch:

--- NEW FILE realcrypt-rpm_opt_flags.patch ---
--- truecrypt-6.2a-source/Makefile.orig
+++ truecrypt-6.2a-source/Makefile
@@ -85,7 +85,7 @@
 
 ifeq "$(TC_BUILD_CONFIG)" "Release"
 
-C_CXX_FLAGS += -O2 -fno-strict-aliasing  # Do not enable strict aliasing
+C_CXX_FLAGS += $(RPM_OPT_FLAGS) -fno-strict-aliasing
 export WX_BUILD_DIR ?= $(BASE_DIR)/wxrelease
 WX_CONFIGURE_FLAGS += --disable-debug_flag --disable-debug_gdb --disable-debug_info
 



--- NEW FILE realcrypt.console.apps ---
USER=root
PROGRAM=/usr/sbin/realcrypt
SESSION=true


--- NEW FILE realcrypt.desktop ---

[Desktop Entry]
Type=Application
Exec=realcrypt
Icon=realcrypt
Comment=On-the-fly encryption
GenericName=On-the-fly encryption
Terminal=false
Name=RealCrypt
StartupNotify=true
Categories=System;


--- NEW FILE realcrypt.pam ---
#%PAM-1.0
auth include config-util
account include config-util
session include config-util


--- NEW FILE realcrypt.spec ---
Name: realcrypt
Summary: Cross platform disk encryption software
Version: 6.2a
Release: 8%{?dist}
License: TrueCrypt License Version 2.7
Group: Applications/File
URL: http://www.truecrypt.org/
# command to generate tarball without spaces in name
# mv TrueCrypt\ %{version}\ Source.tar.gz trueCrypt-%{version}-source.tar.gz
Source0: trueCrypt-%{version}-source.tar.gz
Source1: ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h
Source2: ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h
Source3: ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h
Source4: realcrypt.desktop
Source5: realcrypt.pam
Source6: realcrypt.console.apps
Source7: Readme.txt
# Edited versions of images: license requests that all images be
# replaced in modified versions. These images are re-done completely,
# they share only the same dimensions with the originals. -AdamW
# 2008/08
Source11:	TrueCrypt_Wizard_real.bmp.lzma
Source12:	Textual_logo_96dpi_real.bmp.lzma
Source13:	Textual_logo_288dpi_real.bmp.lzma
Source14:	Drive_icon_96dpi_real.bmp.lzma
Source15:	Drive_icon_mask_96dpi_real.bmp.lzma
Source16:	Logo_288dpi_real.bmp.lzma
Source17:	Logo_96dpi_real.bmp.lzma
Source18:	System_drive_icon_96dpi_real.bmp.lzma
Source19:	System_drive_icon_mask_96dpi_real.bmp.lzma
Source20:	TrueCrypt-16x16_real.xpm.lzma
Source21:	realcrypt_64.png.lzma
Source22:	Textual_logo_background_real.bmp.lzma
Patch1:	realcrypt-rpm_opt_flags.patch
Patch2: realcrypt-6.2a-rebranding.patch
Patch3: realcrypt-no-userguide-menuitem.patch
Patch4: realcrypt-Makefile.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: fuse, pam, usermode, wxGTK >= 2.8.0
BuildRequires: fuse-devel, wxGTK-devel >= 2.8.0
BuildRequires: desktop-file-utils, ImageMagick

%description
Based on TrueCrypt, freely available at http://www.truecrypt.org/.

realcrypt is mainly just a rebrand to allow for modifications to take place,
functionality remains all the same. 

Main Features:
- Creates a virtual encrypted disk within a file and mounts it as a
  real disk.
- Encrypts an entire hard disk partition or a storage device such as
  USB flash drive.
- Encryption is automatic, real-time (on-the-fly) and transparent.
- Provides two levels of plausible deniability, in case an adversary
  forces you to reveal the password:
  1) Hidden volume (steganography).
  2) No RealCrypt volume can be identified (volumes cannot be
  distinguished from random data).
- Encryption algorithms: AES-256, Blowfish (448-bit key), CAST5,
  Serpent, Triple DES, and Twofish. Mode of operation: LRW (CBC
  supported as legacy).

%prep
%setup -q -n truecrypt-%{version}-source
rm -f ./Readme.txt
cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE7} .
%patch1 -p1 -b .realcrypt-rpm_opt_flags
%patch2 -p1 -b .realcrypt-6.2a-rebranding
%patch3 -p1 -b .realcrypt-no-userguide-menuitem
%patch4 -p1 -b .realcrypt-Makefile

# Replace graphics which include the TrueCrypt logo
rm -f `find -name *.bmp`
rm -f ./Resources/Icons/TrueCrypt-16x16.xpm
rm -f ./Resources/Icons/TrueCrypt-48x48.xpm
rm -f ./Release/Setup\ Files/TrueCrypt\ User\ Guide.pdf
lzcat %{SOURCE11} > ./Format/TrueCrypt_Wizard.bmp
lzcat %{SOURCE12} > ./Common/Textual_logo_96dpi.bmp
lzcat %{SOURCE13} > ./Common/Textual_logo_288dpi.bmp
lzcat %{SOURCE22} > ./Common/Textual_logo_background.bmp
lzcat %{SOURCE14} > ./Mount/Drive_icon_96dpi.bmp
lzcat %{SOURCE15} > ./Mount/Drive_icon_mask_96dpi.bmp
lzcat %{SOURCE16} > ./Mount/Logo_288dpi.bmp
lzcat %{SOURCE17} > ./Mount/Logo_96dpi.bmp
lzcat %{SOURCE18} > ./Mount/System_drive_icon_96dpi.bmp
lzcat %{SOURCE19} > ./Mount/System_drive_icon_mask_96dpi.bmp
lzcat %{SOURCE20} > ./Resources/Icons/TrueCrypt-16x16.xpm

%build
sed -i -e 's,TrueCrypt,RealCrypt,g' Main/Forms/Forms.cpp Main/Forms/Forms.h Main/LanguageStrings.cpp
sed -i -e 's,namespace RealCrypt,namespace TrueCrypt,g' Main/Forms/Forms.cpp Main/Forms/Forms.h Main/LanguageStrings.cpp

make \
VERBOSE=1 NOSTRIP=1 %{?_smp_mflags}

%check
./Main/realcrypt --text --test

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_bindir},%{_datadir}/applications,%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps}
install -D -m755 Main/realcrypt $RPM_BUILD_ROOT%{_sbindir}
install -D -m644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/realcrypt
install -D -m644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/security/console.apps/realcrypt
# Icon
lzcat %{SOURCE21} > %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
convert -scale 48 %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
convert -scale 32 %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
convert -scale 16 %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
# create consolehelper link
ln -sf %{_bindir}/consolehelper $RPM_BUILD_ROOT%{_bindir}/realcrypt

desktop-file-install \
  --dir=$RPM_BUILD_ROOT%{_datadir}/applications \
  %{SOURCE4}

%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-, root, root,-)
%doc Readme.txt License.txt
%{_bindir}/realcrypt
%{_sbindir}/realcrypt
%config(noreplace) %{_sysconfdir}/pam.d/realcrypt
%config(noreplace) %{_sysconfdir}/security/console.apps/realcrypt
%{_datadir}/icons/hicolor/*/apps/realcrypt.png
%{_datadir}/applications/realcrypt.desktop


%changelog
* Sun Jul 12 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-8
- replace README.txt
- fix for help menu (link to rpmfusion wiki)

* Fri Jul 10 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-7
- Add patch to remove user guide from menu (patch created by Stewart Adam)
- patch makefile to export APPNAME := realcrypt
- fix description
- add picture to TrueCrypt_Wizard_real.bmp 

* Wed Jul 8 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-6
- rename truecrypt binary

* Wed Jul 8 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-5
- Change source to source0
- fix description
- merge truecrypt changelog

* Sat Jul 4 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-4
- temporary fix for help menu (link to mandriva wiki)
- fix some mistakes in spec file
- merge mandriva spec file by Adam Williamson and rebuild
  branding patch
- add -fno-strict-aliasing to C_CXX_FLAGS in patch

* Fri Jul 3 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-3
- make the recommended changes to the desktop file. 
- change to 48x48 icon and convert it to .png
- add build requires ImageMagick

* Thu Jul 2 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-2
- correct licence version 
- change summary
- add build requires desktop-file-utils

* Tue Jun 30 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2a-1
- update to version 6.2a

* Fri Jun 12 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2-4
- merge spec file from Dominik Mierzejewski (rpm at greysector.net)

* Fri Jun 12 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2-3
- use spec to add pkcs11.h, pkcs11f.h & pkcs11t.h

* Thu Jun 11 2009 Tom Griffiths <linuxtom68 at gmail.com> - 6.2-2
- added PAM authentication support, to alleviate the need for use of sudo

* Thu Jun 11 2009 Leigh Scott <leigh123linux at googlemail.com> - 6.2-1
- update to 6.2

* Sun Dec 7 2008 Leigh Scott <leigh123linux at googlemail.com> - 6.1-1
- update to 6.1 , added pkcs11.h, pkcs11f.h & pkcs11t.h to source

* Thu Jul 10 2008 Leigh Scott <leigh123linux at googlemail.com> - 6.0a-2
- added menu laucher & icon

* Wed Jul 9 2008 Levente Farkas <lfarkas at lfarkas.org> - 6.0a-1
- update to 6.0a

* Tue Feb 19 2008 Levente Farkas <lfarkas at lfarkas.org> - 5.0-1
- update to 5.0a

* Tue Feb 12 2008 Levente Farkas <lfarkas at lfarkas.org> - 5.0-2
- update the build for x86_64 and text mode using Tom Horsley's patches from :
  http://home.att.net/~Tom.Horsley/tah-tc-5.0.tar.gz

* Thu Feb  7 2008 Levente Farkas <lfarkas at lfarkas.org> - 5.0-1
- Update to 5.0



--- NEW FILE realcrypt_64.png.lzma ---
]  € Á	       D”Äz'ö÷Pˆ³ªÕP/¹“9LŽŠáŠv®ìbÒꈵJèÿˆÂá6¢™Í`ÞÝø<$†Q˜"¥ãáJöQïÙÖ°‹úçªSÞD+v×´f·!5\ª!ºâgd·ø}Üì/4RK|cÜ{›|¤¥Ä$á¤çm!û܍xØíÛ(”ßÊàÈü‹µ¨…ù£
ëš©LÏ¢£îñ.¨ˆÛ}Ó˜’à²ð„ê·ØUˆÐ^u[Ù¸ªEÎæóðT ³aƒeØ”+^45ÂÞ†~
o©1
 㖲Ωwøˆ…‘ b+mnÁS~0Šbuä0… ¦ºˆ2):iœqA§Jí*&R™Z AXO§¶•ÊÈeât©bðowÐ}íÁÀ<B5RÍn›©TՖؘ{¹%£È'ÿi¢ß’aÈÜ×Õõ$<ã0Á½öf{ÌNÃü}
&˜¤ax%ÈØIöÖ+W©Çk¼Skœô†xåø»<ùZ.B©¾È3tÓ­´‚rûóX¾ó
µÈ€¬=ž7
ÓA‘e^¡‰"´/(4˜2‹I(
ßü„&ë[@WqIî.€—ùÞ꣢1©©¯‹šT‘¤ïådˆç¹õt$˜¡`æ¥ ²²eSõS29¿UeãlðP#ž$\3kEÝóŸF`·H½íú·²ï÷‘Ò+ݐâo'jòN0kWbRÉžX#;¤š“¯>$yž^ºþÀKÙÂœ~ËÀ«rD(½ì;·=}L6œß	÷?a£á²Rͱ5RÄéåùaG¤f«îk°‰ò¨‹§¬f¿qßfV²[èq&ÿ´¡Ew›Ì(•œ.–sÛ¡8ŒbÈ[GÑÎu{’Zê”4e¶³ÊžBýc	•“ƒæµò °©Pòj„é¦EhÓçY+Ëš 2cO#ˆ,Žô·rKLDäÊ™X<nïEä`±MDÌ$kÇI¾¸·zÍ,/“bþS™¡öÑÇ3·_A÷臦_Ö¯tj_¥½È€Èµµ‡¾èPob6öy¤5ã¤ê£ê¬…ãh¶[™èSÆ—•’¹xW“÷Ú² áù‡mUçV%,rS¹]¶aÎ…ymVÂÓv…JTYè²
ô N8	—¦î¾­‚ñ ŽI_Åk£ýÒ+©5çóKÿuã|Ò~"œÍ;¨?Ü”⍷H	¸ùÜË¶îŒßTc£iœÍŸ2ñÍø®
}ïíj:£Ñ[pXUP½nªpøk6(VQ”QcOÒš'¢Õjv=°œ,ð/è˜þEôKþ"€(&øjSK—>%q­}¹ìyqí7**2¡kÅòü*e÷ŒOÞ­§Û-wš½/Æᆲfƒöd²¡xÙ¤C­æ0hQ&æv²oeO+ F¶šÕgþç¿è…­ñ-cˆ6âYê$ÇŸ–v·Q6|Ü$ÿÔÛJ"’ñ&¢–T•­Ú˜-w=\Äݐhmj4QÌÑš#«úBËÂמ_ª=ñn¥I6~ÃèY}—;l¢Õ‹OLeO;ÜÆš”LG-j·_ùDf‰mÁðKš/ {#Ì=ªó«éÚ^-
c®˜Ö§›LHÉC¬Ç#6 Ȭ”~+¼ þí6ŒÆü¿•_&tìƒeH}·ÚØâ’óaå¥m!çÀෛ߻r’üÑî‡!SìTX/Ïî_&€(k—µZ]ޏ¡hž)ºØÔ§Gh”çÿÅž^; ™z"ݺTÌy#ïÐ:é²ê8,BŸ
'¸©ƒ8ˆ
—î¬ÉBXµ¿ö³Î’›\²Êô®ˆ>åî²ÊÌßwéhg'‰ŸËöö]Ãò¬í Ho¦_ld^ ö'ô®úý/¾Žèæ”áÂ3r˜›À«ÜØ3< P³‘“%hfÒ¼ëÚù©-îþ%¶u;jîLÚqÃuãF RWŽCÉÓÙÚ;ºªq“¢¢j(qÛÍ‹íOÍOË×­S³1&:Op8†±Œ#Ú«¦újAï+æ@ëPKÊ{K	«µŠýsnTLHËëu
{“qxøp+ÑÑ7J›ó7£ö'TÌðUê3â¥ä†ñQ ©íD¯5¾Ï—V²;Dš2Çˏûk9ðgá“#N…x<$ýþƒX•hî§eº!AÁcʍ®™÷|Þ`è‘Ѩ_ǹ=žLìB):¯æ¡Â %òUFÿU’Á‚…[H•m|S1Ô/ÍI3ìç¡(¾‘$5¿ŠAÝßxºªX3?†LÊ«èL”…ŽJÂñ4ôJ`Gø"¬TB$AÄnÅYIø×hï´ ú0c˜Öú%ÞUúþÇv•ÍÜÛÄÕÅ–úÍf´+¾¿ÎAPèp”…ä’v[Â'ÈYÑü¥’·ªo@–õê—Š^WŽÃ
Ë-OäÛ¤"„Tóßv§CÀXŸÈ§ûóé,Þ—Íhy©WF¿ f§aFÄ Å(X^–«±|­D€ä>ïÊóûãÃÔv+ND&Õ¶pyR)Q¿µqb"¾xÜW ‘‡ XYK¡ž±Éj¡§'vTì6Xh+Ïš2$Øyü|D/	ŸâµØxTOÂ)gËM±vžÐ‰ðåÜŒ)÷¹ðjãƒZ§ßÖÌ“”Ž¡J²æáÉÑyö<½_Xƒá=G‚Ü´—æÂZ½Á·h63|U‰ÜL¶dâï­oÚ3fN4‹y<v’,Ä ¼qF‡uºÊ*£„nù}|ßA’1È7º=îSŠ½—®}ùWÝåß­&òÑž½ìãñ8tk#”fƒÙÌâ"-=à§p“, !FæÚdü¶TF‘óŠÌæR²!zª|wÓ´š½«\õ—æYrƦ„‡´BÂwïù"ÛHá;(yÜλXÊÖ<!ƒ²4®÷åe¿øÖe˜\oöY½ad‚ªøªÌŠ¿º yÞfÖߣŸA.÷I·QV×æ˜f¡Å»Õê_¯ã´H#s›FiŸ
ÄhßÀŒ“žE @Ñ¿³Ü¤jðŒúmc„“òu0}·¦”à:´Åć¿%’®›x²™G¥ÖWNR‹–Á©¿Õ»äqħ•šp}ÞÞd²™aºà‚([F:]í]ÕÌO@a0™e#cÍ®XžUç:î’ï{?~÷\äÜõάK'?8ŒfZ©°XgMd\ôž3ðsŽTË9@}Üv6ÔaÔ†!s»Í«;;á¬'rû1Žå¸ˆþÄuQÈÏ.Hý+ÿéÃ:Ò

Index: .cvsignore
===================================================================
RCS file: /cvs/nonfree/rpms/realcrypt/F-11/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	19 Jul 2009 12:05:41 -0000	1.1
+++ .cvsignore	19 Jul 2009 12:41:49 -0000	1.2
@@ -0,0 +1 @@
+trueCrypt-6.2a-source.tar.gz


Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/realcrypt/F-11/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	19 Jul 2009 12:05:41 -0000	1.1
+++ sources	19 Jul 2009 12:41:49 -0000	1.2
@@ -0,0 +1 @@
+42060059d32cd4be66183247cb55be59  trueCrypt-6.2a-source.tar.gz



More information about the rpmfusion-commits mailing list